Method for scheduling a semiconductor back-end factory
Optimizing the bottleneck load and conversion scheduling of back-end semiconductor factories through mathematical planning models, solving the problems of complex factory operation and supply chain requirements, and achieving optimization of production efficiency and lead time.
Patent Information
- Application Number
- CN201980023151.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-10
- Filing Date
- 2019-03-18
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2039-03-18
AI Technical Summary
The existing technology cannot effectively run complex back-end semiconductor factories and cannot meet strict supply chain requirements and product lead times, resulting in increased production efficiency and lead times.
Mathematical planning model is used to optimize the factory's bottleneck load planning and conversion scheduling, and model is established through linear planning or mixed integer planning, identify the load and conversion time of the bottleneck machine series, and then establish batch scheduling to optimize the production process.
Improves factory production efficiency, reduces the number of conversions, ensures on-time delivery of products, optimizes key processing indicators (KPIs), and reduces cycle time.
Smart Images

Figure CN111919183B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate generally to improving operations of back-end semiconductor factories, and more particularly to techniques for controlling a scheduling system of a back-end semiconductor factory. Background Art
[0002] Manufacturing facilities in many different industries are responsible for producing products used in various aspects of life. For example, in the case of semiconductor manufacturing, semiconductor manufacturing facilities manufacture products that are ubiquitous in daily life (e.g., microprocessors, memory chips, microcontrollers, and other semiconductor devices). These semiconductor devices are used in a variety of applications, examples of which include automobiles, computers, household appliances, cellular phones, etc. In recent years, the number of applications and the demand for devices (including semiconductor devices) have steadily increased. This increase in demand has prompted manufacturing facilities to become increasingly aware of increasing product variety and reducing delivery times.
[0003] Each manufacturing environment is unique and extremely complex, often requiring significant capital for the necessary equipment, tools, facilities, etc. Because manufacturing is so capital intensive, even small increases in plant performance (e.g., building on demand, reducing the time from order to delivery, etc.) can have a large impact on financial performance (e.g., reducing costs through leaner manufacturing, freeing up funds associated with idle inventory, etc.). For this reason, many manufacturing facilities have implemented planning systems in their facilities to ensure complex planning for providing just-in-time delivery of products.
[0004] In the past, semiconductor back-end factories for product assembly and test were simple enough to run efficiently without requiring a lot of work. Often, planning could be performed using simple Excel spreadsheets and manually generated schedules (if they were established). However, this is changing rapidly. Back-end processing is becoming more complex (for example, re-entry processes are now common), so the simple processes that worked in the past are no longer able to run the factory efficiently. At the same time, advances in supply chain optimization require factories to have stronger needs to meet externally specified due dates. Current processes can neither run the factory efficiently nor meet the new and stringent supply chain requirements.
[0005] What is needed is an improved method for planning and scheduling the back end of a factory. Summary of the invention
[0006] One or more embodiments presented herein may provide a technique for planning and scheduling a factory backend. The technique begins by running a first mathematical programming model applied to factory data and production targets to generate a model solution, and processing the model solution to generate a bottleneck load plan for at least one machine of a bottleneck machine series of the factory. The technique further includes the following steps: running a second mathematical programming model applied to the bottleneck load plan to generate a model solution, and processing the model solution to generate a conversion schedule for at least one machine of the bottleneck machine series. The technique further includes the following steps: establishing a batch schedule for the factory by running a simulation that follows the conversion schedule. The technique further includes the following steps: publishing a batch schedule. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In order to make the above features of the present disclosure understood in detail, a more specific description of the present disclosure (the brief summary is as above) can be obtained by reference to embodiments, some of which are illustrated in the accompanying drawings. However, it should be noted that the accompanying drawings only illustrate typical embodiments of the present disclosure and are not to be construed as limiting the scope of protection of the present disclosure, which may allow other equivalent embodiments.
[0008] Figure 1 A block diagram illustrating an architecture of a manufacturing environment configured using a planning and scheduling system according to an embodiment of the present disclosure is shown.
[0009] Figure 2 A block diagram illustrating a planning and scheduling system.
[0010] Figure 3 A flow chart illustrating a method for planning and scheduling a factory back end.
[0011] To facilitate understanding, like reference numerals in the various figures designate like components whenever possible. In addition, it is contemplated that components disclosed in one embodiment may be beneficially utilized on other embodiments disclosed herein without specific recitation. DETAILED DESCRIPTION
[0012] A scheduling system is provided for planning and scheduling a semiconductor back-end factory. The front end is the part of manufacturing that performs wafer-level work, while the back-end work is performed at the chip and module level. The front-end and back-end factories can be located in the same or different locations. Although the embodiments of the present disclosure are generally about back-end factories, those skilled in the art will appreciate that the scheduling system disclosed herein can also be used to manage front-end factories. It should be noted that, for convenience, terminology related to the manufacture of semiconductor devices is used in most of the following descriptions as reference examples of manufacturing production processes that can be planned / scheduled using the techniques presented herein. Similarly, many of the following embodiments use back-end semiconductor manufacturing facilities as reference examples of the type of manufacturing environment in which the techniques presented herein can be used to provide and implement a scheduling system.
[0013] Embodiments presented herein may include techniques for generating batch schedules that can be issued to a scheduling system of a back-end factory. Batch scheduling determines the time when each batch is processed and the machine that processes the batch. Alternatively, the technology generates a list of batches to be processed by each machine and when each batch starts. To achieve this, a back-end factory planning and scheduling system adopts a method of scheduling semiconductor assembly and test facilities using mathematical optimization. The method divides scheduling into three stages: establishing a bottleneck load plan, establishing a conversion schedule that identifies when to perform machine conversion, and establishing a batch schedule. The system uses a planning module to establish and optimize bottleneck load planning. The planning module takes factory demand, factory performance data (e.g., units per hour, machine capacity and quantity, target machine utilization, etc.) as input. The planning module uses, for example, linear programming (LP) or mixed integer programming (MIP) to establish a mathematical programming model. The model is run to generate a model solution, which is processed to generate a bottleneck load plan for each of the bottleneck machine series of the factory. The plan includes what should be processed on each of the machines in one, two, or more series of bottleneck machines. Bottleneck load planning specifies which products a bottleneck series (machine) should process within a given time interval. In one example, bottleneck load planning optimizes on-time delivery of products and minimizes the number of required conversions. Bottleneck load planning can optimize other key processing indicators (KPIs) (e.g., a list of preferred products processed on a specified machine, etc.). The bottleneck load planning is fed to the conversion module, which is optimized to provide on-time delivery of products and evenly distribute the conversions within a specified time period. The conversion module uses, for example, linear programming (LP) or mixed integer programming (MIP) to establish a mathematical programming model. The model is run to generate a model solution, which is processed to generate a conversion schedule for each machine, including the time of each conversion and the number of each step of the factory process to be processed for each conversion. This data is fed to the batch scheduling module, which runs a simulation and uses the conversion schedule to establish a batch schedule published to the factory scheduling system.
[0014] Figure 1A block diagram of an architecture of a manufacturing environment (or system) 100 in which various aspects of the present disclosure may be implemented is shown. In one embodiment, the manufacturing environment 100 is an example of a semiconductor front-end or back-end manufacturing facility. As shown, the manufacturing environment 100 includes a computing system 110, a manufacturing execution system (MES) 150, an enterprise resource planning (ERP) system 120, a factory storage system 160, an external storage system 170, an operational storage 180 connected via a network 122, and other factory CIM systems 190 (e.g., a product lifecycle management system). Typically, the network 122 may be a wide area network (WAN), a local area network (LAN), a wireless LAN (WLAN), etc. The factory storage system 160, the external storage system 170, and the operational storage 180 may generally be any type of storage system, including, for example, relational and / or hierarchical databases, distributed file systems, network attached storage (NAS), storage area networks (SAN), etc. In one embodiment, computing system 110 , MES 150 , and ERP system 120 may be any type of physical computing system with a network interface (eg, desktop computers, laptop computers, mobile devices, tablet computers, server computing systems, gateway computers, and the like).
[0015] The computing system 110 may include a memory 142, a central processing unit (CPU) 144, and a user interface 140. The memory 142 may have data and applications stored therein. For example, the memory 142 may store planning data for use by a user. The memory 142 may also store applications (e.g., planning applications and / or scheduling applications) configured to implement one or more operations for running on the CPU 144. The planning application may generate a plan for the manufacturing environment 100. For example, in the case of semiconductor manufacturing, a user may generate a plan for determining whether the capacity of the manufacturing system can meet demand, what changes (if any) the manufacturing system should implement to meet demand, future project outputs of the manufacturing system, which products the manufacturing system produces, where the products are produced, how much of the products are produced, running experiments to determine the operations the manufacturing system should perform, etc. The scheduling application may generate a schedule for the manufacturing environment 100. For example, in the case of semiconductor manufacturing, a user may generate a transformation schedule for each machine, including the time of each transformation and the number of each step of the factory process to be processed for each transformation.
[0016] The MES 150 is typically configured to manage and control the operation of current work in process (WIP) within the manufacturing environment 100. However, it should be understood that other systems may be configured to manage data sources and operations in the manufacturing environment. The planning and scheduling generated on the computing system 110 can be loaded into memory, manufacturing equipment, MES 150, or other suitable locations for organizing the needs in the planning completed by the MES 150. For front-end semiconductor manufacturing plants, the MES 150 can control one or more processes related to the manufacture of semiconductor substrates. For back-end semiconductor manufacturing plants, the MES 150 can control one or more processes related to the cutting, assembly, and testing of semiconductor dies on substrates. The MES 150 can monitor the operation of one or more tools (or equipment) operating in the manufacturing environment 100, receive data directly from the tools, receive data from the ERP system 120, analyze data from the tools and the ERP system 120, and / or collect data. In one embodiment, the MES 150 can store the data (received from the tools) in the factory storage system 160. Such information stored in the factory storage system 160 may include information regarding current WIP, the number of tools in the manufacturing environment, operating parameters of the tools (e.g., processing speed, capacity load, and the like), manufacturing data, and other metadata characteristics of the manufacturing environment 100.
[0017] The ERP system 120 is configured to collect, store, manage, and interpret data related to resources within a manufacturing environment (e.g., amounts of money, raw materials, production capacity, etc.), current and future commitments within a manufacturing environment (e.g., orders, projected sales, delivery dates, etc.), information related to supply chain management (e.g., information describing the movement and storage of raw materials, WIP inventory, finished goods quantities, financials, and other information related to the flow of goods and services from suppliers to end consumers), and the like. In one embodiment, some or all of this information may be stored in the plant storage system 160, the ERP system 120, or other suitable storage device. Collective information about a large number of parts associated with a customer commitment is represented by a single demand. The collective demand is organized to form a plan.
[0018] The MES 150 can be configured to include information for planning and scheduling the factory back end. The planning and scheduling information provided by external and internal systems for planning and scheduling factory utilization ensures that various customer needs are met in a timely manner. Alternatively, the planning and scheduling system can be included in an external system or other suitable location. Demand is planned and scheduled based on commitments to be met and machine utilization. The MES 150 can utilize the planning and scheduling system ( Figure 2 Project 200 in the simulation to simulate and schedule factory production.
[0019] Figure 22 is a block diagram of a planning and scheduling system 200. The planning and scheduling system 200 has a planning module (PM) 210, a conversion module (CM) 220, a batch scheduling module (LM) 230, and a scheduling system (DS) 240. PM 210, CM 220, and LM 230 can all be connected by a block-based (drag-and-drop) workflow engine. The internal operations of PM 210, CM 220, LM 230, and DS 240 can also adopt a block-based workflow. The workflow includes a pattern of business activities that are achieved by systematically organizing resources into processes that convert materials, provide services, or process information. The workflow depicts the sequence of steps required to create a plan, create a schedule, and publish the schedule for manual use by an operator or automatic use by the scheduling system 240. This includes collecting data from ERP system 120, MES 150, etc., and converting the data into the format required by the system, establishing an optimization model for planning or conversion scheduling, solving the model, processing the results into a planning or conversion schedule, establishing a simulation model, using the conversion schedule in the simulation model, running the simulation model, processing the results into a batch schedule, and publishing the batch schedule to the scheduling system. The timing of various events (e.g., establishing a new plan or schedule) is also included in the workflow. In general, PM 210, CM 220, and LM 230 can be connected by any suitable workflow engine.
[0020] PM 210 determines the factory plan. Planning module 210 uses a block-based workflow to take factory data and production targets from the current state of factory 205 as input. This data may include product demand (e.g., customer orders for integrated circuits, wafers, modules, etc.), material availability, equipment capacity, equipment output (UPH), and many other parameters. The current state of the factory may include at least one of weekly planning, factory parameters, and work in progress (WIP). WIP includes at least one of current WIP and WIP used in the arrival of raw materials.
[0021] PM 210 may develop a bottleneck load plan 215 for optimizing equipment utilization and / or optimizing on-time delivery and other KRPs. Additionally, PM 210 may prioritize requirements when determining the bottleneck load plan 215. The bottleneck load plan 215 is a list of due dates for requirements (e.g., customer orders) at the end of a specified time period. In an example, the specified time period may be a day, a few days, a week, a month, etc. The factory parameters include information identifying at least one bottleneck equipment group, equipment information including test qualifications, processing speed, routing, and at least one of conversion information. The bottleneck load plan 215 may be configured using a block-based data processing language.
[0022] PM 210 develops bottleneck load planning 215 for at least one machine of one or more bottleneck equipment series. The bottleneck tool used in this article refers to a tool that cannot be improved by improving other tools in the factory. The load planning used in this article refers to what the factory produces in a given time period (e.g., 1 day, 1 week, etc.). The bottleneck load planning used in this article is a plan for what is produced by the bottleneck tool in a given time period. Equipment series refers to a group of identical or similar tools from the same manufacturer used to execute planning in a given time period. The bottleneck load planning 215 can view the units processed every day, shift, half a day, or at other time intervals, and develop a plan for the utilization rate of each piece of equipment. PM 210 does not determine which series are bottlenecks, but determines how these bottlenecks should work given a list of bottlenecks. PM 210 runs a first mathematical programming model applied to factory data and production targets to generate a model solution, and processes the model solution to generate a bottleneck load planning 215 for at least one machine of the bottleneck machine series of the factory. The mathematical programming model may be, but is not limited to, a mixed integer programming (MIP) model, a mixed integer quadratic programming (MIQP) model, and a linear programming (LP) model. The planning module 210 may be run at a certain frequency as conditions in the factory change. For example, equipment is offline, orders are being completed or have not yet been completed, or the bottleneck load plan 215 becomes old due to time. The bottleneck load plan 215 determines the amount of time spent on each conversion, and determines how much of each product should be produced during each conversion. PM 210 may output the bottleneck load plan 215 to CM 220.
[0023] CM 220 follows the bottleneck load plan. CM 220 takes the bottleneck load plan 215 from PM 210 as input and outputs a changeover schedule 225 indicating when to perform machine changeovers 225 to achieve the changeover schedule of at least one machine of the bottleneck machine series of the factory. When to perform machine changeovers 225 includes the time of each changeover and the number of each step in the production process to be processed before each changeover. CM 220 runs a second mathematical programming model applied to the bottleneck load plan 215 to generate a model solution, and processes the model solution to generate a changeover schedule 225 for at least one machine of the bottleneck machine series. The changeover schedule 225 includes the time of each changeover and the number of each step of the factory process to be processed before each changeover. The changeover schedule 225 includes when to perform at least one machine changeover. The generation of the changeover schedule 225 can be configured in a block-type data processing language.
[0024] Changeover scheduling maximizes on-time delivery, minimizes changeover times, minimizes cycle time, and optimizes other KPIs. Changeover scheduling can evenly distribute changeovers over a specified time period. Changeover scheduling dictates when machine changeovers are performed to achieve the changeover schedule for each machine.
[0025] LM 230 takes the conversion schedule 225 and outputs a batch schedule 235 for the entire plant, the batch schedule 235 including at least an identifier for each machine in the plant and the corresponding start and end times for each batch of each machine in the entire plant within each time period. The batch schedule 235 can also split a single batch to be processed simultaneously on more than one machine. This splitting can be controlled using a block-based simulation configuration. The batch schedule 235 is fed to the scheduling system DS 240. LM 230 creates the batch schedule 235 by running a simulation that follows the conversion schedule 225. The batch schedule 235 indicates the amount of each product processed on each bottleneck tool within a specified time period. The production of the batch schedule 235 can also be configured using a block-based data processing language (e.g., to select the next batch to be processed on the machine).
[0026] The scheduling system (DS) 240 attempts to follow the detailed batch schedule 235 provided by the LM 230. The DS 240 handles exceptions, such as unexpected stops of equipment or other manufacturing interruptions (e.g., unavailability of raw materials required for an operation). The DS 240 can provide and / or analyze real-time feedback on maintaining the detailed batch schedule 235. In one example, the DS 240 can sample real-time factory data, compare the factory data to the detailed batch schedule 235, and provide temporary adjustments to the detailed batch schedule 235. The block-based workflow can be configured to receive events from the factory (e.g., machine stoppages). When an event is received, the workflow can collect factory data and regenerate or adjust the batch schedule 235 based on the data. In another example, the above-mentioned tasks to be performed related to the DS 240 following the detailed batch schedule 235 can be performed manually by an operator.
[0027] All of these operations can be performed in a workflow and can be configured by the end user. The batch schedule 235 can be automatically regenerated or re-optimized based on a certain amount or threshold deviation from the existing batch schedule 235. The deviation can be based on the deviation of each line, each tool, or the entire manufacturing environment. In addition, DS 240 can perform incremental schedule correction, recent additional ordering / theft, and detection of temporary bandwidth. Alternatively, DS 240 can sample real-time factory data, compare the factory data with the detailed batch schedule 235, and provide notifications to LM 230. For example, DS 240 can provide a notification to LM 230 after the change in the detailed batch schedule 235 exceeds a threshold. After receiving the notification, LM 230 provides the updated detailed batch schedule 235 to DS 240.
[0028] Figure 3Flowchart 300 is a diagram illustrating a method for planning and scheduling a factory backend. At block 310, the planning and scheduling system 200 extracts factory data and production targets 205 from the current state of the factory using a block-based workflow. The current state of the factory includes at least one of a plan, factory parameters, and work in progress (WIP). The WIP includes at least one of current WIP and WIP used in raw material arrivals. The factory parameters include at least one of identifying at least one bottleneck equipment group, equipment information including test qualifications, processing speed, routing, and conversion information.
[0029] At block 320, the planning and scheduling system 200 runs a first mathematical programming model applied to the plant data and the production target to generate a model solution, and processes the model solution to generate a bottleneck load plan 215 for at least one machine of the bottleneck machine series of the plant. The bottleneck load plan 215 includes the number of processes per day. The bottleneck load plan 215 minimizes the number of transitions by imposing one or more soft constraints on the maximum number of transitions within each time period.
[0030] At block 330, the planning and scheduling system 200 runs a second mathematical programming model applied to bottleneck load planning to generate a model solution, and processes the model solution to generate a conversion schedule for at least one machine of the bottleneck machine series. The conversion schedule 225 identifies the time of each conversion and the number of each step of the factory process to be processed before each conversion. The conversion schedule 225 indicates when to perform at least one machine conversion. The conversion schedule 225 maximizes on-time delivery, minimizes the number of conversions, minimizes cycle time, and can optimize other KPIs. The conversion schedule 225 can evenly distribute the conversion within a given time period. The mathematical programming model can be a MIP optimization model that further models individual machines and models the number of products processed. One or more outputs of the conversion schedule 225 established include the number of products processed by each bottleneck step within each time period on each machine, and the time spent for each conversion within each time period on each machine. The conversion schedule 225 indicates when to perform machine conversion to achieve the conversion schedule of each machine of the factory within a certain time interval. The at least one indication of when to perform machine changeovers includes the time of each changeover and the quantity of each step in the production process to be processed prior to each changeover.
[0031] At block 340, the planning and scheduling system 200 establishes a batch schedule 235 for the factory by running a simulation that follows the conversion schedule 225. The simulation tool is also applied to the conversion schedule 225 and the bottleneck load planning 215 to establish the batch schedule 235. The batch schedule 235 includes the identifier of each machine in the factory and the corresponding start time and end time of each batch of each machine in the entire factory within a specified time period. The batch schedule 235 includes the amount of each product processed on each tool in the entire factory within the specified time period. The batch schedule 235 can also split a single batch to be processed simultaneously on more than one machine. This splitting can be controlled using a block-based simulation configuration.
[0032] At block 350, the planning and scheduling system 200 issues a batch schedule 235. The batch schedule may be processed by the factory's scheduling system 240 or manually by an operator. The batch schedule 235 indicates the quantity of each product to be processed on each bottleneck tool throughout the factory within a specified time period.
[0033] Next, back-end semiconductor processing is performed according to the lot schedule 235, thereby producing assembled and tested integrated circuit (IC) packages from the semiconductor wafers in a more efficient manner.
[0034] Descriptions of various embodiments of the present disclosure are presented for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements over technologies found in the marketplace, or to enable other persons skilled in the art to understand the embodiments disclosed herein.
[0035] It will be appreciated by those skilled in the art that various aspects of the present disclosure may be embodied as systems, methods, or computer program products. Therefore, various aspects of the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or a combination of software and hardware embodiments, which may generally be referred to herein as a "circuit," "module," or "system." In addition, various aspects of the present disclosure may take the form of a computer program product in one or more computer-readable media having a computer-readable program code contained thereon.
[0036] Any combination of one or more computer readable media may be used. A computer readable medium may be a non-transitory computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer readable storage media would include the following: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any physical medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus.
[0037] Program code embodied on a computer-readable medium may be transmitted using any appropriate media, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0038] Computer program code for performing operations of various aspects of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages (e.g., Java, C#, Smalltalk, C++, or the like) and traditional programming languages (e.g., the "C" programming language or similar programming languages). The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0039] Aspects of the present disclosure are described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present disclosure. It should be understood that each block of the flowchart and / or block diagram and the combination of blocks in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device establish a means for implementing the functions / actions specified by the blocks in the flowchart and / or block diagram.
[0040] Computer program instructions may also be stored in a computer-readable medium and may instruct a computer, other programmable data processing equipment, or other devices to act in a specific manner, so that the instructions stored in the computer-readable medium produce a manufactured product including instructions for implementing the functions / actions specified by the blocks in the flowchart and / or block diagram.
[0041] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions, and operations of the system, method, and computer program product according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a section, or a part of an instruction including one or more executable instructions for implementing the specified logical function. In some alternative embodiments, the functions mentioned in the blocks may not occur in the order illustrated in the accompanying drawings. For example, depending on the functions involved, the two blocks illustrated in the continuous diagram can actually be executed substantially simultaneously or in parallel, or these blocks can sometimes be executed in the opposite order. It should also be noted that each block illustrated in the block diagram and / or flowchart and the combination of the blocks illustrated in the block diagram and / or flowchart can be implemented by a hardware-based dedicated system that performs a specific function or action or performs a combination of dedicated hardware and computer instructions.
[0042] Advantageously, the method described herein establishes batches for machine planning and scheduling for a semiconductor manufacturing environment. Scheduling reduces changeover times by resolving factory bottlenecks for machines, and can provide on-time delivery for each batch, increase overall production, reduce cycle time, and optimize other KPIs, etc. Batch allocations are pre-allocated to machines or to multiple machines based on priorities, available resources, and other manufacturing constraints. Scheduling can be simulated to determine future batch processing. Because deviations occur in the schedule that allow further optimization, the schedule is monitored in real time to implement changes therein. In addition, real-time monitoring of the schedule during a selected time period allows for further optimization by examining periods of high and low production for processing improvements. Further, an embodiment enables a computer to automatically establish a schedule, which previously could not be automatically established by a computer.
[0043] Notwithstanding the foregoing with respect to embodiments of the present invention, other and further embodiments of the disclosure may be devised without departing from the basic scope of the disclosure, and the scope of the disclosure is determined by the following claims.
Claims
1. A method for improving a factory back end, comprising the following steps: executing a first mathematical programming model to generate a first model solution, the first mathematical programming model being applied to data associated with a plant and a production target, the production target comprising a time period including at least one week; processing the first model solution to generate a bottleneck load plan for at least one machine of a set of bottleneck machine series, wherein the bottleneck load plan minimizes a number of transitions; running a second mathematical programming model to generate a second model solution, wherein the second mathematical programming model is applied to the bottleneck load planning; processing the second model solution to generate a changeover schedule for the at least one machine of the set of bottleneck machine families, wherein the changeover schedule evenly distributes changeovers over the time period; establishing a batch schedule for the plant by running a simulation following the changeover schedule, the batch schedule identifying a start time and an end time for the at least one machine and indicating a quantity of product to be processed on the at least one machine during the time period; and Publish the batch schedule.
2. The method of claim 1, wherein the bottleneck load planning identifies when to process a machine switch.
3. The method of claim 1, wherein the changeover schedule identifies the time of each changeover and the quantity of each step of the factory process to be processed before each changeover.
4. The method of claim 1, wherein the batch schedule includes at least an identifier of each machine in the factory and a corresponding start time and end time of each batch within each time period.
5. The method of claim 1, wherein the second mathematical programming model further models a group of equipment or individual workpieces of equipment and models the number of products processed.
6. The method of claim 1, wherein the changeover schedule includes the number of products processed by each machine of the bottleneck machine series within a specified time period and the time spent in each changeover within the specified time period.
7. A system for improving a factory back end, the system comprising: at least one processor; and A memory containing a program that, when executed by the at least one processor, performs operations comprising the steps of: executing a first mathematical programming model to generate a first model solution, the first mathematical programming model being applied to data associated with a plant and a production target, the production target comprising a time period including at least one week; processing the first model solution to generate a bottleneck load plan for at least one machine of a set of bottleneck machine series, wherein the bottleneck load plan minimizes a number of transitions; running a second mathematical programming model to generate a second model solution, wherein the second mathematical programming model is applied to the bottleneck load planning; processing the second model solution to generate a changeover schedule for the at least one machine of the set of bottleneck machine families, wherein the changeover schedule evenly distributes changeovers over the time period; establishing a batch schedule for the plant by running a simulation following the changeover schedule, the batch schedule identifying a start time and an end time for the at least one machine and indicating a quantity of product to be processed on the at least one machine during the time period; and Publish the batch schedule.
8. The system of claim 7, wherein the bottleneck load plan identifies when to process a machine switch.
9. The system of claim 7, wherein the changeover schedule identifies the time of each changeover and the quantity of each step of the factory process to be processed before each changeover.
10. The system of claim 7, wherein the batch schedule includes at least an identifier of each machine in the factory and a corresponding start time and end time of each batch within each time period.
11. The system of claim 7, wherein the second mathematical programming model further models groups of equipment or individual pieces of equipment and models the number of products processed.
12. A non-transitory computer readable medium comprising computer program code, which when executed by a processor performs operations for improving a factory back end, the operations comprising: executing a first mathematical programming model to generate a first model solution, the first mathematical programming model being applied to data associated with a plant and a production target for the plant, the production target comprising a time period including at least one week; processing the first model solution to generate a bottleneck load plan for at least one machine of a set of bottleneck machine series, wherein the bottleneck load plan minimizes a number of transitions; running a second mathematical programming model to generate a second model solution, wherein the second mathematical programming model is applied to the bottleneck load planning; processing the second model solution to generate a changeover schedule for the at least one machine of the set of bottleneck machine families, wherein the changeover schedule evenly distributes changeovers over the time period; establishing a batch schedule for the plant by running a simulation following the changeover schedule, the batch schedule identifying a start time and an end time for the at least one machine and indicating a quantity of product to be processed on the at least one machine during the time period; and Publish the batch schedule.
