1. Field of the Invention
The present invention relates generally to the field of transport systems and more particularly to prioritizing or assuring the timely delivery of articles therewith.
2. Description of the Prior Art
In semiconductor and other fabrication facilities there is a significant advantage to transporting work in process material at higher speeds throughout the facility while maintaining a high transport capacity with timely and predictable delivery times. There may also be an advantage to designating the transport of some material as having a higher priority than the transport of other material.
In semiconductor fabrication facilities particularly, semiconductor wafers are transported inside a carrier, called a FOUP, which is an acronym for Front Opening Unified Pod. The FOUP can be transported, for example, on a high speed device such as that disclosed in U.S. Pat. No. 7,281,623 issued on Oct. 16, 2007 and entitled “Transport System Including Vertical Rollers.” In that patent, a system is disclosed that can move FOUPs at high speeds supported between moving transport belts. As the FOUP approaches the vicinity of a next step in the process flow, the FOUP is transferred to a buffer location, to another transport mechanism, or directly to process or metrology equipment.
An exemplary system for transporting articles comprises a conveyor system and a computing system. The conveyor system includes a plurality of conveyors arranged to transport articles between multiple destinations and also includes a plurality of nodes at which articles can be transferred between conveyors. The computing system is configured to select, based on a priority level assigned to an article, a route for the article through the conveyor system to a destination. In various embodiments, a node of the plurality of nodes can include a turntable or an elevator. A conveyor of the plurality of conveyors can comprise two vertical belts, in some embodiments. Further, the conveyors of the plurality of conveyors can be arranged in a plurality of layers, and in some of these embodiments a layer of the plurality of layers can comprise a transport layer or a buffer layer, for example.
An exemplary method of the invention is directed to routing a first article having a priority level through a conveyor system. The exemplary method comprises determining for the first article a primary delivery route through the conveyor system to a destination, determining a second article that can be rerouted or delayed, the second article having a priority level lower than the priority level of the first article, and estimating a delivery time to deliver the first article to the destination by conveying the first article along the primary delivery route in a scenario in which the second article is rerouted or delayed. The exemplary method can also comprise delivering the first article to the destination by conveying the first article along the primary delivery route. The exemplary method can further comprise comprising simulating the delivery of the first article to the destination before delivering the first article to the destination.
In some embodiments of the exemplary method, determining the primary delivery route includes checking a database for an optimal route, while in other embodiments determining the primary delivery route includes executing a routing algorithm to find the optimal route. Determining the second article that can be rerouted can include, in some instances, determining that a score for rerouting the second article is less than a score for routing the first article. Delivering the first article can include rerouting the second article, in some embodiments. The exemplary method can also comprise determining a third article that can be rerouted, where the third article has a priority level lower than the priority level of the first article, and estimating a delivery time to deliver the first article to the destination by conveying the first article along the alternate delivery route in a scenario in which the third article is rerouted.
The present invention further provides a computer readable medium having stored thereupon computing instructions. The computing instructions comprise a code segment to determine for a first article a primary delivery route through a conveyor system to a destination, a code segment to determine a second article that can be rerouted, the second article having a priority level lower than the priority level of the first article, and a code segment to estimate a delivery time to deliver the first article to the destination by conveying the first article along the primary delivery route in a scenario in which the second article is rerouted.
The code segment to determine the primary delivery route, in some instances, includes a code segment to check a database for an optimal route, while in other instances the code segment to determine the primary delivery route includes a code segment for a routing algorithm to find the optimal route. In some embodiments of the computer readable medium, the computing instructions further comprise a code segment to determine a score for routing the first article and a score for rerouting or delaying the second article. In some of these embodiments, the code segment to determine the second article that can be rerouted or delayed includes a code segment to compare the score for routing the first article to the score for rerouting or delaying the second article. In other instances, the code segment to determine the score for routing the first article and the score for rerouting or delaying the second article is configured to determine the respective scores by multiplying a value representing a priority level for each article by a weighting factor.
The present invention is directed to systems and methods for transporting articles, such as flat panel displays and semiconductor wafers within FOUPs, throughout a fabrication facility. According to the present invention, the articles can be assigned varying degrees of priority, and the articles can be moved more or less expeditiously to their destinations based on these priority levels. Overall system efficiency is improved by minimizing cycle times, by assuring that articles arrive at intended destinations within desired time windows, and by assuring that articles arriving at an intended destination arrive in a desired sequence. To achieve these goals, the present invention provides a conveyor system that allows for alternative routing choices by including alternate routes such as parallel conveyors and nodes where articles can be switched between conveyors, the use of a hoist to bypass congested conveyor portions, or the use of buffering to hold traffic of lower priority. Accordingly, high priority articles can be routed around traffic by switching between parallel conveyors and/or lower priority articles can be rerouted or delayed to make a route less congested. Methods are provided for selecting the most appropriate route for an article amongst the various routing alternatives to increase overall efficiency and to optimize the delivery of articles according to assigned priorities.
In
The additional conveyors 112, 114 are disposed above the conveyors 108, 110 in
The fabrication facility additionally comprises a conveyor 122 for conveying FOUPs 106 along the length of the area 102 and to and from the conveyors within the central corridor 100. In some embodiments, a mechanism such as a hoist 124 is used to transfer FOUPs 106 between the conveyor 122 and the equipment 104. Exemplary mechanisms for transferring FOUPs 106 between the conveyor 122 and the equipment 104 are described in U.S. application Ser. No. 11/983,353 filed on Nov. 7, 2007 and entitled “Integrated Overhead Transportation System with Stationary Drive.”
The fabrication facility additionally comprises a computing system 126. The computing system 126 communicates with the process and metrology equipment 104 and the transport system device controllers that control the various conveyors and associated transfer mechanisms to implement methods of the invention described below. Aspects of the computing system 126 are described in more detail with respect to
In the embodiment illustrated by
Any of the turntables 210, 212, 214 can be configured with an elevator that will allow a FOUP 106 to be moved vertically to another conveyor in a higher or lower layer than the illustrated layer. Any of the turntables 210, 212, 214 can also be replaced by other FOUP 106 transfer mechanisms. Other suitable transfer mechanisms are described in U.S. application Ser. No. 11/897,013 filed on Aug. 27, 2007 and entitled “Conveyor Transfer System.”
As noted above with respect to the conveyors in the central corridor 100 (
In some embodiments, one or more layers of conveyors are used to transport FOUPs 106 into and out of the aisle, while another layer of conveyors is provided for buffering FOUPs 106. If the equipment 104, or a hoist 310 configured to service the equipment 104, are not immediately ready to receive a FOUP 106 that is brought into the aisle in a transport layer 320, the FOUP 106 may be transferred to a buffer layer 330 where the FOUP 106 can be held until the equipment 104 is available. The FOUP 106 can be transferred between transport layer 320 and buffer layer 330, for example, with an elevator (not shown) configured to raise and lower a turntable 450. FOUPs 106 held in the buffer layer 330 will not interfere with the transport of FOUPs 106 in the transport layer 320. When a FOUP 106 is to be retrieved from the buffer layer 330, the FOUP 106 may be moved to a buffer transfer port 340 for a hoist 310 to pick up and deliver to the equipment load port 300. In one alternative embodiment of the invention, the transport layer 320 is disposed below the buffer layer 330.
As shown in
An exemplary method of selecting a route for a FOUP through a semiconductor fabrication facility is illustrated by the flowchart in
The method shown in
In a step 504 a determination is made of a primary route from the source to the destination. The determination can be made by checking a database or by executing a routing algorithm that can find the shortest route, in various embodiments. While in some instances the primary route that is determined in step 504 comprises a physical path through the conveyor system, it will be appreciated that the primary route can also comprise a timing element, as well. In some embodiments, the primary route also specifies for the FOUP a scheduling slot the route. Scheduling slots are also referred to as time slices herein, and an exemplary time slice is 15 seconds.
Next, in a step 506, a primary delivery time is estimated for the primary route. The primary delivery time may be estimated by calculating the distance to be traveled multiplied by an average expected speed, for example. The average expected speed may be a set constant or can be determined based on the current or expected volume of traffic on the primary route. The primary delivery time may also be estimated by more complex methods that model the delivery times for the individual conveyors and other components of the primary route. For the purposes of such modeling, or for making a determination of the average expected speed, the amount of traffic already on, or expected on, the primary route can be determined.
In a step 508, a determination is made as to whether or not the primary delivery time is acceptable. This determination can be made by comparing the primary delivery time to a desired arrival time. The desired arrival time can be provided by a scheduling algorithm, in some embodiments. In other instances, each level of priority is associated with a range of acceptable transport times or a maximum acceptable transport time. Thus, the desired arrival time for a FOUP with an assigned priority level can be determined by cross-referencing the priority level against a table. If the primary delivery time meets the desired time, then the primary delivery time is acceptable and the transport movement of the FOUP according to the primary route is executed in a step 510.
On the other hand, if the primary delivery time is not acceptable, then an alternate route from the source to the destination may be determined in a step 512. As in step 504, the determination can be made by checking the database or by executing the routing algorithm to find the next shortest route, in various embodiments. Due to traffic or other such problems, the alternate route may include the use of buffer conveyors in the transport or buffer layers, as described above.
If an alternate route is available, then in step 514 a secondary delivery time is calculated for the alternate route as described above with respect to step 506. A determination is then made in a step 516 as to whether or not the secondary delivery time is acceptable as described above with respect to step 508. If the secondary delivery time meets the desired time, then the secondary delivery time is acceptable and the transport movement of the FOUP according to the secondary route is executed in a step 518.
If the secondary delivery time is not acceptable, then steps 512-516 can be repeated until either an acceptable route is found, all alternate routes have been tested, or a threshold number of iterations through steps 512-516 has been met. If no acceptable alternate route is found then in a step 520 a determination can be made as to whether rerouting one or more FOUPs would make a delivery time for the primary or any alternate routes acceptable.
In some embodiments, FOUPs considered for rerouting are those FOUPs having lower assigned priority levels. Rerouting a FOUP can comprise, for example, moving the FOUP onto a buffer conveyor or onto another transport conveyor. Rerouting a FOUP can also comprise holding a FOUP from entering the transport system until after the higher priority FOUP has passed. In some embodiments, step 520 includes identifying and resolving specific instances of routing conflicts between FOUPs, as discussed further below.
In a step 522 another primary delivery time is calculated for the primary route as described above with respect to step 506, but in this instance taking into account the proposed rerouting of certain FOUPs. A determination is then made in a step 524 as to whether or not the newly calculated delivery time is acceptable as described above with respect to step 508. If acceptable, the transport movement of the FOUP according to the primary route along with the rerouting of the certain FOUPs are executed in a step 526. If not acceptable, a determination can be made in a step 528 as to whether to repeat steps 520-524 with a previously considered alternate route. In some embodiments, the determination to repeat steps 520-524 is made so long as previously identified alternate routes have not yet been tested with rerouting. In other embodiments, if a threshold number of alternate routes have already been tested with rerouting, a determination not to repeat steps 520-524 is made. If no acceptable combination of an alternative route with rerouting of certain FOUPs exists, then the best option amongst the options previously deemed unacceptable is selected and the movement of the FOUP, and the rerouting of certain other FOUPs, if beneficial, is executed in a step 530.
Referring again to step 520, if low priority FOUPs are rerouted to allow a higher priority FOUP to reach a destination more rapidly, a traffic jam can result much like a presidential limousine and entourage can cause a traffic problem when given priority over regular traffic in an urban rush hour. To prevent this, some embodiments of the invention include systems and methods of accommodating a higher priority FOUP with reduced effect on other traffic.
For instance, in some embodiments, a score is calculated for each FOUP movement, where a FOUP movement represents the act of transporting a FOUP to a destination such as process or metrology equipment. The scores can then be used to evaluate routing decisions in step 520. The score for a FOUP can simply be a function of the priority level for the FOUP, or can be further modified based on various considerations. In one example, 10 points are allotted to any FOUP assigned the highest priority. If a process or metrology equipment will sit idle until the FOUP arrives, then the 10 points assigned to the FOUP is multiplied by a weighting factor that represents the length of time the equipment will be idle or the cost of having the equipment sit idle. These weighting factors may be dependent on the particular equipment and/or the overall load and capacity of the particular equipment and/or the expected impact on facility output.
Continuing with the example above, a weighting factor for a particular equipment at a particular time is given a value of 10. In this case, the 10 points assigned to the FOUP to designate the highest priority level are multiplied by the weighting factor of 10 to determine an overall score for the FOUP movement of 100. When a potential route to deliver this FOUP is evaluated in step 520, any FOUP movement scoring less than 100 points along the route under evaluation can be considered for rerouting. Any FOUP movement scoring 100 points or more would not be considered for rerouting.
To prevent traffic jams of the sort mention above, in some embodiments, the sum of the scores of any proposed rerouted FOUP movements cannot exceed the score of the FOUP movement being evaluated. Thus, a 100 point FOUP movement will take priority over two 40 point FOUP movements but would not take priority over two 90 point FOUP movements or over six 20 point FOUP movements.
In addition to the cost of having equipment sit idle, weighting factors can also be based on a cost of having a FOUP wait. The score for a FOUP movement, therefore, can be calculated in some embodiments by multiplying the points assigned to the FOUP to designate priority by a weighting factor based on the wait time. While a weighting factor can simply be proportional to the wait time, the weighting factor may also be adjusted to take into account that the cost of having a FOUP 106 wait may be a function of the availability schedule of equipment. For example, the cost of having a FOUP wait is reduced if the destination equipment is already in use and will still be unavailable when the FOUP arrives after the proposed wait. Certain equipment may be designated as bottleneck equipment, whose capacity has more direct impact on the factory output and therefore preventing this equipment from being idle will be given a higher weighting. Such costs may be calculated for a number of time slices in the future, and weighting factors can be dependent upon the costs as a function of time. Additionally, it will be understood that calculating a score for a FOUP movement is not limited to multiplying together a number of points for a priority level by every weighting factor, but can alternatively include, for instance, adding the products of the priority points with several weighting factors.
In some embodiments, determining whether a FOUP should be rerouted in step 520 can include adjusting the score of the FOUP movement for that FOUP to account for the costs of rerouting that FOUP. It will be appreciated that a cost analysis can be incorporated into the method illustrated by
To further improve the system wide performance, the system may determine if a lower priority FOUP or FOUP movement in the route of a higher priority FOUP will actually impact the delivery time of the priority FOUP. In some embodiments, this is accomplished by examining a plurality of pending FOUP movements in a database, analyzing the pending FOUP movements by time slice, and locating route intersections. In some embodiments, when two FOUP routes are predicted to interfere, the lower priority FOUP movement can be diverted to another route or kept on the same route but either sped up or delayed to avoid the predicted conflict. In some embodiments, speeding up or delaying a FOUP can be accomplished by moving the FOUP into a different time slice for the route. In some embodiments, a simulation of the real system is created to determine the routes' intersections. The simulation can then be re-run with the lower priority FOUP movements rerouted to verify that new conflicts have not been created.
Prior to initiating a FOUP movement, the transport system controller 605 may send the system state 674 (e.g., the current system status and current movement command queue) to a simulation controller 640 that may be a second instance of the transport system controller 605 and is provided to perform simulations. The simulation controller 640 may include a copy of the controller logic (e.g., software) and/or a copy of the controller hardware (e.g., processor and/or firmware). The simulation controller 640 is connected to a network of simulators 645, 650, 655 of the transport system device controllers 610, 615, 620. While the simulators 645, 650, 655 can be complete duplicates of the transport system device controllers 610, 615, 620, the simulators 645, 650, 655 can instead be merely copies of the device control programs being executed by the transport system device controllers 610, 615, 620. Accordingly, the simulators 645, 650, 655 need not be spatially separate as suggested by
Since the simulators 645, 650, 655 do not control actual devices, the simulators 645, 650, 655 are instead connected to device emulation programs 660, 665 and 670. The device emulation programs 660, 665, 670 accept the motor and digital output commands from the simulators 645, 650, 655 and respond with status replies and digital output data that precisely emulate the actual transport mechanisms.
After a simulation of a FOUP movement has been completed, the simulation controller 640 can output a simulation report 675. The simulation report 675 can be a simple pass/fail indication, a summary of conflicts or near-conflicts that would occur if the FOUP movement were to actually be performed, or a detailed representation of the positions of the various FOUPs 106 as a function of time. The simulation report 675 can be transmitted back to the transport system controller 605 so that the transport system controller 605 can either initiate the proposed FOUP movement or propose a different FOUP movement back to the simulation controller 640. The simulation report 675 can also be used as feedback to validate the accuracy of the simulation.
By constructing the simulation environment to operate at a higher speed than the actual environment, the simulation report 675 may be obtained quickly so that the results therein can be used by the transport system controller 605 or other factory control systems or personnel to make better decisions. A variety of different time slices may be useful depending on factors such as the number of FOUP movements currently in process or in the queue, or the length of time required to complete those movements. In the event that events in the actual system do not match those estimated by the simulation, an early warning of system problems may be generated.
In alternative embodiments, simulation of system performance is performed using a distributed approach. In some of these embodiments, each routing element of a distributed system has a local controller responsible for a portion of the system. Each local controller is aware of the FOUPs 106 that are intended to enter that portion as input and configured to estimate when those FOUPs 106 will leave the portion as output. The local controller can then predict when each FOUP 106 will be delivered as output and communicate that information to another local controller for a neighboring portion that will receive the FOUP 106. Though a full series of these communications each local controller will then build a full list of the FOUPs 106 that are expected through the next number of minutes, for example two, five, 10, or 20 minutes. Then, if central scheduling computer 600 wishes to send a new FOUP 106 along a route, then each local controller along the route can be given a request to schedule the new FOUP 106 with a given priority. As each local controller stores this reservation and calculates an output time, that local controller can check for any conflicts to other reservations. Such conflicts can then be reported to the transport system controller 605 for resolution. Alternatively, the local controller could act to give the proper movement priority and notify subsequent local controllers of the updated reservation times for any effected FOUPs 106.
In the foregoing specification, the invention is described with reference to specific embodiments thereof, but those skilled in the art will recognize that the invention is not limited thereto. Various features and aspects of the above-described invention may be used individually or jointly. Further, the invention can be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. It will be recognized that the terms “comprising,” “including,” and “having,” as used herein, are specifically intended to be read as open-ended terms of art.
This application is a continuation-in-part of U.S. application Ser. No. 11/764,755 filed on Jun. 18, 2007 and entitled “Conveyor System Including Offset Section” which is a continuation-in-part of U.S. application Ser. No. 11/406,569 filed on Apr. 18, 2006 and entitled “Transport System Including Vertical Rollers,” now U.S. Pat. No. 7,281,623 issued on Oct. 16, 2007, which claimed the benefit of U.S. Provisional Application No. 60/840,169 filed on Aug. 25, 2006 and entitled “High Speed Transporter Including Horizontal Belt,” U.S. Provisional Application No. 60/805,085 filed Jun. 18, 2006 and entitled “High Capacity Delivery with Priority Handling,” and U.S. Provisional Application No. 60/805,084 entitled “Pulley and Belt Profiles for Transport System Including Vertical Rollers” and also filed on Jun. 18, 2006. This application is also related to U.S. application Ser. No. 11/897,013 filed on Aug. 27, 2007 and entitled “Conveyor Transfer System;” U.S. application Ser. No. 11/983,353 filed on Nov. 7, 2007 and entitled “Integrated Overhead Transportation System with Stationary Drive;” and U.S. application Ser. No. 11/764,161 filed on Jun. 15, 2007 and entitled “Transport System including Vertical Rollers.” Each of the aforementioned applications is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11764755 | Jun 2007 | US |
Child | 12002850 | US | |
Parent | 11406569 | Apr 2006 | US |
Child | 11764755 | US |