Determining scheduling priority using fabrication simulation

A method for processing workpieces in a process flow including a plurality of operations includes employing a fabrication simulation model of the process flow to determine an estimated completion time for a selected workpiece. The fabrication simulation model simulates the processing of the selected workpiece and other workpieces in the process flow through the plurality of operations. The priority of the selected workpiece is adjusted based on a comparison between a target completion time for the selected workpiece and the estimated completion time.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable.

Not applicable

BACKGROUND OF THE INVENTION

This invention pertains to automated manufacturing environments, such as semiconductor manufacturing, and, more particularly, to a method and apparatus for determining scheduling priority using discrete event system simulation at the fabrication level.

Growing technological requirements and the worldwide acceptance of sophisticated electronic devices have created an unprecedented demand for large-scale, complex, integrated circuits. Competition in the semiconductor industry requires that products be designed, manufactured, and marketed in the most efficient manner possible. This requires improvements in fabrication technology to keep pace with the rapid improvements in the electronics industry. Meeting these demands spawns many technological advances in materials and processing equipment and significantly increases the number of integrated circuit designs. These improvements also require effective utilization of computing resources and other highly sophisticated equipment to aid, not only design and fabrication, but also the scheduling, control, and automation of the manufacturing process.

Turning first to fabrication, integrated circuits, or microchips, are manufactured from modern semiconductor devices containing numerous structures or features, typically the size of a few micrometers or less. The features are placed in localized areas of a semiconducting substrate, and are either conductive, non-conductive, or semi-conductive (i.e., rendered conductive in defined areas with dopants). The fabrication process generally involves processing a number of wafers through a series of fabrication tools. Each fabrication tool performs one or more of four basic operations discussed more fully below. The four basic operations are performed in accordance with an overall process to finally produce the finished semiconductor devices.

Integrated circuits are manufactured from wafers of a semiconducting substrate material. Layers of materials are added, removed, and/or treated during fabrication to create the integrated, electrical circuits that make up the device. The fabrication essentially comprises the following four basic operations:layering, or adding thin layers of various materials to a wafer from which a semiconductor is produced;patterning, or removing selected portions of added layers;doping, or placing specific amounts of dopants in selected portions of the wafer through openings in the added layers; andheat treating, or heating and cooling the materials to produce desired effects in the processed wafer.

Although there are only four basic operations, they can be combined in hundreds of different ways, depending upon the particular fabrication process.

Efficient management of a facility for manufacturing products, such as semiconductor chips, requires monitoring of various aspects of the manufacturing process. For example, it is typically desirable to track the amount of raw materials on hand, the status of work-in-process and the status and availability of tools and tools at every step in the process. One of the most important decisions in controlling the manufacturing process is selecting which lot should run on each process tool at any given time. Additionally, most tools used in the manufacturing process require scheduling of routine preventative maintenance (PM) procedures and equipment qualification (Qual) procedures, as well as other diagnostic and reconditioning procedures that must be performed on a regular basis, such that the performance of the procedures does not impede the manufacturing process itself.

One approach to this issue implements an automated “Manufacturing Execution System” (MES). An automated MES enables a user to view and manipulate, to a limited extent, the status of tools, or “entities,” in a manufacturing environment. In addition, an MES enables the dispatching and tracking of lots or work-in-process through the manufacturing process to enable resources to be managed in the most efficient manner. Specifically, in response to MES prompts, a user inputs requested information regarding work-in-process and entity status. For example, when a user performs a PM on a particular entity, the operator logs the performance of the PM (an “event”) into an MES screen to update the information stored in the database with respect to the status of that entity. Alternatively, if an entity is to be taken down for repair or maintenance, the operator logs this information into the MES database, which then prevents use of the entity until it is subsequently logged back up to a production ready state.

Although MES systems are sufficient for tracking lots and tools, such systems suffer several deficiencies. Current MES systems largely depend on manufacturing personnel for monitoring factory state and initiating activities at the correct time. One technique for actively affecting the flow of lots through the fabrication process is to assign each lot a priority, which represents the importance assigned to completing the particular lot with respect to all other lots being fabricated. Generally, if multiple lots having different priorities seek to be processed by a particular entity, the lot with the higher priority is scheduled to be processed first. Typically, a particular lot may be expedited by manually increasing its priority, for example, to the highest priority.

