|
|
|
TASK MANAGEMENT OR CONTROL |
Process control interface system for designer and operator4679137
Abstract
A system and method for computer control of machine processes, including a dynamic menu feature used in the selection of processes and the definition and selection of operating parameters used by a process control program to direct the performance of the process by the machine. Data structures for a multiplicity of processes are defined and stored. Values stored in the data structures indicate which processes are available for use and the process control program associated with each process. Furthermore, for each parameter of each process a data structure contains an indicia of whether the parameter is a forced entry parameter (which must be given a value before the process is run), a may change parameter (with a default value that may be changed when the process is run), or a locked parameter which has a fixed value. An engineering set up program enables interactive computer controlled performance of the steps of storing the above-mentioned data structures, entry of values into the data structures, and the entry of default parameter values. An operator control program, utilizing the stored data structures, enables interactive computer controlled performance of the steps of selecting one of the enabled processes, entry of parameter values, and running of the selected process.
Claims
What is claimed is:
1. In a method of controlling a process using a programmed digital computer, the steps of:
(a) establishing a set of process control programs, each having associated therewith a set of predefined parameters;
(b) defining a parameter data structure format for each of said process control programs, including
parameter denoting means for denoting each of said predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value, or a forced operator entry parameter that must be supplied with a value before the process is run; and
parameter value storing means for storing a value for each of said predefined parameters;
(c) establishing an engineering set up control program for enabling interactive computer controlled performance of the steps of
storing, for each of a multiplicity of specified processes, a parameter data structure in accordance with said parameter data structure format for a specified one of said process control programs;
specifying one of said processes for engineering set up;
entering into said parameter denoting means in said parameter data structure for said specified process a value for each of said predefined parameters to specify it as an operator unalterable parameter, an operator alterable parameter, or a forced operator entry parameter; and
entering into the parameter value storing means in said parameter data structure for said specified process fixed values for said operator unalterable parameters and default values for said operator alterable parameters; and
(d) establishing an operator control program for enabling interactive computer controlled performance of the steps of
selecting one of said specified processes;
utilizing said stored parameter data structure for said selected process, entering values for said operator alterable and forced operator entry parameters for said selected process; and
running the process control program corresponding to said selected process only after values have been entered for all the forced operator entry parameters corresponding to said selected process.
2. The method of claim 1, further including the step of:
defining and storing for each of said multiplicity of specified processes a process selection data structure including:
process name means for storing a preselected process name for said process; and
process availability denoting means for denoting whether the running of the corresponding process is enabled or disabled;
wherein
said step of establishing an engineering set up control program includes enabling interactive computer controlled performance of the steps of:
entering into the process name means in the process selection data structure for said specified process a name for said specified process; and
entering into the process availability denoting means in the process selection data structure for said specified process a value to specify whether the running of said specified process is enabled or disabled; and
said step of selecting one of said processes includes the steps of:
displaying said process names; and
selecting one of said processes which has a value in the corresponding process availability denoting means specifying it as enabled.
3. The method of claim 2, adapted to provide different operator access levels to the running of said multiplicity of specified processes,
said engineering set up control program further enabling interactive computer controlled performance of the step of
storing on each of a plurality of individual, operator-related, portable, nonvolatile storage means, said process selection and parameter data structures for each of said multiplicity of processes; and
said method further including the step of
reading and storing the data structures for a multiplicity of processes from one of said operator-related, portable, nonvolatile storage means, said data structures thereafter being available for use by both said engineering set up control program and said operator control program;
wherein said process selection and parameter data structures can be modified using said engineering set up control program so that different ones of said operator-related storage means provide different operator access levels to the running of said specified processes.
4. The method of claim 2, further including the step of
defining and storing a group data structure including
group name means for storing a preselected group name for each of a plurality of prearranged groups of said specified processes; and
group availability denoting means for each of said prearranged groups of said processes, denoting whether the running of the corresponding group of processes is enabled or disabled;
said step of establishing an engineering set up control program includes enabling interactive computer controlled performance of the steps of
entering into the group name means in said group data structure a group name for a specified group of processes; and
entering into the group availability denoting means in said group data structure a value to specify whether the running of a specified group of processes is enabled or disabled;
said step of selecting one of said processes includes, prior to said step of displaying said process names, the steps of:
displaying said group names; and
selecting one of said groups which has a value in the corresponding group availability denoting means specifying it as enabled; and
said step of displaying said process names comprises displaying only process names associated with said selected group.
5. The method of claim 4, adapted for use on a computer which includes a computer display device, and further comprising the steps of:
defining a plurality of separate main menu items comprising said preselected group names of said prearranged groups of said specified processes;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items and comprising one of said preselected process names;
establishing at least two separate menu display regions on said computer display device, each being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associated pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointed positions at one of said displayed auxiliary menu items;
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at; and
wherein
said steps of entering a value into the group availability denoting means in said group data structure for a specified group, and entering a value into the process availability denoting means in said process selection data structure for a specified process, include the steps of
moving said selectably positionable pointer for the corresponding menu display region to point at the name of said specified group or the name of said specified process to select an associated one of said group availability denoting means or said process availability denoting means; and
entering said value.
6. The method of claim 5, wherein said displaying steps further include displaying items which are denoted in said group data structure and process selection data structure as enabled in a manner which visually distinguishes said items from those items which are denoted as not enabled.
7. The method of claim 1, adapted for use on a computer which includes a computer display device, and further comprising the steps of:
defining a prompt data structure including
process name means for storing a preselected process name for each of said specified processes; and
group name mens for storing a preselected group name for each of a plurality of prearranged groups of said specified processes;
defining a plurality of separate main menu items comprising said group names;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items and comprising one of said process names;
establishing at least two separate menu display regions on said computer display device, each being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associated pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointer positions at one of said displayed auxiliary menu items; and
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at;
whereby at least one of said steps of specifying one of said processes for engineering set up and selecting one of said processes, includes the steps of:
moving said pointer for said first menu display region to point at the group name corresponding to the process to be specified or selected; and
moving said pointer for said second menu display region to point at the process name corresponding to the process to be specified or selected.
8. The method of claim 1, adapted for use on a computer which includes a computer display device, and further comprising the steps of:
defining a prompt data structure including
process name means for storing a preselected process name for each of said specified processes; and
group name means for storing a preselected group name for each of a plurality of prearranged groups of said specified processes;
defining a plurality of separate main menu items comprising said group names;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items and comprising one of said process names;
establishing at least two separate menu display regions on said computer display device, each being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associated pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointer positions at one of said displayed auxiliary menu items; and
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at;
wherein
said step of establishing an engineering set up control program includes enabling interactive computer controlled performance of the steps of
entering a new group name into said group name means in said prompt data structure for the group of processes corresponding to the item pointed at by the pointer in said first menu display region; and
entering a new process name into said process name means in said prompt data structure for the process corresponding to the item pointed at by the pointer in said second menu display region.
9. The method of claim 8, wherein said step of establishing display regions provides three separate menu display regions on said computer display device; said method further including the steps of:
defining a set of preselected names for said set of established process control programs;
defining a program data structure for storing an idicia of the process control program associated with each of said specified processes; and
displaying simultaneously in said third menu display region the names of the process programs corresponding to the process names displayed in said second menu display region;
wherein
said step of establishing an engineering set up control program includes enabling interactive computer controlled performance of the step of
selecting the process control program for the process corresponding to the item being pointed at in said second menu display region from said set of established process control programs, including entry of a corresponding indicia in said program data structure and displaying the name of said selected process control program in said third menu display region.
10. The method of claim 8, wherein said steps of entering a group name and entering a process name include the steps of:
designating a corresponding one of said selectably positionable pointers as the active pointer for name entering; and
displaying the item being pointed at by said active pointer in a manner which visually distinguishes said item from the item being pointed at by said other selectably positionable pointer.
11. The method of claim 1, adapted for use on a computer which includes a computer display device, and further comprising the steps of:
defining a plurality of separate main menu items comprising preselected names of preselected groups of predefined engineering set up tasks;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items and comprising preselected names of said predefined engineering set up tasks;
establishing at least two separate menu display regions on said computer display device, each being capable of displaying multiple menu items and associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associated pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointer positions at one of said displayed auxiliary menu items;
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at; and
responding to a task signal by performing a task corresponding the item pointed at by the pointer in said second menu display region;
wherein
one said predefined engineering tasks comprises a test set up task which enables interactive computer controlled performance of said steps of
entering a value into said parameter denoting means of said parameter data structure for said specified process; and
entering a value into the parameter value storing means in said parameter data structure for said specified process.
12. The method of claim 11, further including the step of:
defining a prompt data structure including
process name means for storing a preselected process name for each of said specified processes; and
group name means for storing a preselected group name for each of a plurality of prearranged groups of said specified processes;
wherein
another one of said predefined engineering tasks comprises an operator prompt task which enables interactive computer controlled performance of the steps of
entering a new group name into said group name means in said prompt data structure for a specified group of processes; and
entering a new process name into said process name means in said prompt data structure for a specified process; and
another one of said predefined engineering tasks comprises an update task for performing the step of storing said parameter data structure on a portable, nonvolatile storage means.
13. The method of claim 12, wherein during the performance of said operator prompt task,
said group names are displayed in said first menu display region;
said process names corresponding to the group name being pointed at in said first menu region are displayed in said second menu display region; and
said selectably positionable pointers are used to specify the group and process used in said entering a new group name and entering a new process name steps.
14. The method of claim 11, further including the step of:
defining an availability data structure including
process availability denoting means for each said specified process denoting whether the running of the corresponding process is enabled or disabled;
group availability denoting means for each of said prearranged groups of said processes, denoting whether the running of the corresponding group of processes is enabled or disabled;
wherein
another one of said predefined engineering tasks comprises an operator choices task which enables interactive computer controlled performance of the steps of
entering into said process availability denoting means in said availability data structure for said specified process a value to specify whether the running of said specified process is enabled or disabled; and
entering into said group availability denoting means in said availability data structure a value to specify whether the running of a specified group of processes is enabled or disabled.
15. The method of claim 14, further including the step of:
defining a prompt data structure including
process name means for storing a preselected process name for each of said specified processes; and
group name means for storing a preselected group name for each of a plurality of prearranged groups of said specified processes;
wherein
another one of said predefined engineering tasks comprises an operator prompt task which enables interactive computer controlled performance of the steps of
entering a new group name into said group name means in said prompt data structure for a specified group of processes; and
entering a new process name into said process name means in said prompt data structure for a specified process;
during the performance of said operator prompt task,
said group means are displayed in said first menu display region;
said process names corresponding to the group name being pointed at in said first menu region are displayed in said second menu display region; and
said selectably positionable pointers are used to specify the group and process used in said entering a new group name and entering a new process name steps; and
another one of said predefined engineering tasks comprises an update task for performing the step of storing said parameter data structures on a portable, nonvolatile storage means.
16. The method of claim 1, further adapted for use with an automated resistivity test system including:
a resistivity test probe having a plurality of signal leads for receiving an input current and returning an output voltage;
means for responding to a command from said computer to supply a programmable level of current to said signal leads of said probe;
means for responding to a command from said computer to receive said voltage output from said probe and for translating said output signal into a digital signal representatin of said voltage level; and
means for responding to a command from said computer for positioning said probe at a test site comprising a programmable position coordinate on a semiconductor wafer for making a resistivity measurement thereat; and
wherein said process control programs comprise a contour map program for making resistivity measurements at a two-dimensional array of test sites on said wafer and a diameter scan program for making resistivity measurements at a multiplicity of test sites along a prearranged diameter line of said wafer;
said set of predefined parameters for said contour map program include a number of test sites parameter, a test diameter parameter, and a measure current parameter; said set of predefined parameters for said diameter scan program include a number of sites parameter, a test diameter parameter, a measure current parameter, and an angle of scan parameter;
said contour map program enables said computer to direct said tester to carry out automatically the steps of:
using the values of said number of test sites and test diameter parameters to position said test probe on said wafer at each of a two-dimensional array of test sites within said test diameter on said wafer and corresponding to the number of test sites parameter value;
measuring the resistivity value at each said test site using said measure current parameter to supply a corresponding level of current to said test probe and receiving an associated digital representation of the output voltage produced thereby; and
storing said resistivity value for each of said test sites; and
said diameter scan program enables said computer to direct said tester to carry out automatically the steps of:
using the values of said number of test sites, test diameter, and angle of scan parameters to position said test probe on said wafer at each of a plurality of regularly spaced test sites along a diameter of said wafer corresponding to said angle of scan parameter;
measuring the resistivity value at each said test site using said measure current parameter to supply a corresponding level of current to said test probe and receiving an associated digital representation of the output voltage produced thereby; and
storing said resistivity value for each of said test sites.
17. The method of claim 1,
said engineering set up control program further enabling interactive computer controlled performance of the step of
storing on each of a plurality of individual, operated-related, portable, nonvolatile storage means, said parameter data structure for each of said multiplicity of processes; and
said method further including the step of
reading and storing the data structures for a multiplicity of processes from one of said operator-related, portable, nonvolatile storage means, said data structures thereafter being available for use by both said engineering set up control program and said operator control program;
wherein said parameter data structures can be modified using said engineering set up control program so that different ones of said operator-related storage means provide different operator control levels for running said specified processes.
18. In a method for displaying and selecting menu items on a computer display device, the steps of:
defining a plurality of separate main menu items;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items;
establishing at least three separate menu display regions on said computer display device, each being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associatedd pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointer positions at one of said displayed auxiliary menu items;
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at;
defining a plurality of groups of tertiary menu items, each group being associated with at least one of said auxilary menu items; and
displaying simultaneously in a third one of said menu display regions at least a portion of one of said groups of tertiary menu items associated with said auxiliary menu item being pointed at in said second menu display regions together with said associated pointer positioned at one of said displayed tertiary menu items;
wherein
said step of automatically responding to a position change of said poiner in said first menu display region further includes the step of simultaneously altering said third menu display region to display at least a portion of one of said groups of tertiary menu items associated with said second menu item being pointed at in said second display region; and
said method further includes the step of automatically responding to a position change of said pointer in said second menu display region without a position change of said pointer in said first menu display region by simultaneously altering said third menu display region to display at least a portion of one of said groups of tertiary menu items associated with said new secondary menu item being pointed at in said second display region.
19. The method of claim 18, wherein said step of automatically responding to a position change of said pointer in said first menu display region further includes automatically repositioning said pointers in said second and third menu display regions to the first auxiliary menu item and first tertiary menu item displayed in said respective display regions.
20. The method of claim 18, further including the steps of:
designating one of said selectably positionable pointers as the active pointer; and
visually distinguishing the item being pointed at by said active pointer from the item being pointed at by said other pointer.
21. The method of claim 18, further including the steps of:
displaying simultaneously at a predefined position of said display an indicia of a selection previously made using a set of menus distinct from the menus currently displayed.
22. The method of claim 18,
further including the step of establishing a program for enabling the selection of items displayed in at least said second menu display region;
wherein said selected items are displayed in a visually distinct manner so that when said pointer for said first menu display region is moved through the items displayed in said first menu display region a person looking at said computer display device can see which items have been selected in each corresponding group of auxiliary menu items.
23. In a method for displaying and selecting menu items on a computer display device, the steps of:
defining a plurality of separate main menu items;
defining a plurality of separate groups of auxiliary menu items, each being associated with at least one of said main menu items;
establishing at least three separate menu display regions on said computer display device, each being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual menu item;
displaying in a first one of said menu display regions at least a plurality of said main menu items together with said associated pointer positioned at one of said displayed main menu items;
displaying simultaneously in a second one of said menu display regions at least a portion of one of said groups of auxiliary menu items associated with the main menu item being selected at in said first menu display region together with said associated pointer positions at one of said displayed auxiliary menu items;
automatically responding to a position change of said pointer in said first menu display region to point at a new main menu item by altering said second menu display region to display at least a portion of one of said groups of auxiliary menu items associated with the new main menu item being pointed at;
defining a plurality of tertiary menu items, each said tertiary menu item corresponding to at least one of said auxiliary menu items; and
displaying simultaneously in said third menu display region the tertiary menu items corresponding to the auxiliary menu items displayed in said second menu display region;
wherein
said step of automatically responding to a position change of said pointer in said first menu display region further includes the step of simultaneously altering said third menu display region to display the tertiary menu items corresponding to the auxiliary menu items displayed in said second menu display region.
24. In a method of controlling a process using a programmed digital computer, the steps of:
(a) establishing a set of process control programs, each having associated therewith a set of predefined parameters required for its operation;
(b) defining a parameter data structure format for each of said process control programs, including
parameter denoting means for denoting each of said predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value, or a forced operator entry parameter that must be supplied with a value before the process is run; and
parameter value storing means for storing a value for each of said predefined parameters;
(c) establishing an engineering set up control program including
means for storing, for each of a multiplicity of specified processes, a parameter data structure in accordance with said parameter data structure format for a specified one of said process control programs;
parameter access means for entering into said parameter denoting means of said parameter data structure for a specified process a value for each of said predefined parameters to specify it as an operator unalterable parameter, an operator alterable parameter, or a forced operator entry parameter;
value set up means for entering into said parameter value storing means in said parameter data structure for a specified process fixed values for said operator unalterable parameters and default values for said operator alterable parameters; and
(d) establishing an operator control program including
operator process selection means for selecting a process and the corresponding parameter data structure defined and stored by said engineering set up control program;
value entry means, utilizing said stored parameter data structure for said selected process, for enabling operator entry of values for said operator alterable and forced operator entry parameters for said selected process; and
process enabling means for enabling the running of the process control program corresponding to said selected process only after values have been entered for all said forced operator entry parameters corresponding to said selected process.
25. The method of claim 24, further including the step of:
defining and storing for each of said multiplicity of specified processes a process selection data structure including:
process name means for storing a preselected process name for said process; and
process availability denoting means for denoting whether the running of the corresponding process is enabled or disabled;
wherein
said step of establishing an engineering set up control program includes establishing
availability set up means for entering into said process availability denoting means in said process selection data structure for a specified process a value to specify whether the running of said specified process is enabled or disabled; and
said operator process selection means established in said step of establishing an operator control program includes
means for restricting the selection of a process to those processes having a value in the corresponding process availability denoting means specifying it as enabled.
26. The method of claim 25 adapted to provide different operator access to the running of said multiplicity of specified processes,
said engineering set up control program including means for storing on each of a plurality of individual, operator-related, portable, nonvolatile storage means, a parameter data structure and a process selection data structure for each of said multiplicity of processes; and
wherein said method includes the step of reading and storing said parameter and process selection data structures for a multiplicity of processes from one of said operator-related, portable, nonvolatile storage means, said parameter and process selection data structures thereafter being available for use by both said engineering set up control program and said operator control program;
whereby
said process availability denoting means in the process selection data structures stored on said operator-related, portable, nonvolatile storage means controls the availability of each said process for use by said operator control program; and
said parameter and process selection data structures stored on each operator related, nonvolatile, storage means can be easily and quickly reconfigured by said engineering set up control program.
27. In a method of controlling a process using a programmed digital computer, the steps of:
(a) establishing a set of process control programs, each having associated therewith a set of predefined parameters required for its operation;
(b) defining a parameter data structure format for each of said process control programs, including
parameter denoting means for denoting each of said predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value, or a forced operator entry parameter that must be supplied with a value before the process is run; and
parameter value storing means for storing a value for each of said predefined parameters;
(c) storing, for each of a multiplicity of specified processes, a parameter data structure in accordance with the parameter data structure format for a specified one of said process control programs;
(d) entering into said parameter denoting means of said parameter data structure for a specified process a value for each of said predefined parameters to specify it as an operator unalterable parameter, an operator alterable parameter, or a forced operator entry parameter;
(e) entering fixed values for said operator unalterable parameters and default values for said operator alterable parameters;
(f) selecting one of said processes;
(g) entering values for said operator alterable and forced operator entry parameters for said selected process; and
(h) enabling the running of the process control program corresponding to said selected process only after values have been entered for all said forced operator entry parameters corresponding to said selected process.
28. In a process control system which uses a programmed digital computer, the combination comprising:
(a) means providing a set of process control programs, each having associated therewith a set of predefined parameters required for its operation;
(b) means for defining a parameter data structure format for each of said process control programs, including
parameter denoting means for denoting each of said predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value, or a forced operator entry parameter that must be supplied with a value before the process is run; and
parameter value storing means for storing a value for each of said predefined parameters;
(c) engineering set up control program means including
means for storing, for each of a multiplicity of specified processes, a parameter data structure in accordance with the parameter data structure format for a specified one of said process control programs;
parameter access means for entering into said parameter denoting means of said parameter data structure for a specified process a value for each of said predefined parameters to specifyit as an operator unalterable parameter, an operator alterable parameter, or a forced operator entry parameter;
value set up means for entering fixed values for said operator unalterable parameters and default values for said operator alterable parameters; and
(d) operator control program means including
operator process selection means for selecting a process and the corresponding parameter data structure defined and stored by said engineering set up control program;
value entry means, utilizing said stored parameter data structure for said selected process, for enabling operator entry of values for said operator alterable and forced operator entry parameters for said selected process; and
process initiation means for running the process control program corresponding to said selected process, including process enabling means for enabling the running of the process control program corresponding to said selected process only after values have been entered for all said forced operator entry parameters corresponding to said selected process.
29. In a method of controlling a process using a programmed digital computer, the steps of:
(a) establishing a set of process control programs, each having associated therewith a set of predefined parameters required for its operation;
(b) defining a process data structure format for each of said process control programs, including
process availability denoting means for denoting whether the running of the corresponding process control program is enabled or disabled;
parameter value storing means for storing a value for each of said predefined parameters; and
parameter denoting means for denoting each of said predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value, or a forced operator entry parameter that must be supplied with a value before the process is run;
(c) establishing an engineering set up control program for enabling interactive computer controlled performance of the steps of
storing, for each of a multiplicity of specified processes, a process data structure in accordance with said process data structure format for a specified one of said process control programs;
specifying one of said processes for engineering set up;
entering into said process availability denoting means in said process data structure for a specified process a value to specify whether the running of said specified process is enabled or disabled; and
entering into the parameter value storing means in said process data structure for said specified process fixed values for said operator unalterable parameters and default values for said operator alterable parameters; and
storing on each of a plurality of individual, operator-related, portable, nonvolatile storage means, a process data structure for each of said multiplicity of processes;
(d) establishing a reading and storing program for reading and storing said process data structures for a multiplicity of processes from one of said operator-related, portable, nonvolatile storage means, said process data structures thereafter being available for use by said engineering set up control program and by other programs in said computer;
(e) establishing an operator control program for enabling interactive computer controlled performance of the steps of
selecting one of said processes, restricting the selection of a process to those processes having a corresponding process data structure wherein the running of the process is denoted as enabled;
utilizing said stored process data structure for said selected process, enabling operator entry of values for said operator alterable and forced operator entry parameters for said selected process; and
enabling the running of the process control program corresponding to said selected process only after values have been entered for all said forced operator entry parameters corresponding to said selected process;
whereby
said process availability denoting means in each said process data structure stored on said operator-related, portable, nonvolatile storage means controls the availability of said processes for use by said operator control program; and
said process data structures stored on each operator-related, nonvolatile, storage means can be easily and quickly reconfigured by said engineering set up control program.
30. The method of claim 29, wherein
said operator-related, portable, nonvolatile storage means is also used to store the data, if any, produced by the running of the process control program corresponding to said selected process.
31. In a method of using a programmed digital computer having a display to select an item from a set of predefined items, the steps of:
(a) establishing a plurality of groups of said predefined tasks, and a plurality of subgroups for at least a plurality of said groups, each said subgroup having a predefined set of member items;
(b) establishing an item name for each said item, a subgroup name for each said subgroup, and a group name for each said group;
(c) defining at least three menu display regions on said display, each for displaying a distinct menu, and for each said menu display region, establishing a moveable pointer for pointing to one item in its corresponding menu display region; wherein the position of each menu display region is independent of the position of said moveable pointers;
(d) simultaneously displaying
in a first one of said menu display regions a menu of said group names; and
in a second one of said menu display regions a menu of at least a subset of the subgroup names for one of said groups of items;
in a third one of said menu display regions a menu of of at least a subset of the item names for one of said subgroup names in said second menu;
(e) responding to movement of said first menu pointer from one item to another item within said first menu by automatically updating said second menu so as to display the subgroup names corresponding to the group name pointed to by said first menu pointer, automatically adjusting said second pointer to point at a subgroup name in said second menu, and automatically updating said third menu so as to display the item names corresponding to the subgroup name pointed to by said second menu pointer; and
(f) responding to movement of said second menu pointer from one item to another item within said second menu by automatically updating said third menu so as to display the item names corresponding to the subgroup name pointed to by said second menu pointer.
32. The method of claim 31,
further including the step of establishing a program for enabling the selection of specified ones of said items and specified ones of said subgroups;
wherein said selected items and subgroups are displayed in a visually distinct manner so that when said first and second menu pointers are moved through the group names displayed in said first menu display region and the subgroups name displayed in said second menu display region, a person looking at said display can see which items have been selected in each corresponding group and subgroup.
Description
This invention relates generally to systems and methods for computer control of machine processes and in particular to systems and methods for computer control which involve menu driven approaches to selection of processes and the definition and selection of the operating parameters used by the computer control program to direct the performance of the process by the machine.
BACKGROUND OF THE INVENTION
Importance of Sheet Resistance Mapping of Semiconductor Wafers
The invention described in this specification may be applied generally in computer controlled machines which perform various production or testing processes. It may also be applied to data collection and data base management programs. However, the detailed description of the invention will be given in terms of the control of an automated resistivity tester for performing sheet resistance mapping of semiconductor wafers. This equipment is used to characterize the performance of semiconductor wafer manufacturing equipment utilized to form surface layers of specific target conductivity value as part of the process of manufacturing semiconductor devices such as, for example, large scale integrated circuits.
The preferred vision of an automated resistivity tester to be controlled by this invention is disclosed in co-pending and commonly assigned U.S. patent application Ser. No. 726,498, filed on Apr. 24, 1985, and entitled "APPARATUS AND METHODS FOR SEMICONDUCTOR WAFER TESTING." This disclosure is specifically incorporated herein by reference. The use of computer controlled testing apparatus of this type as the background environment for demonstrating the advantages of this invention is especially meaningful because of the importance of the semiconductor industry to the advancement of science and technology in many areas, including areas of factory automation to which this invention may be very meaningfully applied. To understand the overall importance of automated resistivity testing to the semiconductor industry, reference is made to the helpful background information given in the above-identified copending application on the status of the industry and the particular importance of performing automated resistivity testing on semiconductor wafers which have been subjected to ion implantation.
The correctness and uniformity of implant dosage across a semiconductor wafer can be determined in an automatic sheet resistance mapping system which has the capability of taking multiple test readings in both a contour map and diameter scan mode. It is well-known in the prior art to utilize an in-line four-point probe to make sheet resistance measurements at various preselected testing locations on the implanted semiconductor test wafer. Sheet resistance mapping and the theory and results of such testing techniques are discussed in detail in the following papers and publications, which are incorporated herein by reference:
D. S. Perloff et al., "Dose Accuracy and Doping Uniformity of Ion Implantation Equipment," Solid State Technology, February 1981, pp. 112-120;
Andrew B. Wittkower, "The Effect of Ion Implanter Design Upon Implant Uniformity," Solid State Technology, September 1982, pp. 77-81;
David S. Perloff, "Four-Point Probe Correction Factors for Use in Measuring Large Diameter Doped Semiconductor Wafers," Journal of the Electrochemical Society: Solid-State Science and Technology, November 1976, pp. 1745-1750; and
D. S. Perloff, et al., "Contour Maps Reveal Non-Uniformity in Semiconductor Processing," Solid State Technology, February 1977.
FIG. 1 illustrates a printout of a contour map which shows a pattern of non-uniform implantation of a wafer. The heavy contour line represents the mean resistivity value of the wafer. The lighter contour lines outline regions which differ from the mean value by a preset percentage. The + and - symbols represent test sites for which the resistivity value is above and below the mean value, respectively. FIG. 2 illustrates a printout of two diameter scans on the same wafer. Here the actual resistivity values are plotted as a function of position of the test site on the diameter of a wafer. From these tests and printouts, the engineer in charge of a process can determine whether the ion implantation equipment is operating properly. Specific discussion of the diagnostic capability of the resistivity tests is contained in the above-referenced articles.
In a co-pending and commonly assigned patent application entitled "Apparatus and Method for Resistivity Testing," Ser. No. 704,296, filed Feb. 22, 1985, a novel arrangement for orienting the resistivity test probe for improved accuracy in performing four-point probe sheet resistance measurements on conductive surface layers of a semiconductor wafer is disclosed. The specification of that application is hereby incorporated by specific reference.
To encourage the use of testing equipment such as automated resistivity testers, it is important to provide an overall computer control program for the tester which is easy for the engineer to set up to perform in-process monitoring measurements which will provide meaningful data. It is also important for the control program to be simple for the operator to run with confidence and consistency to produce meaningful data. Engineer and operator convenience and confidence are the keys to increasing acceptance of automated process control and testing in all industries.
Prior Art Computer Control Methods
It has become a standard approach in the art to use a programmed digital computer to control the operation of various types of machinery which have the capability to perform a variety of tasks or the capability to perform the same task in a variety of ways. Because of the reduction in cost of digital microcomputer technology, it has become common, for example, for manufacturers of home appliances to use dedicated microcomputers to control the functions of microwave ovens, dishwashers and the like. Since these machines are dedicated to performing relatively few tasks and a relatively few parameters are required to be entered, e.g., temperature and time, the entry of parameters is typically done on a specially configured keyboard placed on the machine itself. In addition to operator controlled tasks set up with entry of all parameters, these appliances typically have a group of predefined parameters sets which can be selected by the operator with input of a single item or code number from a menu of predefined processes.
Computer control of industrial machines generally involves a more complex set of processes and a larger number of parameters which must be entered for the machine to carry out a selected process. Because of this complexity, the set up of the machine for performing a desired process meaningfully is usually done by an engineer who understands the overall functioning of the system and the interaction of the process parameters with the process control programs of the machine. In the better designed systems, this engineering set up is facilitated by a machine control program which provides the engineer with a sequence of different menus or prompts which direct process selection and parameter entry. These menus or prompts are typically presented individually and in sequence. In situations requiring a substantial number of menu screens, process or parameter value choices on one screen may be affected by earlier or later choices several screens away. Thus the engineering set up operation may require continuous paging back and forth between screens to check on processes selected or parameters previously entered so that overall meaningful and consistent process selection and parameter entry can be achieved at each screen level.
The complxity and inconvenience of the engineering set up protocol of most computer controlled machines tends to discourage their use except by the more sophisticated engineers at the most sophisticated companies. Even when these systems are used, the requirement to provide written operator instructions introduces a frustration that tends to discourage widespread use of the technology to achieve the benefits it could produce.
After the engineering set up is performed, actual operation of the machine is carried out by an operator who is given specific written directions on which process to select and the specific values of specific parameters to enter. In other words, the engineer carries out the necessary experiments to select the process and associated parameter values which will direct the computer to control the performance of the machine and the operator follows a set of specific instructions to select the right process and enter all of the parameter values required. In doing so the operator typically uses the same set of screens as did the engineer, but with the parameter values to be entered noted on an instruction sheet. If the operator uses the wrong set of instructions or enters incorrect values for critical parameters, the machine will not carry out the selected process correctly. Depending on the machinery being controlled, various types and magnitudes of damage may result. Operator error due to carelessness or lack of adequate communication or training is a large factor in reducing the effectiveness and value of automated process control.
In a variation of this approach, the computer controlled machinery of the prior art is sometimes provided with non-volatile storage media for storing the parameter values which are selected by the engineer for running one specific process. The operator can then simply enter the appropriate storage medium for the appropriate process to be performed and start the machine to carry out the process. This approach provides more mistake-proof, automatic entry of parameters (if the operator selects the right storage medium), but does not provide any flexibility of operator entry of a few parameters which are quite variable and most conveniently entered just before the process is run. It also does not permit entry of data items which are preferably entered for overall process tracking.
Prior Art Wafer Resistivity Tester System and Method
To illustrate the typical limitations which are present in prior art systems, the features and performance of a prior art computer controlled resistivity test system will now be described.
This prior art system, sold under the Prometrix trademark "Omnimap" and having Model No. 111, includes a combined engineer and operator module, a set of process control programs and a resistivity tester 22. Tables 1, 2 and 3 represent three computer display screens generated by the prior art Omnimap system.
The prior art Omnimap system allows the operator of the system to select a task using a menu such as the one shown in Table 1. A task is selected by moving a visible pointer (shown as a rightward pointing arrow in Table 1) to the desired menu task item and then pushing the ENTER key on the computer keyboard.
The tasks available on the menu of the prior art Omnimap system include both operator tasks, appropriate for use by operators in a production environment, such as collecting contour data, and engineer setup tasks, such as disk maintenance tasks.
Referring to Table 2, parameter entry into the prior art Omnimap system is performed by keyboard entry of parameter values in response to a message displayed on the STATUS line at the bottom of the display. Thus, in response to the message "Operator:", the operator types in his or her name. As each parameter value is entered, it is displayed on the display screen. In Table 2, the display shows that the OPERATOR and SHIFT parameter values have already been entered and the NUMBER OF SITES parameter is in the process of being entered.
Some parameters, such as SHIFT, can only have one of a number of predefined values (e.g., DAY, SWING, or NIGHT). In the prior art Omnimap system, the value for such parameters is entered by using a selected key (such as the down arrow cursor key on the keyboard 37) to toggle through the available preset responses. When the appropriate parameter value appears on the STATUS line, the operator hits the ENTER key to select that parameter value. This method of parameter value entry is used for several parameters including the Number of Sites parameter.
Referring to Table 3, after all the parameter values for a selected process have been entered, all the entered parameter values are displayed, and instructions for the operator are displayed on the STATUS line. Typical instructions include: requesting the operator to adjust certain control dials on the resistivity tester so that the requested test can be performed, and instructing the operator to hit the ENTER key on the computer's keyboard when a wafer has been mounted on the tester and the operator is ready to begin the wafer test procedure.
As can be seen, the operator is allowed by the prior art Omnimap system to select and perform any of the tasks which are also provided for use by the engineer. Also, the operator is required to provide a value for all of the variable parameters of the selected process. These will typically be provided to the operator on an instruction sheet previously prepared by the Engineer. Another major limitation of the prior art Omnimap system, which is believed to be typical of much of the prior art, is that only one process parameter data structure, for the process currently being set up to run by the operator, is available for use by the software. The significance of this limitation, which will be become more apparent from the description below of the preferred embodiment of this invention, is that only one process can be set up at a time and all parameters must be entered each time that process is set up.
Improvements within the scope of the prior art which could be added to the above described prior art Omnimap system include requiring a password to be entered to use tasks which are appropriate for use only by an engineer, and the storage of several predefined sets of parameter values for use by the operator. The present invention provides a much more comprehensive approach to overcoming the limitations of the above described prior art Omnimap system.
It can thus be seen that, in the prior art, the options tends to be complete parameter entry flexibility by the operator (with large error probability) or complete inflexibility which stymies reasonable engineering creativity in designing the set up for some operator discretion in parameter entry. All operators are treated alike and all have the same level of access to process selection and parameter entry.
OBJECTS OF THE INVENTION
It is therefore the principal object of this invention to provide an improved system and method for menu driven computer control of real time processes.
It is another object of this invention to provide a computer-based process control system and method which facilitates engineering set up of process selection, parameter definition, and parameter selection.
It is another object of this invention to provide a computer-based process control system and method which facilitates operator selection and running of a particular process.
It is another object of this invention to provide a computer-based process control system and method which enables convenient engineering control of levels of operator access to various processes through use of a portable data storage medium.
SUMMARY OF THE INVENTION
The above-identified objects of this invention are achieved in a system and method of controlling a process using a programmed digital computer which includes the feature of enabling each of the process parameters to be denoted in the data structure used by the process control programs as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value (i.e. one value which the operator may leave or change) or as forced operator entry parameter that must be supplied by the operator before the process will run. The system and method of this invention further incorporates the feature of providing an arrangement for denoting in the data structure whether a particular process which has been defined and set up by the engineer is available to be run by the operator. This invention also features an arrangement in which the data structures for a multiplicity of processes are stored on a plurality of individual, operator related portable storage means so that different operator level access to running of the multiplicity of specified processes can be provided and different levels of operator discretion in entering parameter values is facilitated.
Another important feature of this invention is a "dynamic menu" feature which greatly facilitates the engineering set up function by providing dynamically changing submenus as item selection in a higher level menu is toggled from one position to another.
Engineering Set Up and Operation Control Program Features
More specifically, this invention features a method of controlling a process using a programmed digital computer which begins with the step of establishing a set of process control programs with each of the programs having an associated set of predefined parameters required for its operation. The method further includes the step of defining a data structure format for each of the process control programs with the data structure format including a parameter denoting means and a parameter value storing means. The parameter denoting means provides for denoting each of the predefined parameters as an operator unalterable parameter having a fixed value, an operator alterable parameter having a default value or a forced operator entry parameter that must be supplied before the process is run. The parameter value storing means enables values for each of the predefined parameters to be stored.
Next an engineering set up control program is established for the purpose of enabling interactive computer controlled performance of certain engineering set up steps. These steps include defining and storing, for each of a multiplicity of specified processes, an actual data structure in accordance with the data structure format for a specified or selected one of the process control programs and then specifying one of these processes for engineering set up. Thereafter, the engineer can enter into the parameter denoting means for the specified process a value for each of the predefined parameters to specify it as an operator unalterable parameter or an operator alterable parameter or a forced operator entry parameter. This is followed by the step of entering into the parameter value storing means fixed values for the operator unalterable parameters and default values for the operator alterable parameters.
The method further includes the step of establishing an operator control program which enables interactive computer controlled performance of certain operator control steps. The operator control steps include selecting one of the processes, utilizing the stored data structure to enable operator entry of values for the operator alterable and forced operator entry parameters for the selected process and then enabling the running of the process control program corresponding to that selected process only after values have been entered for all forced operator entry parameters.
Contrasted with prior art arrangements for engineering set up and operator control of a process, the system and method of this invention provides fo a high level of engineer discretion in denoting process parameters as fixed, operator alterable or forced entry. Furthermore, the denoting of these process parameters can be different for each of the different processes which the engineer has set up for running a particular machine. Thus the engineer may, for example, specify one particular process with all fixed unalterable parameters and another process with all operator alterable parameters and another process which has a mix of such parameters along with forced entry parameters. The value of this additional capability will be more apparent from the detailed description given below, but it should be apparent that this feature of the invention enables the engineer to use his own judgment to tailor the denotion of the status of specific process paramters of each process. This can be based on the requirements of the process, the level of operator skill, or any other factors which the engineer, in his judgment, may deem pertinent.
In a preferred embodiment, the system and method of this invention further includes, in the data structure format for each of the processes defined, an availability denoting means which enables the engineer to denote whether the running of the corresponding process control program is enabled or disabled. With this feature in the data structure format, the step of establishing an engineering set up control program further includes enabling interactive computer controlled performance of the step of entering into this availability denoting means a value to designate or specify whether the running of that specified process is enabled or disabled. In the preferred embodiment the process selection step of the operator is restricted to selecting a process from those processes which have a corresponding data structure wherein the running of those processes is denoted as enabled.
In other word, with this feature, the engineer is able to have complete control over whether a process which has been set up is available for use by the operator. However, all disabled processes still have all of the data structure available to the engineer for review, editing or other activity. Thus, the engineer can be in the middle of setting up a particular process which he doesn't wish the operator yet to have available, but maintain the data structure of that process in the overall storage medium of the system without running the risk that it will be utilized by an operator before it is ready.
This feature of denoting the enabling or disabling of each individual process for which a data structure format has been defined by the engineer cooperates with another feature of this invention to provide a convenient approach to providing different operator access levels to the running of a multiplicity of specified processes. To achieve this, the engineering set up control program further enables interactive computer controlled performance of the step of storing, on each of a plurality of individual, portable data storage means, the data structure for each of the multiplicity of processes. The method then further includes the step of reading and storing the data structures for a multiplicity of processes from one of the operator related portable storage means so that the data structures are thereafter available for use by both the engineering set up control program and the operator control program.
In this fashion, the availability denoting means in the data structures stored on the operator related storage means control the availability of each of those processes for use by the operator control program. In other words, the operator having that storage means to read stored data structures into the machine can only run processes which are denoted as enabled in the stored data structures. Furthermore, these data structures stored on the portable storage means can be easily and quickly reconfigured by the engineer using the engineering set up control program by a simple change in the value stored in the availability denoting means of the data structure on the storage means. Thus one particular experienced operator may be provided with wide access to various processes to be run by the machine whereas another, less experienced operator may only have access to one or two processes. This discretionary set up of process access levels for various operators is fully under control of the engineer. Each operator can be provided with a separate portable storage mens such as a disc which fully controls which processes that operator can run on the equipment.
This feature of control of operator access level by way of data structure stored on a portable storage means can be further adapted to specific control of level of operator discretion in parameter entry utilizing the feature of the parameter denoting means in the data structures for each of the processes. Accordingly, two different operators having access to running of the same process can be provided with different levels of discretion in parameter entry based on either the experience or competence of the operator. Only the engineer who has access to the engineering set up control program by way of password entry can alter the data structures on the individual operator related storage means. However, since all of the data structures for all of the processes are stored on the portable storage means, the engineer can very easily and quickly reconfigure operator access level to processes and operator discretion in parameter entry by inserting the operator related storage means and running the engineering control program to alter the content of the data structures denoting either process availability or parameter designations.
The advantages of this feature of the invention to both the engineer and the operator will be more fully explained in the discussion of specific examples given below. It should, however, be appreciated that this level of control by the engineer of all aspects of operator access to running of processes and entering of parameter values provides an advanced level of flexibility and convenience which overcomes many of the frustrations involved in the limited choices available in prior art systems.
Dynamic Menu Display Feature
The objects of this invention are further achieved in accordance with another feature of this invention involving dynamic menu display. This feature is separate and independent from the features already described, in one sense, but is also cooperative with the above-described features of the invention to provide additional, powerful convenience in especially the engineering set up control program aspect of this invention. More specifically, the dynamic menu display feature of this invention involves a system and method for displaying and selecting menu items on a computer display device.
The steps of the method include defining a plurality of separate main menu items and defining a plurality of separate groups of auxiliary menu items each being associated with at least one of the main menu items. Two separate menu display regions are established on the computer display device with each region being capable of displaying multiple menu items and an associated selectably positionable pointer to an individual one of the menu items. As an example, the main menu items could be the names of a group of processes and the auxiliary menu items could be the individual process names within each group.
The method continues with the step of displaying in the first menu display region at least a plurality of the main menu items (and preferably all of them if possible) together with the associated pointer positioned at one of the displayed menu items. Simultaneously there is displayed in the second menu display region at least a portion of one of the groups of auxiliary menu items associated with the main menu item being pointed at together with the associated pointer positioned at one of the displayed auxiliary menu items. Finally the method includes automatically responding to a position change of the pointer in the first menu display region to point at a new main menu item by altering the second menu display region to display at least a portion of one of the groups of auxiliary menu items associated with the new main menu item being pointed at.
In other words, as the pointer in the first menu display region toggles from one item to another, the display of a group of auxiliary menu items automatically changes to one of the groups associated with the new main menu item being pointed to. Preferably for full value of this feature, the alteration of the second menu display region to display a new group of auxiliary menu items is accomplished virtually instantaneously so that each item selection choice in the second menu display region is instantly viewable. Selection and paging through the groups of auxiliary menu items can then be quickly accomplished by toggling the pointer in the main menu item display region.
This dynamic menu feature can be extended, within the limits of display device size, and resolution and computer memory availability and operating speed to three or more menu display regions arranged in a hierarchy such that any toggling of the pointer in one of the menu display regions causes dynamic change in the menu items displayed at all lower order display regions on the display device. This dynamic menu feature can also be coupled with other menus which are not hierarchal, such as where items in a third menu region are linked one-to-one with items in a second menu region. Full appreciation of the advantages and the value of this dynamic menu display feature will be gained from reading the detailed description given below. However, it should be apparent from this summary that this dynamic menu feature adds dramatically to the convenience of using the engineering set up control program in a system where a large number of processes are available for set up by the engineer. These processes can be grouped with main group names, secondary group names and finally process means (in a three region display situation) so that the engineer can quickly see all of the specific processes which are available for set up.
Furthermore, when the engineer has activated a particular pointer at the process name level of the dynamic display, he will have full information on the group name and subsidiary group name associated with that individual process since all this information will still be in front of him on the screen. The engineer need not page back and forth to recall where the various levels of screens through which the display has paged in order to recall what the migration path to that process name selection involved. If the engineer mistakenly selects a particular process and wants to go to the right process by toggling the selected item in the highest menu in the hierarchy, this can be done very quickly by activating the pointer at the higher menu level in the display hierarchy and moving the pointer to a new process group name with instantaneous update to all subgroup names at the second menu display egion and all process names available for the process subgroup name pointed to in the third display region.
As will be seen from the detailed description given below, this dynamic menu feature by itself and integrated with the other features of this invention provides a uniquely powerful tool for set up and running of real time process control programs in a complex, sophisticated machine control environment. Utilization of the features of this invention enable the engineer to proceed with both convenience and confidence in performing the engineering set up function because the engineer has full satisfaction that all aspects of process availability and parameter value designation are fully under his control. Operator convenience and confidence is also achieved because the operator has been given access only to selection of processes and entry of parameters which are within the competence and qualifications of that operator. The level of possible errors in process running under operator control will be substantially reduced by use of the features of this invention. The level of convenience and confidence provided to both the engineer and operator will encourage use of computer based real time process control by organizations with a wide range of levels of engineering and manufacturing sophistication.
Other objects, features and advantages of this invention will be apparent from a consideration of the detailed description given below in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1 and 2 show an exemplary contour map and diameter scan produced by an automated semiconductor wafer resistivity tester.
FIG. 3a is a block diagram of a computer system incorporating the apparatus of this invention. FIG. 3b shows a set of cursor movement keys.
FIG. 4 is a block diagram showing how the preferred embodiment of this invention is used to control an automated semiconductor wafer resistivity tester.
FIG. 5 is a conceptual diagram of the method of this invention.
FIG. 6 is a flow chart showing the initial steps of the preferred method embodiment of this invention.
FIGS. 7 through 9 are flow charts of the operator control program of the preferred embodiment of this invention.
FIGS. 10 and 11 are flow charts of the menu selection method of this invention.
FIGS. 12 through 15 depict the primary data structures used in the system and method of this invention.
FIGS. 16a-16c show the memory storage scheme for the data structures used in the preferred embodiment of this invention.
FIGS. 17 through 21 are flow charts of the engineer set up program of the preferred embodiment of this invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIGS. 1-2 have already been discussed above, with reference to the background of this invention, and therefore need not be described further.
System Modules
Referring to FIG. 3a, there is shown a block diagram of a system 20 incorporating the apparatus of this invention and capable of carrying out the method of this invention. A physical processing system 22, such as a semiconductor wafer resistivity tester, is controlled by a computer based control system 24. The control system 24, in accordance with this invention, is divided into two modules: an engineering set up module 26 and an operator module 28. The control system 24 further includes a set of process control programs 40, each of which is used to control the physical system 22 while it is performing a specified type of process.
The engineering set up module 26 includes a computer 30 and software for the computer comprising an engineering set up control program 32. A keyboard 33 or an equivalent device is used to enter commands and data into the computer 30.
As will be explained in greater detail below, the engineering set up control program is used to define the degree and types of constraints which limit and control the types of processes which can be run using the physical system 22. In the preferred embodiment, the computer 30 is an HP 150, which incorporates a touch screen 34 (i.e., a screen which is sensitive to the position at which it is touched).
The operator module 28 includes a computer 36 and software for the computer comprising an operator process control program 38. The operator module 28 is used by an operator (i.e., a person) to select and run processes on the physical system 22 which have been previously set up using the engineering set up module 26. A keyboard 37 or an equivalent device is used to enter commands and data into the computer 36, which also has a touch screen display device 39.
As will be described in greater detail below, the operator process control program 38 includes a process selection program for selecting which of the available processes is to be run on the physical system 22, and a parameter entry program for specifying parametric values for use in conjunction with the process to be run by the physical system. Importantly, the parameter entry program includes means for preventing the selected process from being run until certain parameters (preselected by the engineering set up module) are specified.
The engineering set up module furthermore includes means for storing a representation of the set up decisions made by the engineering set up module 32 on a portable magnetic disc 35. These choices are represented by entries in a set of data structures 45 which are used by both the engineering set up and operator process control programs.
In the preferred embodiment, the software for each of the modules 26 and 28 includes both the engineering set up and the operator process control programs. Therefore, the operator module 28 can also be used as an engineering set up module. Similarly, if the engineering set up module 26 is connected to a physical system 22, it can also be used as an operator process module.
In the preferred embodiment the physical system 22 is a wafer resistivity tester and there are three process control programs 40. One process control program, called Contour Map, causes the computer 36 in the operator module to send control signals to the tester 27 which direct it to measure and record the resistivity of a semiconductor wafer at a specified number of separate position coordinates on the wafer. Another process control program, called Diameter Scan, generates control command which direct the tester 22 to measure and record the resistivity of a semiconductor wafer at a specified number of separate test sites along a diameter line. A third, called Quick Check, measures the resistivity of a semiconductor at a small number of test sites to quickly determine the approximate resistivity of a semiconductor wafer.
A list of the most important computer programs in each of the software modules in the preferred embodiment is shown in Table 4. The function, method, and other relevant details of each of these programs will be discussed in more detail below.
Referring to FIG. 3b, there is shown a set of standard cursor movement control keys 41a-41d which are included in the keyboards 33 and 37 of the engineering and operator modules 26 and 28. As will be described below, the cursor movement keys are used in the preferred embodiment to move certain pointers on the displays 34 and 39 of the engineering and operator modules 26 and 28. The direction of pointer movement associated with each cursor key is indicated by the arrow symbol thereon.
Operator Control and Engineering Set Up of Automated Resistivity Tester
The system and method of this invention can be utilized with respect to any physical processing system 22 which is set up for computer control using process control programs. To illustrate this invention, however, the detailed description below will illustrate the use of the invention in a presently preferred embodiment involving control of an automated resistivity tester of the type described in the above-referenced copending application. FIG. 4 shows a block diagram of the electronic control systems which are used in this automated resistivity tester and this diagram will be used to illustrate the relationships between the functions of the engineering set up program, the operator process control program and the physical process control programs.
FIG. 4 shows a main computer 240 which is communicating with a dedicated microcomputer 220 which is actually controlling the operational functions of the resistivity tester. For simplicity, it will be assumed that the main computer 240 is a single computer having both the engineering module 26 and the operator module 28 available therein. To utilize this invention in the system of FIG. 4, the engineering set up program, the operator process control program, and the physical process control programs will all be predefined by the company which is supplying the system. The physical process control programs which run the physical processing system, i.e. the resistivity tester, determine to a large extent the data structure format and the content of the engineering set up program and the operator process control program.
Automated Resistivity Tester Features
In the case of the automated resistivity tester to be used in this discussion, there are three process control programs with which the system is provided: (1) a Contour Map program, (2) a Diameter Scan program, and (3) a Quick Check program. Each of these process control programs is available in the memory of the main computer 24 and comprises a series of software control commands which are sent sequentially to the dedicated microcomputer 220 which interprets the command and, in turn, sends control commands to other electronic modules of the system to cause certain specific functions to be performed. The module designated 230 in FIG. 4 controls the positioning of the wafer and the probe head to determine the position coordinates of the current test site on the semiconductor wafer. The module designated 240 in FIG. 4 controls the measurement parameters and the measurement configuration, including the value of electrical current to be sent to the probe tips from current source 241, which probe tips will receive the current through the relay signal distribution network 242 and which probe tips will be coupled to the digital volt meter 291.
The Contour Map program and the Diameter Scan program each include a set of program instructions which direct the microcomputer 220 to command the module 230 to position the probe head in the tester at a series of individual test sites in a prearranged sequence. The number of sites is a parameter that the engineer or operator must enter. The position coordinates of each site will be determined by the program from other parameters such as wafer size and test diameter. The Contour Map program selects test sites dispersed over a two-dimensional array of test sites within the specified test diameter. The Diameter Scan program selects test sites which are regularly spaced along a diameter of the wafer with a specified orientation angle.
These programs also include a set of program instructions which direct the microcomputer 220 to command the module 240 to make a measurement at each of the individual test sites using the value of the entered current parameter. The above-identified copending application contains a detailed explanation of the sequence of commands that are provided in the process control programs of the resistivity tester.
This brief explanation is provided here to illustrate the complexity of the system as a basis for showing the need for providing the engineer and the operator with and engineering setup program and operator control program which render the tasks to be performed by these persons easy and convenient to carry out without requiring a detailed knowledge of how the resistivity tester is functioning. This explanation further is provided to illustrate that the process control programs together with the physical system which they control determine the data structure formats, and the content of the engineering set up program and the operator control program. Once these programs have been defined and written, the overall system is ready to be made available to the engineer to carry out the task of setting up the system, using his own discretion in important areas, for the operator thereafter to utilize to direct the system to perform configured versions of the various available processes.
In other words, using the system and method of this invention, the engineer is provided with an overall software system which is configured with a predefined data structure format for each of the predefined process control programs. The predefined engineering set up program enables the engineer to perform final operator-related configuration of a multiplicity of versions of the processes which the system is capable of carrying out. This is done on a one version at a time basis with full control by the engineer of (1) the process group names and process names to be assigned to the individual process versions, (2) the process groups and individual process versions which are available for operator running, and (3) the status of the individual predefined parameters as fixed, operator alterable, or forced entry. At this level of explanation, the engineering setup tasks still sound relatively complicated and formidable, but the step-by-step explanations given below will show that the engineering setup of each process involves a series of straightforward and easy steps which lead to a very powerful and advantageous final system capability.
It will be helpful for understanding of the engineering set up program and the steps involved therein if the functions of the operator process control software for a system which the engineer has already configured are explained first to show the advantageous end result of creative use of the engineering set up software tools.
Operator Control Program Overview
When the system is turned on, it displays the lead-in screen shown in Table 5 below. The lead-in screen simply identifies the software program, displays a copyright notice and a warning concerning the proprietary rights in the system. The prompt line at the bottom of the screen directs the operator to touch the screen to start the running of the operator control program. The HP 150 system uses a touch screen capability as one of the operator entry features and a number of other approaches could be employed if other computer systems were used. These will be discussed below.
The operator assigned to carry out some resistivity testing operations on one or more wafers has, in the preferred embodiment, an operator-related disc on which the engineer has caused to be stored all of the data structures for a multiplicity of processes. The operator inserts this disk in the HP 150 computer, touches the touch screen, and the system loads the stored data structures from the disk into internal memory of the computer.
Process Group Selection
After the operator touches the lead in screen, the menu in Table 6 is displayed on the touch screen. This menu has four display areas: a top prompt line with operator instructions, a central area with nine boxes in which process group names predefined by the engineer are displayed, a command area entry below the central area with configurable command names and functions in four boxes, and a bottom prompt line with operator instructions.
Six process group names are displayed in this menu, five of which happen, in this example to be the names of various ion implantation systems. From this it can be seen that the engineer has elected to provide process group names which are associated with the wafer processing equipment which was used to produce the wafers to be tested on the resistivity tester. Three of five process group names have highlighted display regions, designated here by the combined solid and dashed lines, but typically indicated on the screen by a bright reverse video region or other highlighting technique. The operator knows from prior instruction that only the highlighted items are available for selection at this step and that the system will not respond to touching a box which is not highlighted.
The operator knows from the traveler, a process instruction sheet which accompanies the wafer(s) to be tested, which implanter the wafer was processed on. For this example we will assume the implanter was the NOVA NV10-1 and the operator touches that box to select the process group to run. The system responds by displaying the next menu, shown in Table 7. The previously selected process group name is now displayed at the right of the top prompt line for informational purposes.
Process (Configuration) Selection
The menu in Table 7 directs the operator to select a configuration for the test process to be run on the tester. In this case, the engineer has set up eight separate process configurations within the NOVA NV10-1 group name. The engineer has also, in his discretion, named these separate process configurations in a particularly meaningful way, as facilitated by the engineering set up program to be described below. Each process configuration name includes a designation of the implant dosage level (e.g., 1E12 which is scientific notation for an implant dosage of 1.times.10.sup.12 atoms per square centimeter), the implanted dopant species (e.g., BORON) and the type of test (and related process control program) to be performed on the wafer (e.g., MAP or DIA, MAP signifying use of the Contour Map tester program, DIA signifying use of the Diameter Scan tester program).
The operator will see on the traveler the implant dosage used and the type of test requested by the engineer. We will assume for this example that the 1E13 BORON (MAP) test is requested. The operator sees that the display block with that name is highlighted, designating process availability, and touches that block on the screen to invoke that test program. The system responds by displaying the screen shown in Table 9.
Table 8 shows the screen that the operator would have seen if the EXTRION DF4 process group had been selected in the first menu screen. This shows that the Extrion implanter is being devoted to arsenic implants and the engineer is using the same naming convention for the individual process names in the EXTRION DF4 group.
Parameter Entry
The screen in Table 9 is for parameter entry by the operator. It includes a top line with prompts and information display on the group name selected, the process selected, and the tester process control program (i.e. CONTOUR MAP) which will be invoked when the selected process is actually run. Under the top prompt line is a header block which has been configured by the engineer to have a fixed heading followed by two forced entry parameters: OPERATOR and SHIFT. The operator knows these are forced entry parameters because the field or area where the information is to be entered is in bright reverse video (designated by the double asterisk "**" to the right of the area in the Table). Parameters which are operator alterable, but not forced entry parameters, are shown in normal reverse video (designated by a single asterisk "*" in the Table). Parameters with fixed values are shown in normal video (designated by the lack of an asterisk in the Table).
It should be understood that OPERATOR and SHIFT are not process related parameters, but are data parameters which the engineer, in his discretion, has decided to track and thus to force the operator to enter before the process has been run. Only process control parameters are used by the process control program to determine what commands are to be sent to the tester 22. Another type of parameter, called an analysis control parameter, is used to control the analysis performed by the process control program on the data collected while the process is run.
The two forced entry parameters are followed by an operator alterable parameter line which the engineer has left undesignated, but may have requested the operator in written instructions to enter certain data tracking parameters under certain circumstances. The operator will type in on the keyboard, the OPERATOR and SHIFT parameters in sequence, entering each by depressing the cursor down arrow on the keyboard to reposition the pointer (shown as an arrow) to the next parameter field. The pointer will usually have an initial position at the first parameter which must be entered by the operator and this feature is part of the operator control program software.
After the operator has entered OPERATOR and SHIFT, the operator can move the cursor or pointer down to the test parameter entry area of the screen by using the cursor down key. This area displays ten parameter names, some of which are process parameters, some of which are analysis control parameters and some of which are data parameters. The process parameters are NUMBER OF SITES, WAFER DIAMETER, TEST DIAMETER, and MEASURE CURRENT. The analysis control parameters are CONTOUR INTERVAL and SORT CRITERIA. The others are data parameters.
The engineer has previously denoted the first two parameters to be operator unalterable parameters, probably on the basis that the engineer has determined that he always wants 225 sites measured on these boron implanted wafers and the wafers will always be 3.0 inch wafers because the implanter is set up to implant 3.0 inch wafers. (The operator knows that they are fixed because they are not highlighted and furthermore the cursor or pointer cannot be positioned on that line.) There is no need to allow the operator to alter these parameters and there is good reason not to have the operator enter these parameters at all since a mistake could be very costly in terms of improper test results which might force the implants to be repeated on different wafers. In many prior art systems, the operator would have to enter these parameters from an engineer instruction sheet and an entry error could occur. Here the engineer has fixed the parameter values as the correct ones to use.
The operator alterable parameters are designated with a single asterisk in the Table, and the operator has discretion, within the instructions from the engineer, to alter these parameters in certain test situations. (Another operator having a different disk with different data structures thereon may, for example, have different alterable parameters, either fewer or more.) The operator will enter all of the forced entry parameters, and then note that a START box in the programmable command line is now present. This signifies to the operator that all forced entry parameters have been entered and the system is prepared to run the selected process on the wafer.
The operator can still change any of the alterable parameters, including forced entry parameters if necessary. Once all parameters are correct, the operator touches the START box and the process is run by the tester under computer control without further action by the operator. The operator will be prompted by the system to load a wafer on the wafer test platform of the system. After the operator confirms that a wafer has been placed on the wafer test platform, the tester system will take over and perform the configured CONTOUR MAP process invoked by the operator and the measurement data will be stored on the disk of the operator or on other data storage media.
While the CONTOUR MAP program is being run by the tester, the screen displays the resistivity measurements as they are received by the system's computer, and it also displays information regarding the number of sites to be tested, the number of sites tested so far, and statistics on the measurements received. When the tester is finished, the wafer platform will present the wafer back to the operator, and the second box of the command line will display NEXT WAFER. The operator can load another wafer on the platform for running the same test or can touch CHANGE to alter the parameters for the next test, using the same process program, or can touch EXIT to go back to the first menu to select another process group.
From this explanation, it will be appreciated that the operator control program is very easy for the operator to use with confidence. Assuming that, in configuring the various processes of the system, the engineer has employed process group titles and process names which are meaningful to the trained operator or are otherwise provided on documentation which the operator automatically has in his possession, the process selection step by the operator is greatly facilitated. Furthermore, the system automatically communicates to the operator the status of each parameter. With the already entered default values and fixed parameters, the operator has only to enter those forced entry parameters and make any changes in the operator alterable parameter values which the engineer has instructed or which the traveler accompanying the wafers to be tested signifies. Compared to the prior Omnimap system approach discussed in the introduction above, it will readily be appreciated that the chances for operator entry error have been substantially reduced, the convenience of parameter entry has been substantially enhanced and the flexibility of upgrading the operator capability is greatly facilitated.
Engineering Set Up Control Program Overview
The operation of the engineering set up control program to produce the configuration of the system discussed above will now be explained. When the engineer starts the system, he is presented with the same initial lead-in screen as the operator. Access to the engineering set up control program is through password, and the engineer enters the appropriate password on the keyboard and depresses the return key. The next screen presented on the touch screen is shown in Table 13 and is called the MAIN MENU screen.
Task Selection
This screen has two menu display regions in the central area of the display where main menu items and subsidiary menu items are displayed using the dynamic menu display feature of this invention. The subsidiary menu items shown in the right hand region correspond to engineering set up tasks which are part of the group of tasks designated CONFIGURATION since that is the main menu item being pointed to at this time. Table 14 shows the items in the subsidiary menu when the pointer in the main menu region is toggled, using the up or down cursor keys, to the DATA PRINTING item.
The CONFIGURATION group of engineering tasks is the most important one and will be described in detail. To initiate the performance of this group of tasks, the engineer touches the GO command box since the OPERATOR PROMPTS task is generally performed first. The system responds by presenting the screen shown in Table 15, but with blank areas (or initial, suggestive examples) in the three central menu display regions to be filled in by the engineer. The TITLE and CONFIGURATION areas are designated for process group names or titles and configuration titles, respectively. The TEST TYPE area is linked one-to-one, in this case, to the configuration name, and designates the particular one of the process control programs to be invoked by selection of that configuration. In other words, the configuration name is for a preconfigured process (from a process parameter standpoint and a data structure content standpoint) corresponding in type to one of the prearranged types of test program that the resistivity tester can run.
Operator Prompt Editing Task
There are a number of different ways the engineer can proceed to use the PROMPT EDITOR for initial set up of a multiplicity of processes. If the engineer has preplanned all the initial groups and associated configurations, the screen in Table 15 can be edited by entering all of the group titles and configuration names at one time. Later these can be added to, deleted or changed at will. For this example, we will assume that the engineer wants to setup configured test processes for each of the different ion implanter machines that his wafer fabrication area utilizes in day-to-day processing of semiconductor wafers. Using the up and down cursor control keys, the engineer points to one of the first five lines under the title region, touches the CHANGE box, enters the name or other designation of an implanter, and then continues with this procedure for each implanter.
Then, going back up to the first line in the TITLE display region, the engineer repositions the pointer to the CONFIGURATION display region (by using the rightward cursor movement key) and enters one-by-one all of the test configuration names for the EXTRION DF4 group of tests. Then the pointer is moved to the TEST TYPE display region, and at each line corresponding to a CONFIGURATION name, the engineer touches the CHANGE box and toggles through the process control program names, using the up and down cursor control keys, until the desired control program name is displayed. In this case, four of the configurations will use the CONTOUR MAP program and four will use the DIAMETER SCAN program.
Thereafter, each of the following lines in the TITLE display region is pointed at and the same sequence of steps is performed to name the configuration processes corresponding to each implanter name and to select one of the process control programs to be invoked when that process is selected. It will be remembered that all of this set up activity controls what the operator sees on the two menu screens which provide process group and individual process selection prior to parameter entry. The process group names appear on the first screen (Table 6) and the process names appear on the second screen (Table 7 or 8) depending on the process group name selected. Table 16 shows, for example, that the process names entered by the engineer for the NOVA NV10-1 test group correspond to what the operator sees in Table 8.
Once these steps have been performed, the OPERATOR PROMPTS function has been completed, subject to modification by the engineer at will. The engineer now has all these title and process designations stored in temporary memory in the data structures associated on a one-for-one basis with each process. It will be seen that, in the system as configured, the engineer can define nine process group names and can designate nine individual process names for each individual group, giving the overall capability to configure eighty one different processes.
Test Set Up Task
The next step to be performed is the TEST SET UP step. The engineer positions the pointer in the CONFIGURATION menu region to the process selected for test setup and then touches EXIT and the MAIN MENU reappears on the screen (Table 13). The pointer under ITEM is then moved to TEST SET UP and the GO box touched. The system responds by displaying a test set up screen as shown in Table 19. The prompt/information line at the top of the display indicates the particular process group and individual process being worked on in this step so the engineer has no confusion as to the parameter configuration which is pertinent to that test.
The test setup screen enables two very important functions to be performed by the engineer; (1) denoting each of the parameters as having one of three types of status, namely operator unalterable (fixed value), operator alterable (common default value), or forced entry (operator must enter to enable process running); and (2) entering fixed parameters and default values for operator alterable parameters. It should be noted that the parameter names in the PARAMETER region are predefined relative to the process control program (CONTOUR MAP in this case) associated with the specific process being set up. The engineer may not alter these in this example. It should be recognized, however, that the engineering control program may be configured, if desired, to permit addition of optional data type parameters by the engineer.
To perform the test set up, the engineer positions the cursor or pointer at each item in the VALUE column, touches CHANGE, and then either types in a value or toggles the item through preset choices for each parameter, using the up/down cursor control keys. For example, the NUMBER OF SITES parameter has a fixed set of optional values which must be toggled through (e.g., by using the down cursor key, or pressing the CHANGE box, until the desired value is selected). After the parameter value is set or entered, the pointer is moved to the OPTION column by using the rightward cursor movement key and the desired status of the parameter is denoted by toggling through the three choices of LOCKED (fixed and unalterable), MAY CHANGE (operator alterable), and FORCED (operator must enter). It should be noted that, wherever necessary or desirable, each of the process parameters which requires entry by the opeerator is subjected to a validity check, such as for example, the entry of a valid date or wafer identification. The engineer could be permitted as a supplemental test set up function to establish a particular format and/or other constraint for the parameter value or date to be entered.
This test setup must be done for every one of the configured processes by selecting the process using the screen in Table 15 and then invoking the TEST SET UP function from the MAIN MENU. While this is a time-consuming task, it is one which is very easy to perform in a straightforward manner using the friendly tools which are incorporated in the engineering set up program.
Header Set Up Task
After TEST SET UP has been done, the engineer can similarly do a HEADER SET UP for each of the configured processes by invoking the HEADER SET UP from the MAIN MENU and using the screen shown in Table 21. The first line is typically a LOCKED descriptive title, and the other lines in the header may be data lines whose names and status are configured at the total discretion of the engineer.
Operator Choices Task
After the HEADER SET UP has been done for each configured process, the final configuration step of OPERATOR CHOICES is performed, starting with invoking this task from the MAIN MENU. This task is carried out using the menu shown in Table 18, which corresponds generally to the menu configured by the engineer in the OPERATOR PROMPTS task. However, the task now is to denote each of the process groups and/or individual processes as available or unavailable. All processes default to unavailable and the engineer must actively enable each process group and each process which he wants to be available to the operator. This is simply done by positioning the pointer at the process group name under TITLE and/or process name under CONFIGURATION and touching the SELECT box. The selected (enabled) processes will be highlighted in reverse video (denoted with an asterisk in the Table)). The engineer can thereby enable and disable each process group and individual process at will. Of course, if a process group is disabled, all of the individual processes in the group are automatically disabled since the operator cannot select that group.
In the case of the operator example discussed above (see Tables 6 and 8), the engineer has enabled the first three group (implanter) process names and, for the EXTRION DF4 group, the first three configured processes under CONFIGURATION have been enabled. For the NOVA NV10-1 group (see Tables 7 and 18), only the first two configurations were enabled. This can be changed at any time by the engineer as will be discussed later.
When the engineer is finished with his other configuration tasks, he will typically update all changed data structures by invoking UPDATE ALL from the MAIN MENU. This will write all of the new or revised data structures onto the operator disk then entered into the system and thereby give an operator related configuration to that disk which can easily be changed.
From the above discussion, it should be apparent that the system and method of this invention provides to the engineer all of the advantages discussed in the introductory section of this specification. Specifically, with respect to the use of the invention in connection with setup of an automated resistivity tester, it should be apparent that the engineer is provided with tools to easily and conveniently set up multiple test process configurations, each with individual parameter status denotion and availability denotion. The results of all of this setup effort are stored in associated data structures and not on a collection of documents which can get lost, garbled or misinterpreted.
Furthermore, the engineer can, at will, revise any of the configured test processes in a machine editing approach by direct revision of data structure values rather than dealing with revising process instructions on paper. If the engineer wishes to maintain records of the prior configurations, these could be stored on one of the operator-related disks, but with all process groups disabled so that the disk cannot be mistakenly used by an operator. This, in itself, eliminates the "paperwork confusion" that often surrounds process revision level documentation and the mistakes that can be made by an operator who uses an obsolete version of written process instructions. If the engineer proceeds carefully with use of the tools provided by the system and method of this invention, all of the operator-related disks will only have enabled process configurations which are current and correct.
While the system and method of this invention does not avoid the time consuming task of setting up multiple test processes, once the engineer has learned to use the tools provided by the system and method of this invention, the engineering setup tasks can be performed much more efficiently and effectively. By eliminating the drudgery of maintenance of documentation and providing the convenience and confidence engendered by use of the system and method of this invention will encourage more widespread, effective use of computer controlled testing.
With the understanding provided by the above description of the operator use of the operator control program of this invention for running processes and the engineering setup procedure used by the engineer, the description below of the detailed process flow of the invention will be more readily understood. The system and method of this invention involves, for both the operator control program and the engineering setup program, a series of routines which will be described below in connection with FIGS. 5-20 of the drawings.
Overview of Method of This Invention
Referring to FIG. 5, there is shown a flow diagram of the general concept of the method of this invention. The method begins with the tasks performed by the engineering set up program 32 and ends with tasks performed by, or initiated by, the operator control program 38. For ease of understanding, the operator control portion of the method will be described first.
The operator program 38 responds to commands from an operator (operator input 42) to select the process to be run on the tester 22. Next, the operator program 38 allows the operator to enter parameter values needed for running the selected process. These parameter values, along with other predefined parameter values, are stored in the memory of the computer. Furthermore, the parameter values for any specified process, along with other related informtion which will be described below, are organized in the memory of the computer by the use of data structures 45a.
There is an important distinction between a "process control program" and a "process". A process control program is a computer program which is used to direct the system 22 to perform a certain type of process. A process, on the other hand, is an operation performed by the system 22 under the control of a specified process control program in accordance with a specific set of parameter values.
As will become clear from the discussion below, a process can be represented by a data structure which specifies the process control program to be used and the parameter values to be used therewith. Furthermore, a number of such data structures for different associated processes can be stored in a computer at one time. This feature is a central aspect of the present invention. The preferred embodiment of the present invention uses a number of data structures which will be discussed in detail below.
After the operator has entered all the parameter values needed to run a selected process, the selected process can be run 44. The specified process control program 40 is given parameter values from the appropriate data structure 45a and uses those values to determine the specific command signals to be sent to the tester system 22.
Returning to the beginning of the method, the engineering set up control program 32 is used to build data structures 45 which specify processes to be run under the control of the operator control program 38. The data structures are typically built in response to instructions from an engineer (keyboard input 46).
Since each process control program may need a different set of parameters, and since the manner in which those parameters are organized will generally vary from one process control program to another, the format of the data structure used to define a process will generally depend on the process control program for the process. More succinctly stated, the format of each data structure is determined by the prameters needed by the corresponding process control program. Thus there is a data structure format 48 for each process control program.
As shown in FIG. 5, the data structure for each process includes certain information: the name of the process (Op Prompt); a flag value indicating whether use of process by the operator control program is enabled (Avail); a pointer to the process control program for the process (PCP ptr); and a list of the parameters for the process. For each parameter there can be stored a value and a status flag. The status flag is used to indicate if the parameter value is a fixed and not changeable by the operator control program; alterable by the operator control program; or must be given a value by the operator control program before the process can be run.
In the preferred embodiment the data structures 45 generated by the engineering set up programs are stored on a disc 35 for later use by the operator control program 38. The discs 35 used with the HP 150 computer in the preferred embodiment are microdiskettes (i.e., miniature, portable flexible discs) capable of storing approximately 750,000 bytes of data, and thus are capable of storing a large number of data structures in addition to data collected while running the wafer resistivity tester 22. The terms "disc" and "microdiskette" are used interchangeably herein.
When the operator control program 38 is used it reads in and stores a copy of these data structures from the disc 35. Operator entered parameter values are temporarily stored in a copy of the data structure 45a for the process being used, and thus do not affect the copy of the data structures 45 stored on the disc 35. In fact, the operator control program 38 is incapable of changing the data structures stored on the disc 35.
As in the above description of the general aspects of the method of this invention, for the sake of clarity, a detailed description of the operator control module will given before describing the engineering set up module and the data structures used by this invention.
Initial Steps of Method
Referring to FIG. 6, there is shown a flow chart illustrating the initial steps of the method of the preferred embodiment. These are the steps by which the engineering set up and operator control programs are started.
When the computer 30 or 36 in either the engineer module 26 or operator module 28 is turned on, it automatically goes through a standard system boot procedure 50. This loads in the computer's operating system software and also loads in (box 52) and starts up a designated program, which in this case is the introductory sequence of the main program module.
Thus when the computer 30 or 36 is turned on, or reset, it automatically loads in the software for the control system 24 and a predefined display screen (see Table 5) appears on the computer's display 34. In the preferred embodiment, the introductory screen identifies the system, displays a copyright notice, and warns the user that use of the system 24 is subject to the terms of a license agreement.
Note that entry point A to the introductory display step (box 54) is referred to in the following Figures as a short hand notation for returning to this portion of the system start up procedure. Similarly, other entry point designations (e.g., B, C and D) are used consistently from one Figure to the next to shown the flow of control from one portion of the software in the system to another.
From the initial screen, either the operator control software or the engineer set up software can be activated. If the display screen 34 of the computer is touched, the operator control software is activated. This is done by loading into the computer's memory a copy of the data structures (box 56) stored on a disc 35, and by starting the operator process (box 58).
It should be noted that in the preferred embodiment, the computer's display 34 is a touch sensitive screen. Thus the computer can detect not only that the screen 34 has been touched, but also generally the position on the screen where it was touched. As will be seen later, the preferred embodiment of this invention uses this touch screen feature in a number of places to facilitate use of the system 24 by operators. Since such touch sensitive screens are well known in the prior art, this feature of the preferred embodiment needs no further explanation. However, it should be understood that the input signals from the touch sensitive screen 34 could easily be replaced by keyboard signals or signals from a mouse device or light pen device in alternate embodiments of this invention to be discussed below.
Still referring to FIG. 6, the engineer set up process is started by entering a password on the keyboard 33 instead of touching the screen 34. If the password entered is correct (box 60) the engineer set up software is activated. This is done by loading into the computer's memory a copy of the data structures (box 62) stored on a disc 35, and by starting the engineer set up process (box 64). If the password entered is not correct (box 60) the introductory display screen continues to be displayed. An error message is temporarily displayed in the prompt line at the bottom of the screen.
Operator Control Process
Flow charts for the operator control program are shown in FIGS. 7 through 9.
Referring to FIG. 7, the basic steps of the operator control program are selection of a process (box 70) to be run on the tester 22; entry of parameter values for the process (box 72); and initiation of the selected process (box 74).
At each step of the operator control process, the operator can exit from the current step and return to the previous step of the method. Thus, the operator can touch an EXIT box on the display 34 while in the select process step (see Table 6) to return to the introductory display step (box 54) shown in FIG. 6. Similarly, the operator can touch an EXIT box on the display 34 while in the parameter entry step to return to the process selection step.
Also, as discussed above, when the operator control process is started the data structures for eighty one predefined processes are copied from a disc into the computer's memory for use by the operator control module 28. These predefined processes are organized into nine groups of processes, and each such group contains nine processes.
Operator Process Selection
Referring to FIG. 8, the first step of the process selection method is to determine how many process groups are available for use by the operator (box 80). If only one is available, that group is automatically selected (box 82).
If either none or more than one process is available, the process selection step proceeds by displaying a screen such as the one shown in Table 7. The items in the middle of the screen each represent a group of predefined processes. Those which are available for use by the operator are shown in reverse video, shown in Table 6 as being between double horizontal lines. Those which are not available to the operator are shown in normal video, shown in Table 6 as being between single horizontal lines. Thus, in Table 6, the EXTRION DF4, EXTRION CF3000, and NOVA NV10-1 process group are available, while the NOVA NV10-2, and LINTOTT IIIX process groups are not available.
Group selection (box 86) is performed by touching an available group name on the screen 34. Pressing the touch screen display 34 at the position of an unavailable process group causes the operator control program to generate a beep, and to leave the display unchanged. On the other hand, touching the display 34 at the position of an available process group causes a new display to be shown, such as the displays shown in either Table 7 or Table 8.
The display of unavailable group names is often useful because of the contex |