Information processing device and substrate processing method
By storing application data items and corresponding identifiers in the substrate processing device, and using error detection codes to judge and control substrate processing, the problem of reduced productivity caused by information leakage is solved, and efficient substrate processing is achieved.
Patent Information
- Application Number
- CN202080058682.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-26
- Filing Date
- 2020-08-12
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2040-08-12
AI Technical Summary
In existing substrate processing equipment, there is a problem of reduced productivity caused by the accumulation of formulations in order to suppress information leakage.
By establishing a correspondence between the application data items created when executing a recipe and the identifier stored in the information processing device, using error detection codes as identifiers, judging and using the application data items to control the board processing device, deleting the stored recipe to prevent information leakage, and accurately predicting the processing time based on the application data, an efficient processing schedule is created.
This approach effectively suppressed information leakage while simultaneously improving production efficiency and preventing a decline in productivity.
Smart Images

Figure CN114270489B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an information processing apparatus and a substrate processing method. Background Technology
[0002] Patent document 1 discloses the following technology: for batch processing implemented in production equipment, batch processing information including reference time information and formula is collected and accumulated, and the batch processing sequence in the production equipment is determined based on the accumulated batch processing information.
[0003] Patent Document 1: Japanese Patent Application Publication No. 2010-61505 Summary of the Invention
[0004] This disclosure provides techniques for suppressing information leakage and reducing productivity.
[0005] An information processing apparatus according to one aspect of this disclosure is connected to a substrate processing apparatus. The information processing apparatus includes a storage unit and a processing unit. The storage unit stores application data items created during recipe execution in a corresponding manner with identifiers calculated based on the recipe, which are processing conditions of the substrate processing apparatus. The processing unit includes a receiving unit, a calculation unit, a determination unit, and a control unit. The receiving unit receives instructions for processing including the recipe. The calculation unit calculates identifiers based on the recipe received in the receiving unit. The determination unit determines whether an identifier identical to the calculated identifier is stored in the storage unit. If the determination unit determines that an identical identifier is stored in the storage unit, the control unit controls the substrate processing apparatus using the application data items corresponding to that identifier and the recipe received in the receiving unit.
[0006] According to this disclosure, it is possible to suppress productivity decline. Attached Figure Description
[0007] Figure 1 This is a diagram illustrating an example of the overall schematic structure of the substrate processing apparatus according to the embodiment.
[0008] Figure 2 This is a block diagram showing the general structure of the information processing apparatus of the substrate processing apparatus involved in the control implementation.
[0009] Figure 3 This is a diagram schematically illustrating the data structure of the data stored in the storage unit 203 according to the embodiment.
[0010] Figure 4A This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0011] Figure 4B This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0012] Figure 5A This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0013] Figure 5B This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0014] Figure 6 This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0015] Figure 7 This is a diagram illustrating an example of the processing schedule for the substrate processing involved in the embodiment.
[0016] Figure 8 This is a flowchart illustrating an example of the process for establishing a corresponding procedure involved in the implementation method.
[0017] Figure 9 This is a flowchart illustrating an example of the substrate processing flow involved in the implementation method. Detailed Implementation
[0018] Hereinafter, embodiments of the information processing apparatus and substrate processing method disclosed in this application will be described in detail with reference to the accompanying drawings. Furthermore, the disclosed information processing apparatus and substrate processing method are not intended to be limited by these embodiments.
[0019] However, in substrate processing apparatuses, in order to suppress information leakage, it is required to delete the formula without accumulating it. Therefore, for example, in Patent Document 1, if batch processing information containing the formula is deleted without accumulating it, the substrate processing apparatus cannot properly determine the processing sequence of the production equipment, resulting in reduced productivity. Therefore, it is necessary to suppress the reduction in productivity.
[0020] [Device Composition]
[0021] An example of a substrate processing apparatus according to the embodiments will be described. Figure 1 This is a diagram illustrating an example of the overall schematic structure of the substrate processing apparatus 100 according to the embodiment. The substrate processing apparatus 100 according to the embodiment is an apparatus for performing substrate processing on a substrate.
[0022] like Figure 1 As shown, the substrate processing apparatus 100 has four process modules PM1 to PM4. However, the number of process modules PM in the substrate processing apparatus 100 is not limited to the number shown. Hereinafter, unless otherwise specified, the four process modules PM1 to PM4 will be collectively referred to as process module PM.
[0023] The process module (PM) is a device for performing substrate processing on a substrate. Examples of substrate processing include film deposition and etching. The substrate is a semiconductor wafer (hereinafter also referred to as a wafer). Substrate processing can be performed using plasma or without plasma.
[0024] The process module PM includes a vacuum processing chamber, such as a vacuum chamber, and performs substrate processing on the wafer W disposed within the vacuum processing chamber. During the processing of the wafer W, the process module PM maintains a reduced pressure atmosphere within the vacuum processing chamber. Furthermore, each process module PM of the substrate processing apparatus 100 can perform the same type of substrate processing. Alternatively, the substrate processing apparatus 100 can also perform different types of substrate processing on some of the process module PMs than on the others. For example, the substrate processing apparatus 100 can also perform multiple types of substrate processing distributed across each process module PM.
[0025] The process module PM is connected to the conveyor mechanism 106, which transports the wafer W. For example, as... Figure 1 As shown, process modules PM1 to PM4 are connected to the four walls of a heptagonal vacuum delivery chamber 101 via gate valve G1. The vacuum delivery chamber 101 is maintained at a specified vacuum level by venting air through a vacuum pump.
[0026] Three load-locking chambers 102 are connected to the other three walls of the vacuum transport chamber 101 via gate valves G2. An atmospheric transport chamber 103 is located on the opposite side of the vacuum transport chamber 101, separated by the load-locking chambers 102. The three load-locking chambers 102 are connected to the atmospheric transport chamber 103 via gate valves G3. When transporting the wafer W between the atmospheric transport chamber 103 and the vacuum transport chamber 101, the load-locking chambers 102 control the pressure between atmospheric pressure and vacuum.
[0027] The atmospheric delivery chamber 103 has three carrier mounting ports 105 on the wall opposite to the wall of the load locking chamber 102, for mounting carriers (FOUPs, etc.) C that house the wafer W. Additionally, an alignment chamber 104 for aligning the wafer W is provided on the side wall of the atmospheric delivery chamber 103. A clean air downflow is formed inside the atmospheric delivery chamber 103.
[0028] A conveying mechanism 106 is installed inside the vacuum conveying chamber 101. The conveying mechanism 106 conveys wafers W to process modules PM1 to PM4 and the load locking chamber 102. The conveying mechanism 106 has two conveying arms 107a and 107b that can move independently.
[0029] The atmospheric transport chamber 103 is equipped with a transport mechanism 108. The transport mechanism 108 transports the wafer W to the carrier C, the load locking chamber 102, and the alignment chamber 104.
[0030] The substrate processing apparatus 100 includes an information processing device 200 for controlling the substrate processing apparatus 100. The information processing device 200 is configured as, for example, a computer, and controls various components of the substrate processing apparatus 100. For example, the information processing device 200 controls each component of process modules PM1 to PM4, the exhaust mechanism of the vacuum transport chamber 101, the gas supply mechanism, and the transport mechanism 106, etc. Furthermore, the information processing device 200 controls the exhaust mechanism and gas supply mechanism of the load locking chamber 102, the transport mechanism 108 of the atmospheric transport chamber 103, and the drive systems of gate valves G1, G2, and G3, etc.
[0031] [Composition of an Information Processing Device]
[0032] Next, the information processing device 200 will be described in detail. Figure 2 This is a block diagram showing the general configuration of the information processing apparatus 200 of the substrate processing apparatus 100 according to the control implementation method. The information processing apparatus 200 includes: a communication interface 201, a user interface 202, a storage unit 203, and a process controller 204.
[0033] The communication interface 201 is connected to the management device 300 via the network N in a communicative manner.
[0034] The management device 300 is, for example, a personal computer, a server computer, or a computer. The management device 300 manages various information related to substrate processing. For example, the management device 300 manages various substrate processing recipes 301.
[0035] Formula 301 contains data on the processing conditions for substrate processing. These processing conditions may include, for example, specified pressure conditions, temperature conditions, gas conditions such as the type or flow rate of gas, the processing time for substrate processing, the termination conditions for ending the substrate processing, and the abnormal termination conditions for abnormally ending the substrate processing due to an anomaly. When substrate processing is performed in the substrate processing apparatus 100, the management device 300 sends Formula 301, which contains the processing conditions for the implemented substrate processing, to the substrate processing apparatus 100.
[0036] The user interface 202 consists of a keyboard for the process manager to input commands for managing the substrate processing device 100, a display for visually displaying the operating status of the substrate processing device 100, and the like.
[0037] Storage unit 203 is, for example, a non-volatile storage device such as a hard disk or SSD (Solid State Drive). Storage unit 203 stores various programs, including control programs for controlling the board processing. In addition, storage unit 203 stores various data. For example, storage unit 203 establishes a corresponding storage of application data items created when executing formula 301 and identifiers calculated according to formula 301. Figure 3 This diagram schematically illustrates the data structure of the data stored in the storage unit 203 according to the embodiment. Application data items are stored in the storage unit 203 in correspondence with identifiers. In this embodiment, application data 220 of the substrate processing performed in the substrate processing apparatus 100 is stored in the storage unit 203 in correspondence with identifiers as application data items. Details of the application data 220 will be described later.
[0038] The process controller 204 has internal memory including a CPU (Central Processing Unit), temporary program storage, and data cache, and controls various parts of the board processing apparatus 100. The process controller 204 reads the control program stored in the storage unit 203 and executes the processing of the read control program. The process controller 204 functions as various processing units by operating through the control program. For example, the process controller 204 has the functions of a receiving unit 210, a calculation unit 211, a judgment unit 212, a control unit 213, a generation unit 214, a deletion unit 215, and a storage unit 216. Furthermore, although this embodiment describes the process controller 204 as functioning as various processing units, it is not limited to this. For example, the functions of the receiving unit 210, calculation unit 211, judgment unit 212, control unit 213, generation unit 214, deletion unit 215, and storage unit 216 can be distributed among multiple controllers.
[0039] The receiving unit 210 receives various data. During substrate processing, the management device 300 transmits various information related to substrate processing to the substrate processing apparatus 100 via the network N. For example, the management device 300 transmits a substrate processing recipe 301 for wafer W to the substrate processing apparatus 100 via the network N. The recipe 301 includes the processing conditions for the substrate processing. Additionally, a recipe ID is assigned to the recipe 301 to identify it. The recipe is input to the communication interface 201 via the network N 301. The receiving unit 210 receives the recipe 301 via the communication interface 201. The receiving unit 210 stores the received recipe 301 in the storage unit 203.
[0040] However, there are cases where, although formulation 301 includes substrate processing conditions, the processing time for substrate processing is not determined based on these conditions. For example, in substrate processing, there are cases where an end condition is determined, such as continuing substrate processing until the state within the wafer W and process module PM meets specific conditions. For example, there are cases where the end condition is determined to be ending substrate processing if the wafer W and process temperature detected by the temperature sensor reach a specific temperature. In such cases, in the substrate processing apparatus 100, since the degree of variation of the wafer W and process temperature varies depending on each model, the processing time varies for each model. Furthermore, even if the substrate processing apparatus 100 is the same model, there are instrument errors, and the temperature characteristics differ for each process module PM. Therefore, even if the substrate processing apparatus 100 performs the same substrate processing in each process module PM, the processing time will still differ for each process module PM. In this case, it is not possible to accurately predict the substrate processing time based on the substrate processing conditions.
[0041] Therefore, in this embodiment, the application data 220 of the substrate processing under the processing conditions included in the formulation 301 is correspondingly stored in the storage unit 203 with the identifier of the formulation 301.
[0042] Here, recipe 301 is assigned a recipe ID. Therefore, the recipe ID can be considered as an identifier to identify recipe 301. However, there are cases where recipe 301 is assigned the same recipe ID even if part of the processing conditions are changed. That is, there are cases where recipe 301 may have the same recipe ID but contain different processing conditions.
[0043] Therefore, in this embodiment, the error detection code calculated according to formula 301 is used as the identifier of formula 301. For example, a check code calculated by operating on an error detection code such as CRC (Cyclic Redundancy Check) is used as an example. In the storage unit 203, application data 220 for processing the substrate under the processing conditions included in formula 301 is stored in correspondence with the check code of formula 301. Furthermore, although this embodiment uses a check code as the identifier of formula 301 as an example, it is not limited to this. The identifier of formula 301 can also be a formula ID and a check code. Additionally, two or more check codes can be used as identifiers.
[0044] The application data 220 involved in this embodiment includes performance data 221 and model data 222. Performance data 221 stores performance values during substrate processing in each process module (PM). For example, performance data 221 stores the processing time for each process module (PM). Model data 222 stores information models used in controlling substrate processing in each process module (PM). For example, model data 222 stores process models corresponding to substrate processing rates such as process temperature, deposition rate, and etching rate for each process module (PM). Additionally, model data 222 stores FD model data, including parameters and formulas for calculating appropriate anomaly detection thresholds, for each process module (PM).
[0045] The calculation unit 211 calculates an identifier based on the received recipe 301. For example, the calculation unit 211 calculates a check code based on the recipe 301 through the operation of the error detection code.
[0046] The determination unit 212 determines whether an identifier identical to the calculated identifier is stored in the storage unit 203. For example, the determination unit 212 determines whether application data 220 corresponding to the calculated check code is stored in the storage unit 203. Furthermore, when the recipe ID and check code are used as identifiers for recipe 301, the determination unit 212 determines whether application data 220 corresponding to the recipe ID and check code is stored in the storage unit 203.
[0047] The control unit 213 controls the implementation of substrate processing. For example, if the determination unit 212 determines that the same identifier is stored in the storage unit 203, the control unit 213 uses the application data item associated with that identifier and the received recipe 301 to control the substrate processing apparatus 100. As an example, the control unit 213 creates a processing schedule for the substrate processing to be performed by the substrate processing apparatus 100 according to the processing conditions included in recipe 301. If the determination result is that the application data 220 is not stored in the storage unit 203, the control unit 213 creates a processing schedule for the substrate processing according to recipe 301. For example, if the processing time is recorded in the processing conditions included in recipe 301, the control unit 213 uses the recorded processing time to create a processing schedule. For example, the control unit 213 uses the processing time of the substrate processing in each process module PM as the processing time of the processing conditions included in recipe 301 to create a schedule for the processing period of the substrate processing in each process module PM. In addition, the control unit 213 creates a transport schedule for transporting the wafer W to each process module PM in accordance with the processing period of each process module PM.
[0048] Here, there are cases where Formula 301 does not specify the processing time in the processing conditions, but instead determines the termination condition for ending the substrate processing. For example, there is a case where the termination condition is determined to be ending the substrate processing if the wafer W and the process temperature reach a specific temperature. In this case, if the wafer W and the process temperature do not reach the specific temperature, the substrate processing will not end. Therefore, an abnormal termination condition that causes the substrate processing to end abnormally is determined in the processing conditions. For example, the abnormal termination condition is determined to end the substrate processing if the processing time is longer than a constant time, even if the wafer W and the process temperature do not reach the specific temperature. The abnormal termination condition is determined with sufficient margin relative to the processing time under normal substrate processing conditions. For example, if the substrate processing is normal, and the wafer W and the process temperature reach the specified temperature in about one minute, the abnormal termination condition is determined to be ten minutes.
[0049] If the processing time is not recorded in the processing conditions included in Formula 301, the control unit 213 uses an abnormal termination condition to create a processing schedule. For example, the control unit 213 sets the processing time of the substrate processing in each process module PM to the time of the abnormal termination condition to create a schedule for the processing period of the substrate processing in each process module PM. Additionally, the control unit 213 creates a wafer W transport schedule in conjunction with the processing period of each process module PM. Furthermore, the abnormal termination condition is determined with sufficient margin relative to the processing time under normal substrate processing conditions. Therefore, the control unit 213 can also create a processing schedule by setting the processing time of the substrate processing in each process module PM to a constant proportion of the time of the abnormal termination condition. For example, as described above, if the abnormal termination condition is determined to be ten minutes, the processing time of the substrate processing in each process module PM can be set to 5 minutes, which is 50% of the ten minutes of the abnormal termination condition, to create a processing schedule. Alternatively, the control unit 213 can also create a processing schedule by setting the processing time of the substrate processing in each process module PM to a pre-set specific time.
[0050] On the other hand, if the result of the determination is that application data 220 is stored in the storage unit 203, the control unit 213 uses the application data 220 to create a processing schedule. For example, the control unit 213 sets the processing time of the substrate processing in each process module PM to the processing time of the corresponding process module PM recorded in the application data 220 to create a schedule for the processing period of the substrate processing in each process module PM. In addition, the control unit 213 creates a wafer W transport schedule in conjunction with the processing period of each process module PM.
[0051] The control unit 213 controls the substrate processing based on the created processing schedule to implement the processing conditions included in the formula 301. When performing substrate processing, the control unit 213 first reads the formula 301 stored in the storage unit 203 into its internal memory. Then, the control unit 213 implements the substrate processing according to the processing conditions included in the formula 301 stored in the internal memory, according to the processing schedule. For example, the control unit 213 controls the sequential transport of the wafer W from the carrier C to each process module PM based on the transport schedule included in the processing schedule, and performs substrate processing in each process module PM based on the read formula 301. Furthermore, if the determination result is that application data 220 is stored in the storage unit 203, the control unit 213 uses the model data 222 included in the application data 220 to control the substrate processing. For example, the control unit 213 uses data from the process model stored in the model data 222 to adjust the process temperature of each process module PM so that the substrate processing rate of each process module PM is the rate specified according to the processing conditions. In addition, the control unit 213 uses the data of the FD model stored in the model data 222 to calculate and process the threshold for anomaly detection corresponding to the conditions of each process module PM.
[0052] Here, if the application data 220 corresponding to the identifier of formula 301 is not stored in the storage unit 203, the processing time of the substrate processing cannot be predicted with good accuracy. Therefore, there are cases where the actual processing period of the substrate processing in each process module PM varies greatly from the processing schedule. Figure 4A This is a diagram illustrating an example of the processing timeline for the substrate processing involved in the embodiment. Figure 4A This diagram shows the processing schedule for substrate processing of five wafers W1 to W5, performed separately in process modules PM1 to PM4. "W1" to "W5" represent the processing periods for substrate processing of wafers W1 to W5 within process modules PM1 to PM4. Figure 4A In the processing schedule, the processing period for wafer W1 in process module PM1 ends earlier than the processing period for wafers W2 to W4 in process modules PM2 to PM4. Therefore, in Figure 4A In the processing schedule, substrate processing of wafer W5 is scheduled in process module PM1. However, in actual substrate processing, the processing time of wafer W1 in process module PM1 is sometimes longer than scheduled. Figure 4B This is a diagram illustrating an example of the processing timeline for the substrate processing involved in the embodiment. Figure 4B This illustrates the actual substrate processing stages for wafers W1 to W5 in process modules PM1 to PM4. Figure 4B In this case, the processing time of wafer W1 in process module PM1 becomes longer. Consequently, the substrate processing of wafer W5 in process module PM1 is delayed, reducing productivity.
[0053] Figure 5A This is a diagram illustrating an example of the processing timeline for the substrate processing involved in the embodiment. Figure 5A The middle shows with Figure 4A The same processing schedule. Figure 5A The processing schedule also pre-determines that wafer W5's substrate processing will be performed after wafer W1's substrate processing in process module PM1. In this case, the transport schedule is created to transport wafer W5 to process module PM1 in conjunction with the timing of the start of wafer W5's substrate processing. However, in actual substrate processing, the processing period for wafer W1 in process module PM1 is sometimes shorter than planned. Figure 5B This is a diagram illustrating an example of the processing timeline for the substrate processing involved in the embodiment. Figure 5B The diagram shows the actual substrate processing period for wafers W1 to W5 in process modules PM1 to PM4. Figure 5B In this case, the processing time for wafer W1 in process module PM1 is shortened. Wafer W5 has not yet been delivered to process module PM1, and process module PM1 waits for wafer W5 to be delivered, resulting in reduced productivity.
[0054] On the other hand, when the storage unit 203 stores the application data 220 corresponding to the identifier of the formula 301, the processing time of the substrate processing in each process module PM can be predicted with good accuracy based on the application data 220. As a result, the control unit 213 can create a more efficient processing schedule. Figure 6 as well as Figure 7 This is a diagram illustrating an example of a processing timeline for the substrate processing involved in an embodiment. For example, in... Figure 4B Therefore, in cases where the processing time of wafer W1 in process module PM1 is relatively long, such as Figure 6 In this way, the processing schedule can be created to perform substrate processing of wafer W5 in process module PM2. Additionally, for example, in... Figure 5B In cases where the processing time of wafer W1 in process module PM1 is relatively short, such as Figure 7 In this way, the processing schedule can be created so that substrate processing of wafer W5 can be performed earlier in process module PM1. Thus, when the application data 220 corresponding to the identifier of formula 301 is stored in the storage unit 203, the control unit 213 can create an efficient processing schedule based on the application data 220, thereby suppressing productivity degradation.
[0055] Return to Figure 2The generation unit 214 generates application data items when substrate processing is performed in the substrate processing apparatus 100 under the control of the control unit 213. The generation unit 214 generates application data 220 that stores the actual values of substrate processing performed under the control of the control unit 213, as application data items. For example, the generation unit 214 generates actual processing time data 221 recorded according to each process module PM. Additionally, the generation unit 214 generates model data 222 based on the implementation results of substrate processing, as application data items. For example, the generation unit 214 generates data that establishes a process model corresponding to the actual process temperature and substrate processing rate according to each process module PM. Furthermore, the generation unit 214 generates an FD model that adjusts parameters and formulas according to each process module PM in conjunction with the actual substrate processing to calculate an appropriate anomaly detection threshold. Furthermore, the generation unit 214 can also generate differential data with respect to a standard information model as model data 222. For example, the generation unit 214 can also generate differential data for each process module PM relative to standard process model data of process temperature and substrate processing rate, as process model data.
[0056] However, while the substrate processing apparatus 100 maintains the state of storing the recipe 301 received by the receiving unit 210 in the storage unit 203, information leakage may occur. For example, the recipe 301 stored in the storage unit 203 may be copied, forwarded to other devices, or referenced from the user interface 202, thus leaking the processing conditions of the substrate processing.
[0057] Therefore, after the substrate processing based on the control of the control unit 213 begins, the deletion unit 215 deletes the recipe 301 stored in the storage unit 203. For example, if the reading of the recipe 301 from the control unit 213 into the internal memory is completed, the deletion unit 215 deletes the recipe 301 stored in the storage unit 203. Furthermore, the deletion unit 215 can also delete the recipe 301 at a predetermined time. For example, if an instruction to delete the recipe 301 is received from the management device 300, the deletion unit 215 can also delete the recipe 301. Thus, the administrator of the management device 300 can determine the timing of the deletion of the recipe 301.
[0058] Therefore, the substrate processing apparatus 100 is able to suppress leakage of the formulation 301.
[0059] Storage unit 216 performs various storage operations. If the application data item corresponding to the identifier contained in recipe 301 received by receiving unit 210 is not stored in storage unit 203, storage unit 216 stores the application data item generated by generation unit 214 in storage unit 203 in correspondence with the identifier contained in received recipe 301. For example, storage unit 216 temporarily stores the identifier of recipe 301 received by receiving unit 210. For example, if receiving unit 210 receives recipe 301, storage unit 216 temporarily stores the checksum calculated based on recipe 301 in internal memory. Furthermore, the timing of temporarily storing the checksum can be any timing as long as it is before deletion unit 215 deletes recipe 301. For example, storage unit 216 may temporarily store the checksum after recipe 301 is read from control unit 213 and before deletion unit 215 deletes recipe 301. Then, storage unit 216 stores the application data 220 generated by generation unit 214 in storage unit 203 in correspondence with the identifier temporarily stored in internal memory. For example, after the substrate processing based on the control of the control unit 213 is completed, the storage unit 216 stores the application data 220 generated by the generation unit 214 in the storage unit 203 in a corresponding manner with the temporarily stored check code. If the application data 220 is not stored in the storage unit 203 in a corresponding manner with the identifier, the storage unit 216 overwrites the application data 220 generated by the generation unit 214. Furthermore, when the recipe ID and check code are used as the identifiers for recipe 301, the storage unit 216 temporarily stores the recipe ID as the identifier along with the check code, and stores the application data 220 generated by the generation unit 214 in the storage unit 203 in a corresponding manner with the temporarily stored check code and recipe ID.
[0060] On the other hand, if the application data 220 has already been stored in the storage unit 203 in correspondence with the identifier, the storage unit 216 will delete the application data 220 generated by the generation unit 214 instead of storing it. Therefore, the application data 220 can be stored in the storage unit 203 according to each identifier. Furthermore, the storage unit 216 can also overwrite the application data 220 generated by the generation unit 214 if the application data 220 has already been stored in the storage unit 203 in correspondence with the identifier. Additionally, the storage unit 216 can also store the application data 220 generated by the generation unit 214 in the storage unit 203 in correspondence with the identifier if the application data 220 has already been stored in the storage unit 203 in correspondence with the identifier.
[0061] Therefore, when performing substrate processing with the same identifier as formula 301, the substrate processing apparatus 100 can use application data 220 to create a substrate processing schedule, thus suppressing productivity reduction.
[0062] [Control Flow]
[0063] Next, the substrate processing method according to this embodiment will be described. First, the mapping process for establishing a mapping between formula 301 and application data items will be described. Figure 8 This is a flowchart illustrating an example of the correspondence establishment process involved in the implementation method. The correspondence establishment process is executed at a predetermined time, for example, at the time when recipe 301 is input from management device 300 via network N through communication interface 201.
[0064] The receiving unit 210 receives the recipe 301 via the communication interface 201 and stores the received recipe 301 in the storage unit 203 (step S10).
[0065] The calculation unit 211 calculates an identifier based on the received recipe 301 (step S11). For example, the calculation unit 211 calculates a check code based on the recipe 301 and through the operation of the error detection code.
[0066] The determination unit 212 determines whether the storage unit 203 stores an identifier that is the same as the calculated identifier (step S12). For example, the determination unit 212 determines whether the storage unit 203 stores application data 220 that corresponds to the calculated check code.
[0067] If the storage unit 203 stores an identifier that is the same as the calculated identifier, the determination unit 212 establishes a correspondence between the application data item corresponding to the identifier and the received recipe 301 (step S13), and ends the process. For example, the determination unit 212 establishes a correspondence between the application data 220 corresponding to the calculated check code and the recipe 301.
[0068] Next, the substrate processing procedure will be explained. Figure 9 This is a flowchart illustrating an example of the substrate processing flow involved in the implementation method. The substrate processing is performed at a predetermined timing, for example, at the timing when the recipe 301 for which the substrate processing is to be performed is specified from the user interface 202. The recipe 301 for the object can also be specified from the management device 300 or other terminal devices via the network N.
[0069] The control unit 213 reads the specified recipe 301 from the storage unit 203 into the internal memory (step S50). When an application data item is associated with the specified recipe 301, the control unit 213 also reads the application data item from the storage unit 203 into the internal memory. For example, the control unit 213 also reads the application data 220 associated with the recipe 301 from the storage unit 203 into the internal memory.
[0070] Storage unit 216 temporarily stores the identifier of the specified formula 301 in the internal memory (step S51). For example, storage unit 216 temporarily stores the check code calculated according to formula 301.
[0071] The deletion unit 215 deletes the recipe 301 stored in the storage unit 203 (step S52).
[0072] The control unit 213 determines whether the application data item corresponds to the recipe 301 stored in the internal memory (step S53). For example, the determination unit 212 determines whether the application data 220 corresponds to the recipe 301.
[0073] If no corresponding data item is established (step S53: No), the control unit 213 uses the received recipe 301 to control the substrate processing apparatus 100 (step S54). For example, the control unit 213 creates a processing schedule based on the recipe 301.
[0074] On the other hand, when a correspondence is established with the application data item (step S53: Yes), the control unit 213 uses the application data item and the received recipe 301 to control the substrate processing apparatus 100 (step S55). For example, the control unit 213 uses the application data 220 that establishes the correspondence and the received recipe 301 to create a processing schedule.
[0075] The control unit 213 executes substrate processing according to the processing conditions included in the formula 301 stored in the internal memory (step S56) based on the created processing schedule. When the application data 220 corresponds to the formula 301, the control unit 213 uses the model data 222 included in the application data 220 to control the substrate processing. For example, the control unit 213 uses data from the process model stored in the model data 222 to adjust the temperature of each process module PM so that the substrate processing rate of each process module PM is at the rate specified according to the processing conditions. Furthermore, the control unit 213 uses data from the FD model stored in the model data 222 to calculate anomaly detection thresholds corresponding to the processing conditions for each process module PM.
[0076] The generation unit 214 generates application data items when executing the formula 301 stored in the internal memory (step S57). For example, the generation unit 214 generates application data 220 that stores the performance values of substrate processing when substrate processing is performed under the control of the control unit 213.
[0077] Storage unit 216 stores the generated application data items and the temporarily stored identifiers in storage unit 203 in a corresponding manner (step S58), and ends the process. For example, after the substrate processing based on the control of control unit 213 is completed, storage unit 216 stores the application data 220 and the temporarily stored check code in storage unit 203 in a corresponding manner.
[0078] Thus, the information processing apparatus 200 according to this embodiment is connected to the substrate processing apparatus 100. The information processing apparatus 200 has a storage unit 203 and a processing unit (process controller 204). The storage unit 203 stores application data items (application data 220) created when executing the processing conditions of the substrate processing apparatus 100, i.e., recipe 301, in correspondence with the identifier (checksum) calculated according to recipe 301. The processing unit has a receiving unit 210, a calculation unit 211, a determination unit 212, and a control unit 213. The receiving unit 210 receives an instruction for processing including recipe 301. The calculation unit 211 calculates the identifier (checksum) according to recipe 301 received in the receiving unit 210. The determination unit 212 determines whether an identifier identical to the calculated identifier is stored in the storage unit 203. If the determination unit 212 determines that the same identifier is stored in the storage unit 203, the control unit 213 uses the application data item corresponding to that identifier and the recipe 301 received in the receiving unit 210 to control the substrate processing apparatus 100. As a result, the information processing apparatus 200 can suppress productivity reduction.
[0079] Furthermore, the formula 301 involved in this embodiment includes an identifier (formula ID). The determination unit 212 uses two or more identifiers, including the identifier included in formula 301 and a calculated identifier (check code), to determine consistency. Therefore, even if the information processing device 200 receives a formula 301 with the same formula ID despite changes in some processing conditions, it can still identify differences in formula 301. Additionally, when the information processing device 200 retransmits a formula 301 with the same processing conditions and formula ID as before, it can use the application data items from the substrate processing of that formula 301 to control the substrate processing device 100, thus enabling efficient and effective substrate processing.
[0080] Furthermore, the calculation unit 211 in this embodiment calculates an error detection code as an identifier based on the received recipe 301. Therefore, even if the recipe IDs are the same, the information processing device 200 can easily determine whether the internal data, such as processing conditions, of the recipe 301 are different based on the error detection code.
[0081] Furthermore, the application data items involved in this embodiment include the processing time when performing substrate processing for formula 301. When the application data item corresponding to the identifier of the received formula 301 is stored in the storage unit 203, the control unit 213 uses the processing time contained in the application data item to control the substrate processing apparatus 100. Therefore, even if the processing time of substrate processing varies according to each process module PM of the substrate processing apparatus 100, the information processing apparatus 200 can create a processing schedule that matches the processing time of substrate processing for each process module PM, enabling efficient and effective substrate processing.
[0082] Furthermore, the application data items involved in this embodiment include model data 222 related to the control of substrate processing of formulation 301. When the application data item corresponding to the identifier of the received formulation 301 is stored in the storage unit 203, the control unit 213 uses the model data 222 included in the application data item to control the substrate processing apparatus 100. As a result, the information processing apparatus 200 can appropriately control the substrate processing using the model data 222.
[0083] Furthermore, in this embodiment, the receiving unit 210 stores the received formula 301 in the storage unit 203. The control unit 213 reads the formula 301 from the storage unit 203 into the temporary storage unit (internal memory) and controls the substrate processing apparatus 100 based on the formula 301 stored in the temporary storage unit. Once the reading of the formula 301 in the control unit 213 is complete, the deletion unit 215 deletes the formula 301 from the storage unit 203. Thus, the information processing apparatus 200 can suppress the leakage of the formula 301.
[0084] The embodiments have been described above, but it should be considered that the embodiments disclosed herein are illustrative in all aspects and not restrictive. In fact, the above embodiments can be embodied in various ways. In addition, the above embodiments can be omitted, substituted, or modified in various ways without departing from the claims and their spirit.
[0085] For example, in this embodiment, the case where the control unit 213 pre-creates the processing schedule for each process module PM is described as an example. However, it is not limited to this. The control unit 213 can also change the processing schedule of each process module PM in real time according to the processing status of each process module PM during processing. For example, the control unit 213 can also determine multiple operation modes corresponding to the predicted processing time of each process module PM, and perform operations according to the operation mode corresponding to the processing status of the process module PM. When the storage unit 203 stores application data 220 corresponding to the identifier of the executed recipe 301, the control unit 213 uses the application data 220 to determine multiple operation modes. For example, the control unit 213 uses the processing time of the process module PM recorded in the application data 220 as a reference, and determines the operation mode for each process module PM under different processing time conditions, such as when the processing time is shorter than the reference or when the processing time is longer than the reference. Moreover, the control unit 213 can also change the processing schedule of each process module PM in real time by selecting the operation mode corresponding to the actual processing time in each process module PM.
[0086] Furthermore, in this embodiment, the example of using an error detection code as the identifier of recipe 301 has been described. However, it is not limited to this. For example, the identifier of recipe 301 may also be a recipe ID. Alternatively, multiple types of check codes may be used as the identifier of recipe 301. Additionally, a unique identification symbol such as an ID may be assigned to recipe 301 in addition to the recipe ID, and this identification symbol may be used as the identifier. For example, there may be a case where the management device 300 assigns the same identification symbol to recipes 301 with the same processing conditions, and changes the recipe ID each time before sending it. Even in this case, when the storage unit 203 stores application data 220 corresponding to the identification symbol of recipe 301, the substrate processing apparatus 100 uses the application data 220 to create a substrate processing schedule, thereby enabling efficient and effective substrate processing.
[0087] Furthermore, in this embodiment, the example described is that the control unit 213 reads the formula 301 into the internal memory at the start of substrate processing, and the deletion unit 215 deletes the formula 301 stored in the storage unit 203 after the reading is completed. However, it is not limited to this. For example, the control unit 213 may also read the formula 301 from the storage unit 203 at any time during substrate processing. The deletion unit 215 may also delete the formula 301 stored in the storage unit 203 at the end of substrate processing.
[0088] Furthermore, while the embodiment uses a semiconductor wafer as the substrate as an example, it is not limited to this. The semiconductor wafer can be silicon, or it can be a compound semiconductor such as GaAs, SiC, or GaN. Moreover, the substrate is not limited to a semiconductor wafer; it can also be a glass substrate, ceramic substrate, or the like used in FPDs (flat panel displays) such as liquid crystal display devices.
[0089] Symbol Explanation
[0090] 100…Substrate processing device, 200…Information processing device, 201…Communication interface, 202…User interface, 203…Storage unit, 204…Process controller, 210…Receiving unit, 211…Calculation unit, 212…Judgment unit, 213…Control unit, 214…Generation unit, 215…Delete unit, 216…Storage unit, 300…Management device, 301…Formula, 220…Application data, 221…Performance data, 222…Model data, PM, PM1 to PM4…Process modules, W…Wafer.
Claims
1. An information processing apparatus that is an information processing apparatus connected to a substrate processing apparatus, comprising: a storage section that stores a plurality of pieces of application data each of which corresponds to an identifier and is used for controlling the substrate processing apparatus; a processing section; the processing section having: a reception section that receives an instruction to process including a recipe; a calculation section that calculates an identifier based on the recipe received in the reception section; a determination section that determines whether or not the same identifier as the calculated identifier is stored in the storage section; and a control section that controls the substrate processing apparatus using the application data corresponding to the identifier and the recipe received in the reception section in a case where the determination section determines that the same identifier is stored in the storage section. a storage section that stores, in association with an identifier calculated based on a recipe, an application data item created when the recipe is executed, the recipe being a processing condition of the substrate processing apparatus; 2. The information processing apparatus according to claim 1, wherein the recipe includes an identifier, and the determination section determines coincidence using two or more identifiers including the identifier included in the recipe and the calculated identifier.
3. The information processing apparatus according to claim 1, wherein the calculation section calculates an error detection code as the identifier based on the received recipe.
4. The information processing apparatus according to claim 2, wherein the calculation section calculates an error detection code as the identifier based on the received recipe.
5. The information processing apparatus according to any one of claims 1 to 4, wherein the application data includes a processing time at the time of substrate processing of the recipe, and the control section controls the substrate processing apparatus using the processing time included in the application data corresponding to the identifier of the received recipe in a case where the application data is stored in the storage section.
6. The information processing apparatus according to any one of claims 1 to 4, wherein the application data includes model data related to control of substrate processing of the recipe, and the control section controls the substrate processing apparatus using the model data included in the application data corresponding to the identifier of the received recipe in a case where the application data is stored in the storage section. further comprising: a generation section that generates the application data at the time of substrate processing of the recipe in the substrate processing apparatus by control of the control section; and a storage section that stores the application data generated by the generation section in the storage section in correspondence with the identifier included in the received recipe in a case where the application data corresponding to the identifier included in the received recipe is not stored in the storage section. further comprising: a generation section that generates the application data at the time of substrate processing of the recipe in the substrate processing apparatus by control of the control section; and a storage section that stores the application data generated by the generation section in the storage section in correspondence with the identifier included in the received recipe in a case where the application data corresponding to the identifier included in the received recipe is not stored in the storage section. further comprising: a generation section that generates the application data at the time of substrate processing of the recipe in the substrate processing apparatus by control of the control section; and a storage section that stores the application data generated by the generation section in the storage section in correspondence with the identifier included in the received recipe in a case where the application data corresponding to the identifier included in the received recipe is not stored in the storage section. 7. The information processing apparatus according to any one of claims 1 to 4, wherein 8. The information processing apparatus according to claim 5, wherein 9. The information processing apparatus according to claim 6, wherein a storage section, in a case where a use data item corresponding to an identifier included in the received recipe is not stored in the storage section, stores the use data item generated by the generation section in association with the identifier included in the received recipe in the storage section.
10. A substrate processing method, comprising: a step of receiving an instruction of a process including a recipe, the recipe being a processing condition of a substrate processing apparatus; a step of calculating an identifier based on the received recipe; a step of storing a use data item created when the recipe is executed in association with the identifier calculated based on the recipe in a storage section, and determining whether or not an identifier identical to the calculated identifier is stored in the storage section; a step of controlling the substrate processing apparatus using the use data item associated with the identical identifier and the received recipe in a case where it is determined that the identical identifier is stored in the storage section. a step of controlling the substrate processing apparatus using the use data item associated with the identical identifier and the received recipe in a case where it is determined that the identical identifier is stored in the storage section.
Citation Information
Patent Citations
Production management device and method
JP2010061505A
Processing condition management system and production system
WO2016080268A1