Changes to lot priority can affect the production flow, especially the on-time delivery of other lots. Typically, after the priority of a lot is changed, it remains at the new level for the remainder of its fabrication. Hence, changing a particular lot to have the highest priority may result in the lot being completed much earlier than is actually required.

Changing lot priority is identified as a major disruption in the semiconductor Industry. Lots of the highest priority have the following characteristics: they are allowed to reserve downstream tools; they may be manually carried for both inter- and intra-bay transportation; they may have to be batched alone for lots of new technology, or they can be batched alone without waiting for other incoming lots; they may be allowed to break setup (i.e., change the recipe of a particular entity); and they may be allowed to break cascading (i.e., change recipe in a multi-chamber tool causing chamber idle time).

Although the number of lots of highest priority is typically very limited in the fabrication facility, they bring significant impacts to the production flow. For bottleneck tools (e.g. a photolithography stepper), the capacity loss of tool reservations by priority lots is not recoverable. Hence, the reserving of bottleneck tools directly reduces throughput. For batching operations, tool reservations or single lot batches appreciably increases the average cycle time of production lots, as they may have to wait an extended time period (e.g., 12 hours) to get the tool. Such reservations also reduce tool utilization (e.g., a furnace is typically capable of processing six lots simultaneously, but only one priority lot in the same amount of time if a reservation is made). For steppers, priority lots also reserve reticles when reserving the tool, which expands the effect to other tools that may have to unload the reticle sets and experience unnecessary setups. As priority lots break cascading, it reduces the throughput of the overall manufacturing facility as well as increases the fluctuation of production flow.

Hence, changing lot priority is challenging because the effects of changing lot priorities are felt across the whole production environment and have an extended time horizon. In other words, the effects are not instantaneous and can last as long as a few months. Also, the effects of lot priority changes present different issues for different types of tools. Determining lot priorities requires both a global view of the fabrication facility and local views at the tool level to consider their correlation. Further, lot priority should be determined with the consideration of other priority lots and their status.

This section of this document is intended to introduce various aspects of art that may be related to various aspects of the present invention described and/or claimed below. This section provides background information to facilitate a better understanding of the various aspects of the present invention. It should be understood that the statements in this section of this document are to be read in this light, and not as admissions of prior art. The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.

BRIEF SUMMARY OF THE INVENTION

One aspect of the present invention is seen in a method for processing workpieces in a process flow including a plurality of operations. The method includes employing a fabrication simulation model of the process flow to determine an estimated completion time for a selected workpiece. The fabrication simulation model simulates the processing of the selected workpiece and other workpieces in the process flow through the plurality of operations. The priority of the selected workpiece is adjusted based on a comparison between a target completion time for the selected workpiece and the estimated completion time.

Another aspect of the present invention is seen in a system including a plurality of tools and a priority analyzer. The tools process workpieces in a process flow including a plurality of operations. The priority analyzer is operable employ a fabrication simulation model of the process flow to determine an estimated completion time for a selected workpiece. The fabrication simulation model simulates the processing of the selected workpiece and other workpieces in the process flow through the plurality of operations. The priority analyzer adjusts the priority of the selected workpiece based on a comparison between a target completion time for the selected workpiece and the estimated completion time.

DETAILED DESCRIPTION OF THE INVENTION

One or more specific embodiments of the present invention will be described below. It is specifically intended that the present invention not be limited to the embodiments and illustrations contained herein, but include modified forms of those embodiments including portions of the embodiments and combinations of elements of different embodiments as come within the scope of the following claims. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. Nothing in this application is considered critical or essential to the present invention unless explicitly indicated as being “critical” or “essential.”

Referring now to the drawings wherein like reference numbers correspond to similar components throughout the several views and, specifically, referring toFIG. 1, the present invention shall be described in the context of an illustrative manufacturing system10. The manufacturing system10includes a network20, a plurality of tools30-80, a manufacturing execution system (MES) server90, a database server100and its associated data store110, and a priority analyzer120executing on a workstation130.

In the illustrated embodiment, the manufacturing system10is adapted to fabricate semiconductor devices. Although the invention is described as it may be implemented in a semiconductor fabrication facility, the invention is not so limited and may be applied to other manufacturing environments. The techniques described herein may be applied to a variety of workpieces or manufactured items, including, but not limited to, microprocessors, memory devices, digital signal processors, application specific integrated circuits (ASICs), or other devices. The techniques may also be applied to workpieces or manufactured items other than semiconductor devices.

