Abstract:
A method for managing flow of containers over asynchronous conveyors used in semiconductor automated material handling systems (AMHS) is defined. The method includes providing a conveyor and enabling travel of a first container in a first direction on the conveyor and enabling travel of a second container in a second direction on the conveyor. The second direction being toward the first direction. The method also includes determining a destination of the first and second containers along the conveyor (e.g., such as a load port). The method then directions one of the first or second containers to reverse its direction to enable one of the first or second containers to arrive to its destinations. The directing acts to minimize travel or wait time of the first or second containers on the conveyor belt. The directing enables higher throughput on the conveyor and enables more than one container to travel on the conveyor at the same time.

Description:
CLAIM OF PRIORITY 
       [0001]    The present application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Patent Application No. 61/043,383, filed Apr. 8, 2008, which is incorporated by reference in its entirety for all purposes. 
       CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0002]    This application is related to U.S. application Ser. No. 11/484,218 (ASTGP135), which is incorporated in its entirely by reference herein. 
     
    
     BACKGROUND 
       [0003]    There are several ways that semiconductor wafer containers are transported in a semiconductor fabrication facility (“fab”). A system for transporting a container is often referred to as an Automated Material Transport System (“AMHS”) or simply as a material transport system. A material transport system may refer to a part or all of the overall system. A fab may use only one type of AMHS throughout the fab, or there may be different types of AMHS in certain areas, or different types of AMHS for different transportation functions. Some of these AMHS types use vehicles to hold the container as it is being transported, such as a rail guided vehicle (RGV) or an automated guided vehicle (AGV). Material transport systems utilizing RGVs or AGVs require managing empty vehicles to arrange their arrival at sites where containers are to be picked up. Waiting for the arrival of such vehicles causes AMHS delays and the management of the vehicle movement increases the complexity of the AMHS. The same issues exist when moving containers with an Overhead Hoist Transport (OHT) system. 
         [0004]    Conveyor systems are more efficient at moving containers within a fab without any, or a minimum number of, vehicle delays, and do not have to manage empty vehicles. Conveyors directly move the containers without any material or mechanical interface that comes between the conveyor surfaces and the container surfaces. Unless the conveyor is full, it is capable of immediately receiving a container for transport. For these, and other, reasons, conveyors may provide a very high throughput AMHS. 
         [0005]    It would be advantageous to provide a conveyor system that improves the performance of a conventional conveyor and reduces the costs of AMHS conveyor systems. The present invention provides such a conveyor. 
       SUMMARY 
       [0006]    Asynchronous conveyors as used in semiconductor Automated Material Handling Systems (AMHS) in factories are constructed from numerous zones that are mechanically capable of transport of a carrier in either direction. In practice, users choose to run them in one direction only to avoid the possibility of deadlock conditions. For a single branch of one-directional track this results in the need to move all carriers in one direction to be “cleared.” 
         [0007]    In applications, such as sorting, where test wafers are used in transactions for multiple jobs on the same machine, the carrier containing the test wafers must be returned by non-continuous conveyor means. This could be an OHT which picks it up from the “downstream” end and returns it to the “upstream” end, or an expensive alternate routing of conveyor. 
         [0008]    Currently the algorithms that control the directionality of the conveyor change the entire conveyor unit direction at one time. This can lead to long delays for individual jobs. 
         [0009]    The embodiments of the present invention define an algorithm (method) for administering bidirectionality in regions of zones on a conveyor, where said regions are redefined periodically based on pairwise analysis of adjacent carriers. The method is scalable and generic, and the method can be used identically for any single-branch topology of any size with any number of intermediate destinations. 
         [0010]    Advantages include, for example but without limitations, quick changes of directionality in local regions, avoiding excessive wait time for a carrier sitting waiting for conveyor direction change (access), and can resolve all possible cases of pairwise interaction so no deadlock conditions can results. Also, it is noted that any “bucket-brigade” with autonomous sections that are individually bidirectional, such as a set of robots in a row, say direct EFEM-to-EFEM handoff of wafers, could also use this algorithm. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    The invention, together with further advantages thereof, may best be understood by reference to the following description taken in conjunction with the accompanying drawings. 
           [0012]      FIGS. 1-10  define examples of containers traveling along a direction of a conveyor, and destined for destinations, and enabling simultaneous use of the conveyor by more than one conveyor, in accordance with examples of the present invention. 
       
    
    
     DESCRIPTION 
       [0013]    Embodiments of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention. 
         [0014]    To describe a system of logical control for carriers moving on a conveyor, allowing carriers to move in opposing directions simultaneously. That conveyor is made up of independently controllable zones, each able to move in either direction. The goal of this motion is to deliver carriers to various entities (tools, stockers, ports, etc.) able to remove them from the conveyor. 
         [0015]    The conveyor control is handled at several different levels, each making different types of decisions. L EVEL  1 actually moves the foups, being concerned with directional regions and avoiding collisions. L EVEL  2 resolves adjacent carrier-pair interactions by defining regions and instructing carriers to move to other regions. L EVEL  3 is concerned with assigning carriers to destination entities and communicating with those destination entities. All logic and decision making in this system is handled by the conveyor. 
       Terminology 
     Downstream/Upstream 
       [0016]    One direction of movement is defined as the typical (default) direction, the way things normally will flow. This is designated the downstream direction, and carriers moving downstream will typically have priority over those moving upstream, the opposite direction, although other priority-setting functions are possible. 
       Holding Area 
       [0017]    The conveyor needs access to at least one holding area to temporarily store carriers. This could be a position in a buffer, a spur line of conveyor, or anything else that can move a carrier so it does not block the main conveyor line. 
       Jurisdiction 
       [0018]    The conveyor&#39;s jurisdiction (span of control) includes all carriers on the conveyor itself, as well as any carriers temporarily stored in a holding area provided for the conveyor&#39;s use. 
       Region 
       [0019]    To help resolve conflicts on the conveyor, the conveyor is divided into a number of regions. In each region, all movement is restricted to either one direction or the other, with no opposing movement allowed, and with no carrier movement into or out of the region allowed. These regions are dynamically defined by  LEVEL  2 as needed. 
       Carrier Information 
       [0020]    The conveyor stores information about each carrier, describing its current state with regards to the conveyor. Carrier information fields are shown in a monospaced font herein. These informational fields are: 
         [0021]    location 
         [0022]    end destination 
         [0023]    current destination 
       Control Levels 
       [0024]    Level 3 
         [0025]    L EVEL  3 is in charge of communication with the factory controllers and destination entities (tools, stockers, etc.) attached to the conveyor. It queries the factory controllers and destination entities to find out which carriers they are requesting. It then considers each carrier in the conveyor&#39;s jurisdiction, looking for unallocated carriers matching the request criteria. It then allocates as many of those carriers as needed to the requesting tool. 
         [0026]    Allocating a carrier to a tool includes setting the carrier&#39;s end destination to the conveyor position connected to that tool. 
         [0027]    Level 2 
         [0028]    L EVEL  2 looks at the carriers in the conveyor&#39;s jurisdiction, sequentially considering adjacent pairs of carriers at a time, their locations and end destinations on the conveyor (see  FIG. 1 ). In the mathematical equations comparing carriers A and B, “&lt;” refers to “upstream”, subscript “p” refers to Present position zone. and subscript “d” refers to Destination position zone. 
         [0029]    All adjacent carrier-pair interactions can be described as one of six behavioral cases. Sample illustrations of each are provided below; illustrations of all possible combinations appear at the end of the document. 
         [0030]    The Trivial Cases
       1) Both carriers are moving in the same direction (See  FIG. 2 ).       
 
         [0032]    (A p &gt;=A d    AND  B p &gt;=B d )  OR  (A p &lt;=A d    AND  B p &lt;=B d )
       2) The carriers are moving away from each other (See  FIG. 3 ).       
 
         [0034]    A d &lt;=A p    AND  A d &lt;B p    AND  B d &gt;=B p    AND  B d &gt;A p  
       3) The carriers are moving towards one another, but stopping short of each other&#39;s destinations (See  FIG. 4 ).       
 
         [0036]    A p &lt;=A d    AND  B p &gt;=B d    AND  A d &lt;B d    
       The Region-Resolvable Cases 
       [0000]    
       
         
           
             4) One carrier&#39;s entire path from location to destination is fully circumscribed by the location and destination of the other (See  FIG. 5 ). 
           
         
       
     
         [0038]    (A p &lt;B d    AND  B p &lt;=A d    AND  B p &gt;B d )  OR  (B p &gt;A d    AND  A d &gt;A p    AND  B d &lt;=A p )
       5) The carriers are headed towards one another, but must overlap paths to reach their destinations, both of which already lie in the area between the two carriers (see  FIG. 6 ).       
 
         [0040]    A p &lt;B d    AND  A d &gt;=B d    AND  A d &lt;B p    
       The Region-Unresolvable Case 
       [0000]    
       
         
           
             6) The carriers are headed towards one another, but their destinations are outside the area between the two carriers (See  FIG. 7 ). 
           
         
       
     
         [0042]    B d &lt;=A p    AND  B p &lt;=A d    
         [0043]    L EVEL  2 examines each pair of adjacent carriers and assigns them to one of these six cases as appropriate. It then defines regions of exclusive directionality on the conveyor to allow these cases to resolve themselves. After any carrier moves from one region to another (or is removed from the conveyor jurisdiction), these regions are reevaluated. To resolve these six cases, regions are defined as follows:
       1-3) No region control is needed. Carriers are already able to proceed to their destinations with no changes to region directionality definition.   4) L EVEL  2 defines a region around the inner carrier and its destination to prevent the outer carrier from interfering (until the inner carrier reaches its destination and the regions are reassigned) (See  FIG. 8 ).   5) One of the carriers must be allowed to move, while the other is prevented from moving. To do so,  LEVEL  2 defines a region around one carrier and its destination. Ordinarily, the carrier moving downstream will be given priority in this resolution, but other priority functions could be applied (such as considering lateness of delivery, etc.) (See  FIG. 9 ).   6) This case in unresolvable by any combination of autonomous regions, so the carriers must be moved by other means. Two methods of resolution present themselves:
           a) Sending one or both carriers to a holding area.   b) Having one or both carriers back up (that is, move in the opposite direction from its destination) on the conveyor until the pairwise interaction no longer belongs to case  6 .   
               
 
         [0050]    Both of these methods are implemented (temporarily) by redefining the carriers&#39; current destinations, either to the holding area, or to a conveyor position that causes the carrier to back up. Additional considerations could help decide which approach is more efficient in a given circumstance. 
         [0051]    In addition, if the conveyor is currently storing carriers in the holding area,  LEVEL  2 attempts to move them out. To see if release is possible, it considers the held carrier as if it were on the conveyor, at the position where the holding area would deposit it, provided that that position is not currently occupied. Then  LEVEL  2 considers the carrier&#39;s pairwise interactions, favoring the held carrier over carriers still on the main conveyor. If this evaluation results in allowing movement of the held carrier, that carrier&#39;s current destination is set to the conveyor loading position of the holding area, and the carrier is released from the holding area. For each carrier in the conveyor&#39;s jurisdiction,  LEVEL  2 has assigned it a current destination. That destination is the same as the carrier&#39;s end destination unless the carrier is or was part of a case  6  pairwise interaction. 
         [0052]    Level 1 
         [0053]    L EVEL  1 only deals with carriers actually on the conveyor, not those in the holding area. It looks at the locations and current destinations of each carrier to see if it can move. Its goal is to move the carrier one step closer to its current destination. 
         [0054]    It moves the carrier one step if the following conditions are both true: 
         [0055]    1) The regions set by  LEVEL  2 allow such a movement. 
         [0056]    2) The (intermediate zone) space being moved into is currently unoccupied. 
       GLOSSARY OF SELECTED TERMS 
       [0057]    Zone: smallest moveable unit of the conveyor. May be a straight zone or a “turn” 
         [0058]    Turn: Zone of conveyor that allows directionality change. May have more than one choice of exit 
         [0059]    Region: convex (connected) collection of zones that are assigned by the  LEVEL  2 algorithm controller to be monodirectional until the next reassignment of that region 
         [0060]    Carrier: Any payload on the conveyor or container. 
         [0061]    FOUP: Special case of carrier; Front Opening Unified Pod 
         [0062]    End Destination Entity (usually a tool or stocker) that removes the carrier from the conveyor jurisdiction, or can insert it into the conveyor jurisdiction. 
         [0063]    Tool: Entity that performs a function on the contents of a carrier 
         [0064]      FIG. 10  shows example Illustrations of Possible Pair Interactions, without limitations to other permutations or combinations. 
         [0065]    As previously discussed, the conveyors can include integrated networked communications. These communications allow individual conveyor segments to be controlled by a computer system via a network. The computer system can also execute software that allows individual FOUPs to be transported and tracked stopped at load ports, stackers, or while on the conveyors. 
         [0066]    The invention may be practiced with other computer system configurations including computing devices, hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. The invention may also be practiced in distributing computing environments where tasks are performed by remote processing devices that are linked through a network. For instance, on-line gaming systems and software may also be used. 
         [0067]    With the above embodiments in mind, it should be understood that the invention may employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, determining, or comparing. 
         [0068]    Any of the operations described herein that form part of the invention are useful machine operations. The invention also relates to a device or an apparatus for performing these operations. The apparatus may be specially constructed for the required purposes, such as the carrier network discussed above, or it may be a general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations. 
         [0069]    The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium may be any data storage device that can store data, which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, FLASH based memory, CD-ROMs, CD-Rs, CD-RWs, DVDs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code may be stored and executed in a distributed fashion. 
         [0070]    Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims. In the claims, elements and/or steps do not imply any particular order of operation, unless explicitly stated in the claims. 
         [0071]    What is claimed is: