Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for sequencing a plurality of tasks performed by a processing system, the method comprising: generating a schedule by iteratively performing a scheduling process, the scheduling process comprising: generating a first list of highly constrained tasks from a plurality of tasks yet to be scheduled based on a difference between a latest start time and an earliest start time of each respective task; determining whether a portion of the first list of the highly constrained tasks exceeds a capacity of a plurality of semiconductor processing equipment stations comprising the processing system, wherein said determining comprises: generating a station set list of sets of semiconductor processing equipment stations corresponding to the semiconductor processing equipment station on which a highly constrained task can run; generating a second list based on each set of semiconductor processing equipment stations in the station set list by creating sets of highly constrained tasks that may run on each set of semiconductor processing equipment stations in the station set list; and determining for each set of highly constrained tasks in the second list whether the set of highly constrained tasks exceed the capacity of the plurality of semiconductor processing equipment stations; responsive to determining the portion of the first list does exceed the capacity, assigning a task from the first list of highly constrained tasks at a next available time on one of the plurality of semiconductor processing equipment stations; responsive to determining the portion of the first list does not exceed the capacity, assigning a task from the plurality of tasks yet to be scheduled to run at a next available time on one of the plurality of semiconductor processing equipment stations; and updating the latest start time and the earliest start time associated with each of the plurality of tasks yet to be scheduled based on the assigned task; and processing a plurality of substrates using the plurality of semiconductor processing equipment stations according to the schedule.
2. The method of claim 1 , further comprising: determining if an overlap exists between each pair of tasks within each set of semiconductor processing equipment stations in the station set list, wherein an overlap exists if a latest first start time of a first task is earlier than a earliest second end time of a second task and a latest second start time for the second task is earlier than a earliest first end time; and partitioning the second list into sub-lists of highly constrained tasks that overlap each other in time.
3. The method of claim 1 , wherein the first list of highly constrained tasks from the plurality of tasks yet to be scheduled is based on a difference between a latest start time and an earliest start time that is less than some constant, wherein the constant is greater than zero and may be set by a user.
4. The method of claim 3 , wherein the constant is a duration of a task from the plurality of tasks yet to be scheduled.
5. The method of claim 1 , wherein the portion of the first list exceeds the capacity of a plurality of semiconductor processing equipment stations when a number of tasks is greater than or equal to a number of stations multiplied by a constant, wherein the constant is greater than zero and may be set by a user.
6. The method of claim 1 , wherein the portion of the first list exceeds the capacity of a plurality of semiconductor processing equipment stations when a number of tasks is greater than or equal to a number of stations plus a constant, wherein the constant is greater than zero and may be set by a user.
7. A method for a scheduling a plurality of substrate processing tasks performed by a processing system, the method comprising: generating a schedule for a plurality of substrate processing tasks by iteratively performing a scheduling process comprising: generating a first list of highly constrained tasks from a plurality of substrate processing tasks yet to be scheduled based on a difference between a latest start time and an earliest start time of each respective substrate processing task; determining whether a portion of the first list of the highly constrained tasks exceeds a capacity of the plurality of semiconductor processing equipment stations, wherein said determining comprises: generating a station set list of sets of semiconductor processing equipment stations corresponding to the semiconductor processing equipment station on which a highly constrained task can run; generating a second list based on each set of semiconductor processing equipment stations in the station set list by creating sets of highly constrained tasks that may run on each set of semiconductor processing equipment stations in the station set list; and determining for each set of highly constrained tasks in the second list whether the set of highly constrained tasks exceed the capacity of the plurality of semiconductor processing equipment stations; responsive to determining the portion of the first list does exceed the capacity, assigning a substrate processing task from the first list of highly constrained tasks at a next time on one of the plurality of semiconductor processing equipment stations; responsive to determining the portion of the first list does not exceed the capacity, assigning a task from the plurality of substrate processing tasks yet to be scheduled to run at a next time on one of the plurality of semiconductor processing equipment stations; and updating the latest start time and the earliest start time associated with each of the plurality of substrate processing tasks yet to be scheduled based on the assigned substrate processing task; and processing a plurality of substrates using the plurality of semiconductor processing equipment stations according to the schedule.
8. The method of claim 7 , further comprising: determining if an overlap exists between each pair of tasks within each set of semiconductor processing equipment stations in the station set list, wherein an overlap exists if a latest first start time of a first task is earlier than a earliest second end time of a second task and a latest second start time for the second task is earlier than a earliest first end time; and partitioning the second list into sub-lists of highly constrained tasks that overlap each other in time.
9. The method of claim 7 , wherein the first list of highly constrained tasks from the plurality of tasks yet to be scheduled is based on a difference between a latest start time and an earliest start time that is less than some constant, wherein the constant is greater than zero and may be set by a user.
10. The method of claim 9 , wherein the constant is a duration of a task from the plurality of tasks yet to be scheduled.
11. The method of claim 7 , wherein the portion of the first list exceeds the capacity of semiconductor processing equipment stations when a number of tasks is greater than or equal to a number of stations multiplied by a constant, wherein the constant is greater than zero and may be set by a user.
12. The method of claim 7 , wherein the portion of the first list exceeds the capacity of semiconductor processing equipment stations when a number of tasks is greater than or equal to a number of stations plus a constant, wherein the constant is greater than zero and may be set by a user.
Unknown
December 25, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.