The network20interconnects various components of the manufacturing system10, allowing them to exchange information. Each of the tools30-80may be coupled to a computer (not shown) for interfacing with the network20. The tools30-80are grouped into sets of like tools, as denoted by lettered suffixes. For example, the set of tools30A-30C represent tools of a certain type, such as a chemical mechanical planarization (CMP) tool.

A particular wafer or lot of wafers progresses through the tools30-80as it is being manufactured, with each tool30-80performing a specific function in the process flow. Exemplary processing tools for a semiconductor device fabrication environment include metrology tools, photolithography steppers, etch tools, deposition tools, polishing tools, rapid thermal processing tools, implantation tools, etc. The tools30-80are illustrated in a rank and file grouping for illustrative purposes only. In an actual implementation, the tools30-80may be arranged in any physical order or grouping. Additionally, the connections between the tools in a particular grouping are meant to represent connections to the network20, rather than interconnections between the tools30-80.

The manufacturing execution system (MES) server90directs the high level operation of the manufacturing system10. The MES server90monitors the status of the various entities in the manufacturing system10(i.e., lots, tools30-80) and controls the flow of articles of manufacture (e.g., lots of semiconductor wafers) through the process flow. The database server100stores data related to the status of the various entities and articles of manufacture in the process flow using one or more data stores110. The data may include pre-process and post-process metrology data, tool states, lot priorities, etc.

The MES server90stores information in the data store110related to the particular tools30-80(i.e., or sensors (not shown) associated with the tools30-80) used to process each lot of wafers. As metrology data is collected related to the lot, the metrology data and a tool identifier indicating the identity of the metrology tool recording the measurements is also stored in the data store110. The metrology data may include feature measurements, process layer thicknesses, electrical performance, surface profiles, etc. Data stored for the tools30-80may include chamber pressure, chamber temperature, anneal time, implant dose, implant energy, plasma energy, processing time, etc. Data associated with the operating recipe settings used by the tool30-80during the fabrication process may also be stored in the data store110. For example, it may not be possible to measure direct values for some process parameters. These settings may be determined from the operating recipe in lieu of actual process data from the tool30-80.

The distribution of the processing and data storage functions amongst the different computers90,100,130is generally conducted to provide independence and a central information store. Of course, different numbers of computers and different arrangements may be used. Moreover, the functions of some units may be combined. For example, the MES server90and the priority analyzer120may be combined into a single unit.

As will be described in greater detail below, the priority analyzer120actively determines and updates the priority of various lots processed in the manufacturing system10. The lot priorities are determined using a simulation-based, objective driven approach to determine optimal lot priority based on the required lot delivery times. Generally, the priority analyzer120determines lot priorities considering the current levels of work-in-process (WIP) and other requests at particular operations. Lot priorities are assigned at the highest level necessary to complete the processing by the required delivery time, while keeping the number of highest priority lots within limits and reducing the effects on other lots. Rather than having a fixed priority for all operations, the priority of a given lot may be determined independently for each remaining operation in its fabrication process.

The priority analyzer120employs a fabrication simulation model140of the fabrication facility for determining the effects of priority changes on the estimated completion time of a particular lot. The priority analyzer120is refreshed periodically to retrieve the latest WIP information of the manufacturing system10, including the current operation of particular lots. The priority analyzer120, in turn, refreshes the fabrication simulation model140. The fabrication simulation model140also includes the latest tool availability and production flow information. The fabrication simulation model140may be implemented using commercially available software, such as AutoSched AP™, offered by Brooks Automation, Inc. of Chelmsford, Mass.

The priority analyzer120may be invoked for various reasons, such as after a modification to a target completion time for a lot and/or at predetermined intervals. For example, the priority analyzer120may be invoked whenever a lot completion time is modified and also every 20 minutes.

