Process execution control method and semiconductor process equipment
By determining the remaining time of the process step in the semiconductor process equipment and performing appropriate dormant control, the problem of the inability to accurately control the process time in the prior art is solved, and precise control of the end time of the process step is achieved, and the process processing effect is improved.
Patent Information
- Application Number
- CN202411962866.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-25
AI Technical Summary
The prior art cannot accurately control the process duration when controlling semiconductor process equipment to perform processes, resulting in the impact of wafer process processing effects.
By determining the remaining process time in each process step, the end time of the process step is precisely controlled in response to the sleeping of the first target time when the remaining time is greater than the predetermined time length, and the sleeping of the second target time when the remaining time length is greater than 0 and less than or equal to the predetermined time length.
Accurate control of the end time of the process step is achieved, the control accuracy of the overall process time is improved, and the process processing effect of the wafer is ensured.
Smart Images

Figure CN119890084A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of semiconductor manufacturing technology, and in particular to a process execution control method and semiconductor process equipment. Background Art
[0002] With the gradual improvement of the degree of social informatization, the demand for semiconductor process equipment is becoming more and more urgent. In the process of semiconductor process equipment processing wafers, the process time is an important factor affecting the process effect. Early termination or overtime termination will have a great impact on the process effect of the wafer.
[0003] However, currently, in the process of controlling the semiconductor process equipment to execute the process, there are large timing errors, which makes it impossible to accurately control the process time of the semiconductor process equipment, and thus it is impossible to guarantee the process processing effect of the wafer. Summary of the invention
[0004] In order to solve the above technical problems, the present application provides a process execution control method and semiconductor process equipment to solve the problem that the prior art cannot accurately control the process duration of the semiconductor process equipment during the process of controlling the semiconductor process equipment to execute the process.
[0005] To achieve the above technical objectives, the present application provides the following technical solutions:
[0006] In a first aspect, an embodiment of the present specification provides a process execution control method, which is applied to semiconductor process equipment, and the method includes:
[0007] During the execution of each process step, determining the remaining process time of the current process step;
[0008] In response to the remaining process time being greater than a predetermined time, determining a first target time based on the remaining process time and dormant for the first target time, and then determining the remaining process time of the current process step again;
[0009] In response to the remaining process duration being greater than 0 and less than or equal to the predetermined duration, the current process step is controlled to terminate execution after sleeping for a second target duration; wherein the second target duration is determined by the time difference between the current moment and the designated end moment of the current process step, and the first target duration is greater than the second target duration.
[0010] In one embodiment, determining the remaining process time of the current process step includes: determining the remaining process time based on a time difference between a specified end time of the current process step and a current time, wherein the unit of the remaining process time is a first target timing unit;
[0011] The determining of the first target duration based on the remaining process duration and sleeping for the first target duration includes: determining the value of the first target duration and a second target timing unit based on the remaining process duration, and performing waiting timing for the value of the first target duration with the second target timing unit; wherein the first target timing unit is smaller than the second target timing unit;
[0012] The sleeping second target duration includes: waiting for timing the value of the second target duration in the first target timing unit.
[0013] In one implementation, the first target timing unit is milliseconds; and the second target timing unit is seconds.
[0014] In one implementation, the first target duration is 1 second.
[0015] In one embodiment, the method further includes: when each process step starts to be executed, recording the start time of the current process step, starting a target thread, and executing a prerequisite action of the current process step; wherein the target thread is used to execute the processing process;
[0016] The first target sleep duration includes: in response to the completion of the execution of the prerequisite action, the target thread sleeps for a remaining time; wherein the remaining time is the difference between the first target time and the execution time of the prerequisite action.
[0017] In one embodiment, there is a switching duration between two adjacent sleep times; the first target sleep duration or the second target sleep duration includes:
[0018] In response to the end of the previous sleep, the current sleep is ended by waiting for the difference between the first target duration or the second target duration and the switching duration.
[0019] In one embodiment, it further includes:
[0020] Starting a first thread other than the target thread to execute the pre-action and / or post-action in the processing process;
[0021] and / or,
[0022] A second thread other than the target thread is started to execute actions other than the prerequisite action in the current process step.
[0023] In one embodiment, it further includes:
[0024] In response to the remaining process time being less than or equal to 0, the current process step is controlled to end execution.
[0025] In a second aspect, an embodiment of the present specification provides a semiconductor process device, comprising at least one processor and at least one memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the process execution control method as described in any one of the above items is implemented.
[0026] In a third aspect, an embodiment of the present specification provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the process execution control method as described in any one of the above items is implemented.
[0027] In a fourth aspect, an embodiment of the present specification provides a computer program product or a computer program, wherein the computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium; the processor of the computer device reads the computer program from the computer-readable storage medium, and when the processor executes the computer program, it implements the process execution control method as described in any one of the above items.
[0028] It can be seen from the above technical scheme that the embodiment of the present application provides a process execution control method and semiconductor process equipment. The scheme determines the remaining process time of the current process step during the execution of each process step. In response to the remaining process time being greater than a predetermined time, a first target time is determined based on the remaining process time and the remaining process time of the current process step is determined again after the first target time is dormant. In response to the remaining process time being greater than 0 and less than or equal to the predetermined time, the current process step is controlled to end execution after dormancy for a second target time, wherein the second target time is determined by the current time and the specified end time of the current process step. The time difference between the current moment is determined, and the first target duration is greater than the second target duration. Therefore, when approaching the specified end time of the current process step, the second target duration is determined by the time difference between the current moment and the specified end time of the current process step, which can effectively avoid the influence of system resources on the accuracy of the determination result of the second target duration, and achieve effective improvement of the accuracy of the second target duration. Then, when controlling the end execution of the current process after dormant for the second target time, the end time of the current process step can be accurately controlled, thereby improving the control accuracy of the overall process duration of the processing process and ensuring the process processing effect of the wafer. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0030] Figure 1 A flowchart of a process execution control method provided for one embodiment of the present specification.
[0031] Figure 2 A flowchart of another process execution control method provided for one embodiment of the present specification.
[0032] Figure 3 A schematic flow chart of a method for executing the current process steps provided for one embodiment of the present specification. DETAILED DESCRIPTION
[0033] Unless otherwise defined, the technical terms or scientific terms used in the embodiments of this specification shall have the common meanings understood by persons with ordinary skills in the field to which this specification belongs. The words "first", "second" and similar words used in the embodiments of this specification do not indicate any order, quantity or importance, but are only used to avoid confusion of constituent elements.
[0034] Unless the context requires otherwise, throughout the specification, "plurality" means "at least two", and "including" is interpreted as an open, inclusive meaning, that is, "including, but not limited to". In the description of the specification, the terms "one embodiment", "some embodiments", "exemplary embodiments", "examples", "specific examples" or "some examples" are intended to indicate that a particular feature, structure, material or characteristic associated with the embodiment or example is included in at least one embodiment or example of the specification. The schematic representation of the above terms does not necessarily refer to the same embodiment or example.
[0035] The following will be combined with the drawings in the embodiments of this specification to clearly and completely describe the technical solutions in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.
[0036] Overview
[0037] As described in the background technology, with the gradual improvement of the degree of social informatization, the demand for semiconductor process equipment is becoming more and more intense. In the process of semiconductor process equipment processing wafers, the process time is an important factor affecting the process effect. Early termination or overtime termination will have a significant impact on the process effect of the wafer.
[0038] Among them, the control system of semiconductor process equipment such as tank cleaning machines can be divided into two parts: upper computer software and lower computer software. The upper computer software is the central link of the software control system, which is used to manage and coordinate the lower computer software system, interact with the factory side, and provide a graphical user interface, etc.; the lower computer software can be divided into two parts: the transport module software control system (Transport Module Controller, referred to as TMC) responsible for the control of the transport module and the process module software control system (Process Module Controller, referred to as PMC) responsible for the control of the process module. For example, the transport module software control system is mainly used to control moving parts such as robots and tank covers to realize the transmission of wafers; the process module software control system is mainly used to control various process modules (such as process tanks, etc.) and components such as heaters and circulating pumps configured in the process modules to realize wafer processing.
[0039] The whole process from the wafer being sent into the machine to completing specific processes in each process module and finally being sent out of the machine after drying and other treatments requires the cooperation of the host computer software, the transmission module software control system and the process module software control system. The process module software control system is responsible for the wafer process and has strict requirements on the process duration. For example, taking the tank cleaning machine as an example, it is not allowed to end early or end overtime (there is a risk of over-bubbling), otherwise it will affect the process processing effect of the wafer. For wet tank cleaning machines, the process has started after the wafer enters the process tank. Regardless of what actions are performed during the process and whether each action is executed for the time specified in the process recipe, the wafer process must be ended and the wafer sent out of the current process tank after the specified process duration of the wafer process is reached to avoid the wafer being scrapped due to over-bubbling.
[0040] In the prior art, in the process of executing the current process step, the timing result of the timer (such as the StopWatch timer) is usually obtained once per second, and the next process step is switched after the set duration of the current process step is reached. Among them, the timer obtains the timing result by allocating resources through the system (such as the CPU), that is, the system allocates resources to the timer for the timer to perform time calculation, so as to directly obtain the time currently calculated by the timer. Therefore, the timing result of the timer is affected by the system resources, wherein the timer starts from the first second and accumulates the timing according to the target timing unit (such as seconds), and the system needs to allocate resources for each increase of 1 second in the timing result. In the case of poor system performance, the actual duration from the first second to the second second may exceed 1 second. For example, the first second is counted at 10:00:00. Due to the high occupancy rate of system resources, resources are allocated to the timer after 2 seconds. Then the actual time at the second second is 10:00:03, and the timing result of the timer is 10:00:01, which is inconsistent with the actual time span, that is, the timing result of the timer cannot accurately reflect the actual time span. Since the end time of each process step is determined based on the timing result of the timer and provided to the host computer interface for real-time feedback display, it is impossible to accurately control the end time of the current process step, and thus it is impossible to ensure the control accuracy of the overall process duration of the processing process.
[0041] In order to solve the problem that traditional methods cannot accurately control the process duration of semiconductor process equipment in the process of controlling semiconductor process equipment to execute a process, in the technical solution of the present application, the process execution control method determines the remaining process duration of the current process step during the execution of each process step, and in response to the remaining process duration being greater than a predetermined duration, determines a first target duration based on the remaining process duration and sleeps for the first target duration before determining the remaining process duration of the current process step again, and in response to the remaining process duration being greater than 0 and less than or equal to the predetermined duration, controls the current process step to end execution after sleeping for a second target duration, wherein the second target duration is determined by the current time The first target duration is determined by the time difference between the current moment and the designated end moment of the current process step. The first target duration is greater than the second target duration. Therefore, when approaching the designated end moment of the current process step, the second target duration is determined by the time difference between the current moment and the designated end moment of the current process step. This can effectively avoid the influence of system resources on the accuracy of the determination result of the second target duration, and effectively improve the accuracy of the second target duration. Furthermore, when controlling the end execution of the current process after dormant for the second target duration, the end moment of the current process step can be accurately controlled, thereby improving the control accuracy of the overall process duration of the processing process and ensuring the process processing effect of the wafer.
[0042] Based on the above-mentioned inventive concept, the process execution control method provided in the embodiment of this specification is exemplarily described below.
[0043] Exemplary Methods
[0044] The embodiments of this specification provide a process execution control method, which is applied to semiconductor process equipment, such as Figure 1 As shown, the method includes:
[0045] S101. During the execution of each process step, determine the remaining process time of the current process step.
[0046] Specifically, the semiconductor process equipment may be a cleaning equipment, an etching equipment, a deposition equipment, etc. The cleaning equipment may include a tank cleaning machine, such as a wet tank cleaning machine.
[0047] The current process step may include any process step in the processing process of the semiconductor process equipment, wherein the processing process is the wafer process being executed at the current moment, and any wafer process may include at least one process step, and during the execution of each process step, the remaining process duration of the current process step may be polled at a certain time interval until the remaining process duration is less than or equal to zero, and the current process step is controlled to terminate execution. The time interval may be a fixed value, and the time interval may also be updated according to the remaining process duration obtained during the current polling process. For example, the time interval may be positively correlated with the remaining process duration, that is, the shorter the remaining process duration, the smaller the time interval, and conversely, the longer the remaining process duration, the larger the time interval.
[0048] Among them, in the process of determining the remaining process time of the current process step each time, the remaining process time can be determined based on the time difference between the specified end time of the current process step and the current time; in addition, the remaining process time of the current process step can also be determined by a timer after the current process step starts to execute, and in response to the remaining process time being less than or equal to a predetermined threshold, the next time the remaining process time of the current process step is determined, the remaining process time can be determined based on the time difference between the specified end time of the current process step and the current time.
[0049] For any process step in the processing process, the designated end time of the process step can be determined according to the execution start time of the processing process and the designated process duration of the process step and each process step before the process step configured in the process recipe corresponding to the processing process. The current time and the execution start time of the processing process can be obtained from the system standard time system, and the timing unit can be milliseconds.
[0050] S102: In response to the remaining process duration being greater than a predetermined duration, determining a first target duration based on the remaining process duration and dormant for the first target duration, and then determining the remaining process duration of the current process step again.
[0051] Specifically, the predetermined duration may be a predetermined proportion of the specified process duration of the current process step, such as 10%, 20%, etc., or may be a fixed value, such as 0.998s, etc., and may be set according to actual needs.
[0052] When the remaining process time of the current process step is greater than the predetermined time, the first target time can be determined based on the remaining process time, and the first target time can be a fixed value, for example, 1s; in addition, the first target time can also be determined based on the remaining process time and the predetermined corresponding relationship between the remaining process time and the first target time. For example, the first target time can be positively correlated with the remaining process time, that is, the longer the remaining process time, the longer the first target time, and vice versa, the shorter the remaining process time, the shorter the first target time, so that when the specified end time of the current process step is far away, by increasing the time interval between two adjacent pollings, the number of pollings can be effectively reduced, thereby reducing the consumption of computing resources. At the same time, when the specified end time of the current process step is close, the time interval between two adjacent pollings can be effectively reduced, thereby accurately controlling the end time of the current process step. The timing unit of the first target time can be set according to actual needs, for example, it can be milliseconds or seconds.
[0053] After determining the first target duration, the first target duration can be hibernated. During the hibernation of the first target duration, the waiting time can be directly performed according to the value and unit of the first target duration, or the waiting time can be performed using different timing units for the value of the first target duration. The mode can also be hibernated according to the difference between the first target duration and the target compensation duration. The target compensation duration may include the execution duration of the prerequisite action, the switching duration between two adjacent hibernations, etc.
[0054] After dormancy for the first target duration, the remaining process duration of the current process step can be determined again to implement polling of the remaining process duration of the current process step, that is, the first target duration can be used to characterize the time interval between two adjacent determinations of the remaining process duration of the current process step.
[0055] S103. In response to the remaining process duration being greater than 0 and less than or equal to the predetermined duration, controlling the current process step to terminate execution after sleeping for a second target duration; wherein the second target duration is determined by the time difference between the current moment and the specified end moment of the current process step, and the first target duration is greater than the second target duration.
[0056] Specifically, when the remaining process time of the current process step is greater than 0 and less than or equal to the predetermined time, a second target time may be determined, and the current process step may be controlled to terminate execution after dormancy for the second target time.
[0057] Among them, the second target duration can be determined based on the time difference between the current moment and the specified end time of the current process step. The current moment and the specified end time of the current process step can be obtained from the system standard time system, so as to effectively avoid the influence of system resources on the accuracy of the determination result of the second target duration, and achieve effective improvement of the accuracy of the second target duration. Then, when controlling the end of the current process after dormant for the second target time, the end time of the current process step can be accurately controlled, which further improves the control accuracy of the process duration of the processing process and ensures the process processing effect of the wafer.
[0058] In addition, the first target duration may be greater than the second target duration, so that when the specified end time of the current process step is far away, the number of polling times can be effectively reduced by increasing the time interval between different polling times, thereby reducing the consumption of computing resources.
[0059] It can be understood that when the processing technology includes multiple process steps, each process step can be controlled according to this method, so that the end time of each process step can be accurately controlled, thereby improving the control accuracy of the overall process time of the processing technology and ensuring the process processing effect of the wafer.
[0060] In the prior art, the process execution time (RunningTime) recorded by the timer is in milliseconds, and the process time (StepTime) of each process step configured in the process recipe (Recipe) is in seconds (for example, 10s). Therefore, during the execution of each process step, the remaining process time (LeftTime, i.e., the process time that has not yet been executed) is obtained by first converting the process execution time recorded by the timer from milliseconds to whole seconds (divided by 1000), and then taking the difference with the configured process time, i.e., LeftTime = StepTime-(RunningTime / 1000).
[0061] Since the type conversion mechanism when converting from double precision (Double) to integer (Int) in the software program is to retain only integer bits, therefore, in the process of determining the remaining process time by this method, there may be a situation where the calculated remaining process time differs from the actual remaining process time by nearly 1s. For example, when StepTime is 10s and RunningTime is 9999ms (i.e., close to 10s), the calculation result of RunningTime / 1000 is 9s, and the calculated LeftTime is 1s, while the actual remaining process time is only 1ms, that is, the calculated remaining process time differs from the actual remaining process time by nearly 1s, which will cause the current process step to be executed nearly 1s more. Therefore, when the wafer process includes multiple process steps, the execution time errors of multiple process steps will be accumulated, and eventually the actual execution time of the wafer process will be longer than the configured total process time, so that the process time of the semiconductor process equipment cannot be accurately controlled, and the process processing effect of the wafer cannot be guaranteed.
[0062] Based on this, in order to further improve the control accuracy of the process duration of the processing process, in one embodiment of the present specification, determining the remaining process duration of the current process step includes: determining the remaining process duration based on the time difference between the specified end time of the current process step and the current time, and the unit of the remaining process duration is a first target timing unit;
[0063] The determining of the first target duration based on the remaining process duration and sleeping for the first target duration includes: determining the value of the first target duration and a second target timing unit based on the remaining process duration, and performing waiting timing for the value of the first target duration with the second target timing unit; wherein the first target timing unit is smaller than the second target timing unit;
[0064] The sleeping second target duration includes: waiting for timing the value of the second target duration in the first target timing unit.
[0065] Specifically, each time the remaining process time of the current process step is determined, the remaining process time of the current process step can be determined according to the time difference between the specified end time of the current process step and the current time, thereby avoiding the influence on the accuracy of the determination result of the remaining process time by converting the unit of the process execution time recorded by the timer and taking the difference with the configured process time.
[0066] At the same time, the current moment and the designated end moment of the current process step can be obtained from the system standard time system, so that the accuracy of the determination result of the remaining process duration can be effectively avoided from being affected by system resources, and the control accuracy of the process duration of the processing process can be further improved by controlling the execution process of the current process step according to the remaining process duration. Among them, only the time difference timing method can be used during the execution of the entire wafer process, so that the influence of mutual interference between different timing methods on the accuracy of the timing result can be effectively avoided.
[0067] Among them, the unit of the remaining process time can be the first target timing unit. For example, when the first target timing unit is seconds, the time difference between the specified end time and the current time of the current process step can be converted into a value with seconds as the timing unit, and used as the remaining process time of the current process step; when the first target timing unit is milliseconds, the time difference between the specified end time and the current time of the current process step can be converted into a value with milliseconds as the timing unit, and used as the remaining process time of the current process step.
[0068] In addition, in the process of determining the first target duration based on the remaining process duration and dormant the first target duration, the value of the first target duration and the second target timing unit can be determined based on the remaining process duration. Among them, the first target timing unit is smaller than the second target timing unit, that is, the timing accuracy of the second target timing unit is lower than the timing accuracy of the first target timing unit. The second target timing unit can be a fixed timing unit, and the second target timing unit under the remaining process duration can also be determined based on the remaining process duration of the current process step and the predetermined corresponding relationship between the process duration and the second target timing unit. The second target timing unit can be positively correlated with the remaining process duration, that is, the longer the remaining process duration, the larger the second target timing unit, and conversely, the shorter the remaining process duration, the smaller the second target timing unit. It can be understood that the smaller the target timing unit, the more accurate the timing result.
[0069] During implementation, waiting timing can be performed on the value of the first target duration based on the second target timing unit, that is, when the unit of the second target timing unit is the same as that of the first target duration, waiting timing can be performed directly according to the first target duration; when the unit of the second target timing unit is different from that of the first target duration, the value of the first target duration can be converted into the duration under the second target timing unit, and then waiting timing can be performed according to the duration under the second target timing unit. Therefore, when the specified end time of the current process step is far away, the consumption of computing resources can be effectively reduced by waiting timing according to a larger timing unit.
[0070] During the sleep period of the second target time, the value of the second target time can be waited for based on the first target timing unit. Thus, when the specified end time of the current process step is close, the end time of the current process step can be accurately controlled by using a high-precision first target timing unit, thereby improving the control accuracy of the process time of the processing process and ensuring the process processing effect of the wafer.
[0071] In a feasible implementation manner, the first target timing unit is milliseconds; and the second target timing unit is seconds.
[0072] Specifically, the first target timing unit can be milliseconds. Therefore, by using the high-precision first target timing unit as the unit of the remaining process duration, the accuracy of the remaining process duration of the current process step can be effectively improved. Furthermore, in the process of executing sleep according to the comparison result between the remaining process duration and the predetermined duration, it can effectively avoid the deviation of the comparison result causing the sleep time to be too long and affect the end time of the current process step.
[0073] At the same time, in the process of waiting timing for the value of the second target duration based on the first target timing unit, the end time of the current process step can be accurately controlled by adopting a high-precision first target timing unit, thereby improving the control accuracy of the process duration of the processing process and ensuring the process processing effect of the wafer.
[0074] In addition, the second target timing unit may be seconds, so that when the time is far from the designated end time of the current process step, the consumption of computing resources can be effectively reduced by waiting for timing according to a larger timing unit.
[0075] In a feasible implementation manner, the first target duration is 1 second.
[0076] Specifically, the first target duration can be a fixed value of 1 second, that is, when the remaining process duration of the current process step is greater than the predetermined duration, the remaining process duration of the current process step can be determined again after sleeping for 1 second, that is, the time interval between two adjacent sleeps is fixed to 1 second, so that in each process of polling the remaining process duration of the current process step, the first target duration can be quickly and accurately determined, thereby reducing the impact of the switching duration between two adjacent sleeps on the end time of the current process step, and further improving the control accuracy of the end time of the current process step. At the same time, by fixing the time interval between two adjacent sleeps to 1 second, it is possible to ensure a smaller number of polling times when the remaining process duration of the current process step is greater than the predetermined duration, thereby reducing the consumption of computing resources.
[0077] In a feasible implementation, the method further includes: when each process step starts to be executed, recording the start time of the current process step, starting a target thread, and executing a prerequisite action of the current process step; wherein the target thread is used to execute the processing process;
[0078] The dormancy for the first target duration includes: in response to the completion of the execution of the prerequisite action, the target thread sleeps for a remaining duration; wherein the remaining duration is the difference between the first target duration and the execution duration of the prerequisite action.
[0079] Specifically, each process step in the process can be executed by the target thread. For any process step in the process, the prerequisite action of the process step can include actions that must be completed before the current process step starts, such as opening and / or closing related valves.
[0080] During implementation, the start time of the current process step can be recorded first, and then the target thread can be started to execute the prerequisite action of the current process step after recording the start time of the current process step to avoid the impact of the execution time of the prerequisite action on the overall process time of the processing process.
[0081] After the execution of the prerequisite action of the current process step is completed, the execution time of the prerequisite action can be obtained. For example, the difference between the execution end time of the prerequisite action and the execution start time of the prerequisite action can be used as the execution time of the prerequisite action. In implementation, the difference between the first target time and the execution time of the prerequisite action can be used as the remaining time, and after the target thread sleeps for the remaining time, the remaining process time of the current process step is determined again.
[0082] Therefore, during the first execution of sleep by the target thread in the current process step, the execution time of the prerequisite action can be effectively compensated, thereby effectively avoiding the impact of the execution of the prerequisite action on the end time of the current process step, and then the end of the current process step can be accurately controlled according to the specified end time of the current process step, thereby ensuring the accuracy of the overall process time of the processing process.
[0083] It can be understood that the execution time of the prerequisite action is usually shorter than the first target time.
[0084] In a feasible implementation manner, there is a switching duration between two adjacent sleep times; the first target sleep duration or the second target sleep duration includes:
[0085] In response to the end of the previous sleep, the current sleep is ended by waiting for the difference between the first target duration or the second target duration and the switching duration.
[0086] Specifically, the switching duration between two adjacent sleep states can be determined by system resources. For example, the more abundant the system resources are, the shorter the switching duration between two adjacent sleep states. In implementation, when a signal representing the entry into this sleep state is received, the switching duration from the previous sleep state to the current sleep state can be determined based on the difference between the current moment and the end moment of the previous sleep state. It is understandable that historical data of the switching duration between two adjacent sleep states can also be obtained, and a set value of the switching duration between two adjacent sleep states can be determined based on the historical data. For example, the average of multiple historical data can be used as the set value of the switching duration between two adjacent sleep states, so that the set value of the switching duration between two adjacent sleep states can be used as the switching duration from the previous sleep state to the current sleep state.
[0087] In implementation, when the current sleep duration is determined to be the first target duration according to the remaining process duration of the current process step, the current sleep can be ended after waiting for the difference between the first target duration and the switching duration at the end of the previous sleep. When the current sleep duration is determined to be the second target duration according to the remaining process duration of the current process step, the current sleep can be ended after waiting for the difference between the second target duration and the switching duration at the end of the previous sleep.
[0088] For example, if the switching duration between two adjacent sleep states is 100 ms, and the first target duration is 1 s, the current sleep state may be terminated after waiting for 900 ms.
[0089] Therefore, by compensating the switching duration between two adjacent sleep processes during each sleep process, it can be ensured that each sleep process can end accurately at the specified end time, thereby reducing the impact of the switching duration on the end time of the current process step, and ensuring the accuracy of the overall process duration of the processing process.
[0090] In the prior art, the Do-Process and the pre-actions (Pre-Process) and post-actions (Post-Process) of the Do-Process are usually executed by synchronously calling the same thread, that is, the pre-action, the Do-Process and the post-action are sequentially executed by calling the same thread, and the execution time of the Do-Process and the pre-actions and post-actions of the Do-Process are recorded by a timer configured by the system (such as a StopWatch timer), wherein, during the synchronous calling process, the latter action waits for the former action to be completed before starting, and if timing is performed simultaneously during the execution of the pre-action and the post-action, the actual process time of the Do-Process will include the time consumed by the pre-action and the post-action during the execution process and the timing statistics of the Do-Process, and the precise control of the process time of the Do-Process cannot be guaranteed. For example, taking a wet tank cleaning machine as an example, after the wafer enters the process tank, it means that the wafer process has started. It takes 100ms to execute a certain pre-action (such as starting the monitor). The timing of the processing process is started only after the action is completed, so that the actual process time of the processing process is 100ms longer than the time consumed by the pre-action, resulting in the wafer being in the process tank for a longer time than the timing statistics of the wafer process, which in turn causes over-bubbling of the wafer.
[0091] In addition, each process step of the processing process may also include some actions to be executed. Currently, each process step and the actions to be executed in each process step are usually executed by synchronously calling the same thread. If timing is performed while executing the action, the time consumed by the action during the execution process will also be included in the actual process duration of the processing process, thereby making it impossible to guarantee accurate control of the process duration of the processing process.
[0092] Based on this, in order to further improve the control accuracy of the process duration of the processing process, in one embodiment of the present specification, it also includes:
[0093] Starting a first thread other than the target thread to execute the pre-action and / or post-action in the processing process;
[0094] and / or,
[0095] A second thread other than the target thread is started to execute actions other than the prerequisite action in the current process step.
[0096] Specifically, during the execution of the treatment process, it may also include pre-actions and / or post-actions. The pre-actions and post-actions may be actions associated with the treatment process. For example, taking a tank cleaning machine as an example, the pre-actions may include starting a monitor, closing corresponding components or valves, etc., and the post-actions may include turning on an over-bubble protection mechanism, etc.
[0097] During implementation, a first thread other than the target thread can be started to execute the pre-action and / or post-action of the processing process. Thus, the processing process and the pre-action and / or post-action can be executed respectively by asynchronously calling the target thread and the first thread, so that the execution of the pre-action and / or post-action of the processing process does not affect the execution time of the processing process, thereby effectively ensuring the control accuracy of the process time of the processing process.
[0098] At the same time, in the prior art, there are differences in the process duration of the processing process recorded by the upper computer and the lower computer. For example, the upper computer usually uses the moment BTC_T1 of issuing the process service command of the processing process as the process start moment of the processing process, and uses the moment BTC_T2 of receiving the process end feedback of the processing process as the process end moment of the processing process, that is, the process duration of the processing process recorded by the upper computer is BTC_t=BTC_T2-BTC_T1. After receiving the process service command sent by the upper computer, the lower computer times the processing process and the preceding and following actions of the processing process in three stages, that is, the starting time of the preceding action is BTC_T1 (network delay is ignored here), the ending time of the following action is BTC_T2 (network delay is ignored here), the starting time of the processing process is the moment PMC_T1 when the first process step in the process recipe starts, and the ending time of the processing process is the moment PMC_T2 when all process steps in the process recipe are finished, that is, the process duration PMC_t of the processing process recorded by the lower computer is PMC_T2-PMC_T1. Among them, the relationship between the process duration BTC_t recorded by the upper computer and the process duration PMC_t recorded by the lower computer is BTC_t=PMC_t+Pre_t+Post_t, Pre_t and Post_t are the time consumption of the pre-action and the time consumption of the post-action respectively, Pre_t=PMC_T1-BTC_T1, Post_t=BTC_T2-PMC_T2. As a result, there is a difference in the process duration of the processing process recorded by the upper computer and the lower computer, that is, the process duration of each wafer process recorded by the upper computer seen by the user through the human-computer interaction interface is longer than the process duration of the corresponding wafer process recorded by the lower computer. Therefore, the process duration of each wafer process can be recorded only by the lower computer, and the upper computer can read the process duration of each wafer process from the lower computer.
[0099] In addition, for any process step in the processing process, each action of the process step may also include actions other than prerequisite actions, for example, feeding back process data of the process step to a host computer, receiving instructions issued by the host computer, etc.
[0100] During implementation, during the execution of the current process step, a second thread other than the target thread can be opened to execute actions other than the prerequisite actions in the current process step. Thus, the current process step and actions other than the prerequisite actions in the current process step can be executed respectively by asynchronously calling the target thread and the second thread, so that the execution of actions other than the prerequisite actions in the current process step does not affect the execution duration of the current process step, thereby effectively ensuring the control accuracy of the process duration of the processing process.
[0101] In one embodiment of the present specification, it also includes:
[0102] In response to the remaining process time being less than or equal to 0, the current process step is controlled to end execution.
[0103] Specifically, due to execution timeout of the process step before the current process step and / or excessive execution time of the action in the current process step, the remaining process time of the current process step may be less than or equal to zero when the remaining process time of the current process step is determined for the first time. At this time, the current process step can be directly controlled to terminate execution, thereby further compensating for the impact of execution timeout of some process steps in the processing process on the overall process time of the processing process, thereby effectively ensuring the control accuracy of the process time of the processing process.
[0104] As an optional implementation, the remaining process time of the current process step can also be polled in the following manner:
[0105] Divide the time period between the specified start time of the current process step and the specified end time of the current process step into a plurality of time segments, and determine the durations of the first N time segments based on the second target timing unit in a time-to-time order, and determine the durations of the remaining time segments based on the first target timing unit, where N is less than the total number of the time segments;
[0106] Determine a target time segment based on an initial polling moment; the target time segment is a time segment at which the initial polling moment is located;
[0107] In response to the existence of the target time segment, starting from the target time segment, hibernation is performed based on each of the time segments in order from the front to the back, until the last time segment ends, and the current process step is controlled to end execution;
[0108] In response to the target time segment not existing, the current process step is controlled to end execution.
[0109] Specifically, for any process step in a processing technique, the designated start time of the process step can be determined based on the execution start time of the processing technique and the designated process durations of the process steps before the process step configured in the process recipe corresponding to the processing technique.
[0110] In implementation, the time period between the specified start time of the current process step and the specified end time of the current process step can be divided into multiple time segments, and the multiple time segments are continuously distributed in time, that is, for two adjacent time segments, the end time of the previous time segment can be the same as the start time of the latter time segment. Among them, the time lengths of different time segments can be the same or different, and can be set according to actual needs. For example, the time length of each time segment can be determined according to the specified process duration of the process step configured in the process recipe corresponding to the processing process and the time interval between different pollings, that is, multiple time segments can correspond one-to-one to multiple pollings.
[0111] Among them, the timing units of the first N time segments can be set to the second target timing unit in the order from the front to the back, and the timing units of the remaining time segments can be set to the first target timing unit, that is, the time length units of the first N time segments are the second target timing unit, and the time length units of the remaining time segments are the first target timing unit. N can be less than the total number of time segments. In implementation, the value of N can be determined according to the predetermined time length and the length of each time segment. For example, when the specified process time length of the current process step is 10s, the current process step can be divided into 9 1s and 1 1000 millisecond time segments.
[0112] The initial polling moment is the moment when polling for the remaining process duration begins. In implementation, during the execution of the current process step, the initial polling moment can be matched with each time segment corresponding to the current process step, and the time segment where the initial polling moment is located is used as the target time segment. When the target time segment exists, it indicates that the initial polling moment is matched successfully, and sleep can be performed based on each time segment in order from the target time segment in order from the front to the back, so as to poll the remaining process duration according to the time segment. At the same time, when the actual start time of the current process step is later than the specified start time, or when there is a prerequisite action in the current process step that needs to be executed, the current process step can still be controlled to end execution according to the specified end time of the current process step, and then the execution time of the prerequisite action in the current process step and the delay of the previous process step can be compensated by controlling the end time of the current process step. The influence on the accuracy of the overall process duration of the processing process can be compensated.
[0113] For example, for any time segment, it is possible to determine whether the switching condition of the time segment is met based on the time difference between the specified end time of the time segment and the current time, and switch to the next time segment when the switching condition of the time segment is met, and perform sleep when the switching condition of the time segment is not met, that is, wait for entering the next time segment. It is understandable that the actual execution duration of the time segment can also be determined by the timer configured by the system, and whether the switching condition of the time segment is met is determined based on the comparison result between the actual execution duration of the time segment and the specified execution duration. As a preferred embodiment, it is possible to determine whether the switching condition of the time segment is met based on the time difference between the specified end time of the time segment and the current time, so that the influence of system delay and the like on the accuracy of the switching result of the time segment can be effectively avoided according to the time difference. At the same time, since the timing accuracy of the timer configured by the system is affected by system resources, determining whether the switching condition of the time segment is met according to the time difference between the specified end time of the time segment and the current time can effectively avoid the influence of insufficient system resources on the accuracy of the switching result of the time segment, and thus can accurately control the end time of the current process step.
[0114] It is understandable that, in the process of performing sleep based on the last time segment, when it is determined that the switching condition of the time segment is met, the current process step can be directly controlled to end.
[0115] In addition, when the target time segment does not exist, it indicates that the initial polling time match fails, that is, the initial polling time is outside the time interval from the specified start time to the specified end time of the current process step. For example, when the actual end time of the previous process step of the current process step is later than the specified end time, resulting in the actual start time of the current process step being later than the specified start time, or when the execution time of the prerequisite action in the current process step is too long, it may cause the initial polling time of the current process step to be later than the specified end time of the current process step. At this time, the remaining process time of the current process step is less than zero, and the end of the current process step can be directly controlled, thereby compensating to the greatest extent the influence of the delay of the current process step and / or the process step before the current process step on the accuracy of the overall process time of the processing process.
[0116] Optionally, the initial polling time is determined by the following method:
[0117] When there is a prerequisite action in the current process step, determining the execution end time of the prerequisite action as the initial polling time; the prerequisite action is executed after recording the actual start time of the current process step;
[0118] When the prerequisite action does not exist in the current process step, the actual start time of the current process step is determined as the initial polling time, and the actual start time is determined based on the start time of the processing technology or the actual end time of the previous process step.
[0119] Specifically, when there is a prerequisite action in the current process step, the execution end time of the prerequisite action can be used as the initial polling time to ensure the effective execution of the prerequisite action. At the same time, when the target time segment is determined according to the execution end time of the prerequisite action, and hibernation is performed based on each time segment starting from the target time segment, it can effectively compensate for the impact of the execution duration of the prerequisite action on the end time of the current process step, and then the end execution of the current process step can be accurately controlled, ensuring the accuracy of the overall process duration of the processing process.
[0120] When there is no prerequisite action in the current process step, the actual start time of the current process step can be used as the initial polling time. Among them, when the current process step is the first process step in the processing process, the start time of the processing process can be used as the actual start time of the current process step, and the start time of the processing process is the time when the processing process starts to be executed. When the current process step is any process step after the first process step in the processing process, the actual end time of the previous process step of the current process step can be used as the actual start time of the current process step. It can be understood that when the delay of the previous process step ends, the actual start time of the current process step is later than the specified start time of the current process step, so that when the target time segment is determined according to the actual start time of the current process step, and the sleep is performed based on each time segment starting from the target time segment, it can effectively compensate for the influence of the delay of the process step before the current process step on the end time of the current process step, and then the end execution of the current process step can be accurately controlled, ensuring the accuracy of the overall process duration of the processing process.
[0121] Optionally, starting from the target time segment, performing sleep based on each of the time segments in order from the front to the back, includes:
[0122] Based on the execution start time of the current time segment and the specified end time of the current time segment, the remaining duration of the current time segment is determined, and hibernation is performed based on the remaining duration.
[0123] Specifically, the execution start time of the current time segment may include the time from the initial polling time to the time when the current time segment is successfully entered. The specified end time of the current time segment may be determined according to the specified start time of the current process step and the time lengths of the current time segment and the time segments before the current time segment.
[0124] During implementation, the remaining duration of the current time segment can be determined based on the execution start time and end time of the current time segment, and sleep can be performed based on the remaining duration, and when the sleep ends, switching to the next time segment or controlling the current process step to end execution.
[0125] For example, when the specified process duration of the current process step is 10s, and the current process step is divided into 9 time segments of 1s and 1 1000 milliseconds, the prerequisite action in the current process step is executed after recording the actual start time of the current process step. The execution duration of the prerequisite action is 500ms. The first time segment can be used as the target time segment, and the execution start time of the target time segment is the actual start time of the current process step + 500ms. Therefore, the remaining duration of the target time segment is 500ms, that is, after executing 500ms of sleep, switch to the next time segment to ensure that the current process step can be controlled to end at the specified end time of the current process step.
[0126] Therefore, executing sleep according to the remaining duration of each time segment can ensure to the greatest extent that each time segment ends according to the corresponding specified end time, and then can accurately control the end of the current process step, ensuring the accuracy of the overall process duration of the processing process.
[0127] Optionally, the execution start time of the current time segment is determined by the following method:
[0128] If the current time segment is the target time segment, determining the initial polling time as the execution start time of the current time segment;
[0129] If the current time segment is a time segment after the target time segment, the execution start time of the current time segment is determined based on the specified start time of the current time segment.
[0130] Specifically, when the current time segment is the target time segment, the initial polling time can be used as the execution start time of the current time segment, that is, the difference between the specified end time of the current time segment and the initial polling time can be used as the remaining duration of the current time segment, so as to perform hibernation based on the remaining duration of the current time segment.
[0131] When the current time segment is any time segment after the target time segment, the execution start time of the current time segment can be determined based on the specified start time of the current time segment. For example, the specified start time of the current time segment can be directly used as the execution start time of the current time segment, and the switching duration from the previous time segment to the current time segment can be obtained, and the execution start time of the current time segment can be determined based on the specified start time of the current time segment and the switching duration from the previous time segment to the current time segment. Thus, when the remaining duration of the current time segment is determined according to the difference between the specified end time of the current time segment and the execution start time of the current time segment, and hibernation is performed based on the remaining duration, the accuracy of the determination result of the remaining duration of the current time segment can be effectively guaranteed, so that the current time segment can be ensured to end precisely at the specified end time, and the accuracy of the overall process duration of the processing process can be guaranteed.
[0132] Optionally, determining the execution start time of the current time segment based on the specified start time of the current time segment includes:
[0133] Based on the specified start time of the current time segment and the switching duration from the previous time segment to the current time segment, the execution start time of the current time segment is determined.
[0134] Specifically, the switching duration between time segments can be determined by system resources. For example, the more abundant the system resources are, the shorter the switching duration between time segments. In implementation, when a signal representing entry into the current time segment is received, the switching duration from the previous time segment to the current time segment can be determined based on the difference between the current moment and the specified start moment of the current time segment. It can be understood that historical data of the switching duration between time segments can also be obtained, and the set value of the switching duration between time segments can be determined based on the historical data. For example, the average of multiple historical data can be used as the set value of the switching duration between time segments, so that the set value of the switching duration between time segments can be used as the switching duration from the previous time segment to the current time segment.
[0135] During implementation, the specified start time of the current time segment and the sum of the switching duration from the previous time segment to the current time segment can be used as the execution start time of the current time segment, that is, the sleep duration of the current time segment is the difference between the time length of the current time segment and the switching duration.
[0136] For example, when the specified process duration of the current process step is 10s, and the current process step is divided into 9 time segments of 1s and 1 1000 milliseconds, if the switching duration between the time segments is 100ms, then after executing 900ms of sleep, you can enter the next time segment or control the current process step to end execution.
[0137] Therefore, when the remaining duration of the current time segment is determined according to the difference between the specified end time of the current time segment and the execution start time of the current time segment, and hibernation is performed based on the remaining duration, the accuracy of the determination result of the remaining duration of the current time segment can be effectively guaranteed, thereby ensuring that the current time segment ends precisely at the specified end time, thereby ensuring the accuracy of the overall process duration of the processing process.
[0138] The specific implementation of the process execution control method of the present application is illustrated below by way of a feasible implementation method. Figure 2 As shown, including:
[0139] S201, upon receiving a process service command issued by a host computer, calling a first thread to execute a pre-action of a wafer process;
[0140] S202, calling the target thread to execute the wafer process when the preceding action is finished, and recording the start time of the wafer process;
[0141] S203, executing each process step in the wafer process according to the process recipe of the wafer process;
[0142] S204, determining whether each process step in the process recipe has been completed, if so, executing step S213, if not, executing step S205;
[0143] S205, recording the actual start time of the current process step;
[0144] S206, calling the second thread to execute actions other than the prerequisite actions in the current process step;
[0145] S207, sleep for 1s;
[0146] S208, obtaining the remaining process time of the current process step;
[0147] S209, determining whether the remaining process time is greater than the predetermined time, if so, executing step S207, if not, executing step S210;
[0148] S210, determining whether the remaining process time is greater than 0, if so, executing step S211, if not, executing step S212;
[0149] S211, sleep second target duration;
[0150] S212, control the current process step to end, and execute step S204;
[0151] S213, recording the end time of the wafer process, and the wafer process is ended;
[0152] S214, calling the first thread to execute post-processing actions of the wafer process;
[0153] S215, the wafer process flow ends.
[0154] Among them, in the process of executing steps S205 to S212, the time period between the specified start time of the current process step and the specified end time of the current process step can also be divided into multiple time segments, and the remaining process duration of the current process step can be polled according to the time segments to control the current process step to end execution when the remaining process duration of the current process step is less than or equal to zero.
[0155] For example, when the specified process duration of the current process step is 10 seconds, the current process step can be divided into 9 1-second time segments and 1 1000-millisecond time segment. When the current process step includes a prerequisite action and the actual start time of the current process step is the same as the specified start time of the current process step, the execution process of the current process step can be as follows: Figure 3 As shown, including:
[0156] S301, recording the actual start time of the current process step;
[0157] S302, calling the target thread to execute a prerequisite action, and calling the second thread to execute actions other than the prerequisite action in the current process step;
[0158] S303, when the execution of the prerequisite action ends, taking the execution end time of the prerequisite action as the target time, and determining the target time segment based on the target time;
[0159] S304, determining whether there is a target time segment in each time segment corresponding to the current process step, if yes, executing step S305, if not, executing step S308;
[0160] S305, taking the time difference between the designated end time of the target time segment and the target time as the target duration corresponding to the target time segment, and performing sleep based on the target duration;
[0161] S306, determining whether the target time segment is the last time segment among the time segments corresponding to the current process step, if so, executing step S308, if not, executing step S307;
[0162] S307, taking the next time segment as the target time segment, and determining the target time based on the specified start time of the target time segment and the switching duration between adjacent time segments, and executing step S305;
[0163] S308, controlling the current process step to end execution.
[0164] The following takes the wet tank cleaning machine as an example. Figure 3 The effect of the process step execution method shown in is described in detail. For example, the process recipe of the wafer process can be shown in Table 1:
[0165] Table 1
[0166] Process steps Process time(s) Fluid filling valve Drain valve Megaphone one 5 Open closure closure two 5 Open closure Open three 10 closure Open closure Four 2 closure closure closure
[0167] It can be seen from Table 1 that the processing process includes four process steps in total. The total process time of the processing process is the sum of the process time of each process step configured in the process recipe, that is, the total process time is 5+5+10+2=22s, that is, when the process time reaches 22s, the wafer needs to leave the corresponding process tank, otherwise bubbles will occur. Assuming that there is no network delay (i.e., the signal can be sent to the hardware immediately) and system resources are scarce (i.e., the timing result is not affected by system resources), and the hardware control takes 1 second (for example, the corresponding valve takes 1 second to complete the opening or closing action), then in the process of executing the wafer process according to the existing method, the actual process time of process step one is: hardware control 1s + process time 5s = 6s, the actual process time of process step two is: hardware control 1s + process time 5s = 6s, the actual process time of process step three is: hardware control 1s + process time 10s = 11s, and the actual process time of process step four is: hardware control 1s + process time 2s = 3s, that is, each process step has 1s of hardware control time, the wafer process includes a total of 4s of cumulative hardware control time, and the final total process time is 26s, with 4s of over-bubbling.
[0168] According to this application Figure 3In the process of executing process steps one to four in sequence according to the process step execution method shown in , the actual process time of process step one is: hardware control 1s + process time 4s = 5s, the actual process time of process step two is: hardware control 1s + process time 4s = 5s, the actual process time of process step three is: hardware control 1s + process time 9s = 10s, and the actual process time of process step four is: hardware control 1s + process time 1s = 2s, that is, the 1s hardware control time in each process step can be compensated in the corresponding process step, and the final total process time of the wafer process is 22s, which is consistent with the sum of the process times of each process step configured in the process recipe, avoiding the risk of over-bubbling.
[0169] Exemplary Devices
[0170] In an exemplary embodiment of the present specification, a semiconductor process device is also provided, including: at least one processor and at least one memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the process execution control method described in any of the above embodiments is implemented.
[0171] Exemplary computer program products and storage media
[0172] In addition to the above-mentioned methods and devices, the process execution control method provided in the embodiments of this specification may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the process execution control method according to various embodiments of this specification described in the above "Exemplary Method" section of this specification.
[0173] The computer program product may be written in any combination of one or more programming languages to write program code for performing the operations of the embodiments of the present specification, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the semiconductor process equipment, partially on the equipment, as a separate software package, partially on the semiconductor process equipment and partially on a remote semiconductor process equipment, or entirely on a remote semiconductor process equipment or server.
[0174] In addition, an embodiment of the present specification also provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to execute the steps of the process execution control method according to various embodiments of the present specification described in the above "Exemplary Method" section of the present specification.
[0175] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this specification can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0176] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0177] The above-mentioned embodiments only express several implementation methods of this specification, and the descriptions are relatively specific and detailed, but they cannot be understood as limiting the scope of the solutions provided by the embodiments of this specification. It should be pointed out that for ordinary technicians in this field, several modifications and improvements can be made without departing from the concept of this specification, which all belong to the protection scope of this specification. Therefore, the protection scope of the patent of this specification shall be based on the attached claims.
Claims
1. A process execution control method, characterized in that: Applied to semiconductor process equipment, the method comprises: During the execution of each process step, determining the remaining process time of the current process step; In response to the remaining process time being greater than a predetermined time, determining a first target time based on the remaining process time and dormant for the first target time, and then determining the remaining process time of the current process step again; In response to the remaining process duration being greater than 0 and less than or equal to the predetermined duration, the current process step is controlled to terminate execution after sleeping for a second target duration; wherein the second target duration is determined by the time difference between the current moment and the designated end moment of the current process step, and the first target duration is greater than the second target duration.
2. The method according to claim 1, characterized in that Determining the remaining process time of the current process step includes: determining the remaining process time based on the time difference between the specified end time of the current process step and the current time, wherein the unit of the remaining process time is a first target timing unit; The determining of the first target duration based on the remaining process duration and sleeping for the first target duration includes: determining the value of the first target duration and a second target timing unit based on the remaining process duration, and performing waiting timing for the value of the first target duration with the second target timing unit; wherein the first target timing unit is smaller than the second target timing unit; The sleeping second target duration includes: waiting for timing the value of the second target duration in the first target timing unit.
3. The method according to claim 2, characterized in that The first target timing unit is milliseconds; the second target timing unit is seconds.
4. The method according to claim 3, characterized in that The first target duration is 1 second.
5. The method according to claim 1, characterized in that Also includes: When each process step starts to be executed, the start time of the current process step is recorded, the target thread is started, and the prerequisite action of the current process step is executed; wherein the target thread is used to execute the processing process; The first target sleep duration includes: in response to the completion of the execution of the prerequisite action, the target thread sleeps for a remaining time; wherein the remaining time is the difference between the first target time and the execution time of the prerequisite action.
6. The method according to claim 1, characterized in that There is a switching duration between two adjacent sleep times; the first target sleep duration or the second target sleep duration includes: In response to the end of the previous sleep, the current sleep is ended by waiting for the difference between the first target duration or the second target duration and the switching duration.
7. The method according to claim 5, characterized in that Also includes: Starting a first thread other than the target thread to execute the pre-action and / or post-action in the processing process; and / or, A second thread other than the target thread is started to execute actions other than the prerequisite action in the current process step.
8. The method according to claim 1, characterized in that Also includes: In response to the remaining process time being less than or equal to 0, the current process step is controlled to terminate execution.
9. A semiconductor process equipment, characterized in that: The method comprises at least one processor and at least one memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the process execution control method according to any one of claims 1 to 8 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the process execution control method according to any one of claims 1 to 8 is implemented.