Referring now toFIG. 2, a simplified flow diagram of a method employed by the priority analyzer120in controlling lot priority is provided. In block200, a particular lot enters an operation (i.e., the next step in its fabrication). In block210, an estimated delay time, d, for the particular lot is calculated based on the difference between the estimated completion time, CE, with its current priority, and target completion time, CT(i.e., to completely fabricate the lot). The estimated completion time is determined using the fabrication simulation model140based on the priority of particular the lot at each operation in view of the other lots being fabricated and their associated priorities. As will be described in greater detail below, the fabrication simulation model140models detailed interactions between tools30-80and lots, including the effects of tool reservations and lot processing selections.

In block220, if the delay time is positive (i.e., the particular lot is behind schedule with respect to its target completion time), the particular lot is given the highest possible priority for that operation. Generally, a positive delay time denotes a lot that is behind schedule and a negative delay time indicates a lot that is ahead of schedule. The particular number of priority levels may vary depending on the particular embodiment. Exemplary priority levels, in order of increasing priority, include standard, low, medium, high, and highest. For each priority level, with the exception of standard priority, the priority analyzer120maintains a limit value that defines the number of lots that may be assigned the particular priority.

If the capacity of a particular priority level exceeds the predetermined limit in block240, the priority of the particular lot is lowered in block250, and the limit check for the particular lot at the next lower priority is repeated in block240. The limit checking performed in blocks240and250is repeated until a priority level with available capacity is identified.

In block260, the estimated completion time of the current operation, CO, is determined based on the priority assigned in block240, and the delay time, d, is updated based on the recovered time, d′. The priority analyzer120evaluates the next operation for the particular lot in block280by repeating the process ofFIG. 2to attempt to further reduce the delay time by adjusting the priorities for subsequent operations.

Returning to block220, if the delay time is less than a threshold, T, the lot priority may be reduced in block295. Because the delay time is negative, the lot is ahead of schedule and its priority may be lowered to allow other lots that are behind schedule to recover additional time. Also, lowering the lot priority to reduce its earliness reduces negative impacts to other lots, as the lot may no longer require tool reservations. The particular threshold value may vary depending on the particular implementation. For example, the threshold may be set at one hour, one shift, one day, one week, etc. The value is set to provide stability, such that a lot that is ahead of schedule can transfer some of its priority to another lot that is behind, but not so low as to cause the adjusted lot to fall back behind or to oscillate between being ahead and being behind. The threshold value also helps reduce the number of priority turnovers. Since lots of highest priority need a special cassette, adjusting lots to or from the highest priority require manually moving wafers to a wafer sorter to transfer wafers to or from the special cassette. Reducing the number of turnovers will improve the efficiency and reduce the dedicated human resources. The estimated completion time of the current operation, CO, is determined in block260based on the priority assigned in block295, and the delay time, d, is updated based on the lost time, d′ (i.e., d′ is negative).

The priority determination illustrated inFIG. 2generally allows the priority analyzer120to adjust priorities of various lots to shift priority from lots that are ahead of schedule to those that are behind schedule. The fabrication simulation model140considers all the entities in the manufacturing system10, and by nature, will evaluate the correlation with other priority lots within the same simulation run.

The use of the fabrication simulation model140allows the priority analyzer120to consider detailed tool modeling, such as the effects of reserving downstream tools30-80. For example, when a priority lot enters a new operation, the priority analyzer120refreshes the remaining schedules for the lot and then looks at all future operations. For each future operation with idle tools30-80, if the next estimated available time of an idle tool30-80after starting a new lot is beyond the estimated arrival time of the priority lot, the tool30-80is reserved. Similarly, for a particular tool30-80, the priority analyzer120, evaluates its relation with incoming priority lots when the tool30-80is available. If the tool30-80cannot be available when the priority lot arrives, it will not process its next lot and will remain idle to wait for the priority lots.

The following examples describe reservation rules that may be applied to priority lots or tools30-80processing priority lots. These rules typically take precedence over normal scheduling rules employed to make processing decisions, including batch rules, setup rules, etc. As these normal rules are well known to those of ordinary skill in the art, they are not detailed further herein for ease of illustration and to avoid obscuring the instant invention. Also, the following examples of reservation techniques may be performed for individual tools30-80, individual lots, or to multiple tools30-80or lots simultaneously. The language employed below is not intended to limit the scheduling techniques to any particular scope of coverage.

FIG. 3illustrates a tool reservation technique incorporated into the logic of the fabrication simulation model140for simulating the operation of the manufacturing system10. In block300, a particular lot enters an operation. As indicated above, the method ofFIG. 3may be implemented for multiple lots simultaneously. In block305, an estimated start time for the lot (i.e., when the lot is available) is determined using the fabrication simulation model140, and the schedules for the lots are updated in block310.

In block315, the estimated availability times, A(M), of all tools30-80capable of performing the required operation are determined, and the estimated arrival time, T, at operation (N) is determined in block320. The metric T-A(M) represents the time difference between the arrival time of the lot and the availability time of the tool30-80. In block325, the tools30-80are sorted in ascending order of T-A(M), and the subset of tools30-80with positive values of T-A(M) is selected in block325(i.e., those tools30-80that are available before the arrival of the lot). If the subset of available tools30-80is empty in block335(i.e., no tools38-80are available), no reservation is made in block340.

Given the subset of available tools30-80is not empty in block335, M1is designated as the first tool in the subset in block345. Hence, M1represents the tool that becomes available closest to the time that the lot is ready for the operation. Even though the tool is the first available, there still might be time available for the tool38-80to process a different lot prior to the arrival of the lot seeking to make a reservation. The time necessary to process another lot is designated as PT. In block350, the metric, T-A(M) MOD PT (i.e., where MOD represents the modular division or modulo remainder function), is determined and the subset is sorted in ascending order of this metric. The resultant order represents the tools30-80that will be available when the lot is ready to be processed but still have time to process one or more lots. Sorting the subset in ascending order orders the tools30-80with the least dead time between the processing of another lot and the arrival of the subject lot.

If at least one tool30-80has a positive values of T-A(M) MOD PT in block355, the first tool with a positive value of T-A(M) MOD PT is reserved in block360. If no tools30-80have positive values of T-A(M) MOD PT in block355, the default tool, M1, is reserved (i.e., the tool30-80available closest to the arrival time of the lot). The method terminates in block370after the reservations completed in blocks360or365.

Turning now toFIG. 4, a simplified flow diagram of a method modeled by the fabrication simulation model140and implemented for one of the tools30-80for selecting the next lot to process when the tool30-80becomes available and is in the path of lots designated as priority lots.

A tool30-80becomes available in block400. If the tool30-80is not on the path of any priority lots (i.e., priority>non-critical) in block405, no reservation is created in block410, and the method terminates. If no priority lots are identified, normal scheduling rules are applied to determine which lot(s) to process next.

If the tool30-80is in the path of priority lots in block405, those lots without reservations (i.e., within the station family for the needed operation) are identified in block415, and the estimated arrival times of the priority lots, A(L), are determined using the fabrication simulation model140in block420. In block425, the estimated completion time, C, for the tool30-80if it were to process a different lot is determined.

The metric C-A(L) represents the time difference between when the tool30-80is available after processing a different lot and the arrival times of the priority lots. In block430, the priority lots are sorted by ascending order of C-A(L), where the first lots in the sorted list represents the lot with the least amount of time difference between the lot arrival and the tool completion time. If at least one of the lots has a positive C-A(L) value in block435, a reservation for the first lot with a positive value is made in block440, and the method terminates in block445.

If none of the lots has a positive C-A(L) value in block435, the lots are assorted by arrival time, A(L), in block450, and a reservation for the first arriving lot is made in block455. Again, the method terminates in block445.

The reservation rules illustrated inFIGS. 3 and 4attempt to reduce the impact of reservations made for priority lots on the other lots being fabricated by identifying the scenarios with the least amount of tool idle time between lot arrival and tool availability. These rules are incorporated into the fabrication simulation model140, and thereby allow the priority analyzer120to more efficiently simulate the estimated completion times for comparison to the target completion times, as illustrated inFIG. 2. The priority adjustment technique illustrated inFIG. 2cooperates with the reservation rules illustrated inFIGS. 3 and 4to attempt to allow priority lots to be finished in accordance with their target completion times, while also attempting to minimize the disruption of the processing flow for other, non-priority lots. The priority of a lot that is behind schedule may be increased automatically by the priority analyzer120, but only to the level that is required to make up the delay time. As the lot or other lots gain or lose time, their relative priorities can be automatically adjusted to increase the likelihood of all of them getting completed on time. These techniques increase the utilization and efficiency of the manufacturing system10, thereby increasing throughput and profitability.