What is claimed is:
1. A model-predictive controller configured to estimate process disturbances from raw overlay registration data, and subsequently regulate the process disturbances.
2. A model-predictive controller as defined in claim 1, wherein the model-predictive controller is configured to estimate values of system states given an output measurement.
3. A model-predictive controller as defined in claim 2, further comprising a state estimator configured to estimate the process disturbances and a regulator configured to regulate the system states to desired targets.
4. A model-predictive controller as defined in claim 2, wherein the model-predictive controller is configured to estimate values of at least one of the following system states: wafer x-translation, wafer y-translation, wafer scale in x, wafer scale in y, wafer rotation, wafer non-orthogonality, reticle magnification, asymmetric magnification, reticle rotation, asymmetric reticle rotation.
5. A model-predictive controller as defined in claim 2, wherein the model-predictive controller is configured to estimate values of all of the following system states: wafer x-translation, wafer y-translation, wafer scale in x, wafer scale in y, wafer rotation, wafer non-orthogonality, reticle magnification, asymmetric magnification, reticle rotation, asymmetric reticle rotation.
6. A model-predictive controller as defined in claim 1, wherein the controller is configured to regulate the process disturbances to zero plus or minus measurement variance of the metrology tool, thereby resulting in precise control of overlay in a ASIC fabrication.
7. A model-predictive controller as defined in claim 6, wherein the controller is configured to drive overlay registration errors for each unique toll-device-layer-reticle combination to zero.
8. A model-predictive controller as defined in claim 1, wherein the controller is configured to employ a state disturbance model to remove steady-state offset.
9. A model-predictive controller as defined in claim 1, wherein the controller maps process corrections to measured outputs.
10. A model-predictive controller as defined in claim 1, wherein the controller is configured to estimate process disturbances based on 72 misalignment vectors received from a metrology tool.
11. A model-predictive controller as defined in claim 10, wherein the controller is configured to estimate process disturbances based on 36 misalignment vectors in one dimension and 36 misalignment vectors in another dimension.
12. A model-predictive controller as defined in claim 10, wherein the misalignment vectors are summations of an interfield.
13. A model-predictive controller as defined in claim 12, wherein the interfield misalignment vectors are related to translation, scale and rotation.
14. A model-predictive controller as defined in claim 10, wherein the misalignment vectors are summations of grid errors and reticle errors.
15. A model-predictive controller as defined in claim 14, wherein the reticle errors are related to magnification and rotation.
16. A model-predictive controller as defined in claim 10, wherein the misalignment vectors are summations of reticle errors.
17. A method of controlling overlay in ASIC fabrication, said method comprising estimating process disturbances from raw overlay registration data, and regulating the process disturbances to control overlay.
18. A method as defined in claim 17, further comprising estimating values of system states given an output measurement.
19. A method as defined in claim 18, further comprising using a state estimator to estimate the process disturbances and using a regulator configured to regulate the system states to desired targets.
20. A method as defined in claim 18, further comprising estimating values of at least one of the following system states: wafer x-translation, wafer y-translation, wafer scale in x, wafer scale in y, wafer rotation, wafer non-orthogonality, reticle magnification, asymmetric magnification, reticle rotation, asymmetric reticle rotation.
21. A method as defined in claim 18, further comprising estimating values of all of the following system states: wafer x-translation, wafer y-translation, wafer scale in x, wafer scale in y, wafer rotation, wafer non-orthogonality, reticle magnification, asymmetric magnification, reticle rotation, asymmetric reticle rotation.
22. A method as defined in claim 18, further comprising regulating the process disturbances to zero plus or minus measurement variance of the metrology tool.
23. A method as defined in claim 22, further comprising driving overlay registration errors for each unique toll-device-layer-reticle combination to zero.
24. A method as defined in claim 18, further comprising employing a state disturbance model to remove steady-state offset.
25. A method as defined in claim 18, further comprising mapping process corrections to measured outputs.
26. A method as defined in claim 18, further comprising estimating process disturbances based on 72 misalignment vectors received from the metrology tool.
27. A method as defined in claim 18, further comprising estimating process disturbances based on 36 misalignment vectors in one dimension and 36 misalignment vectors in another dimension.
28. A method as defined in claim 26, wherein the misalignment vectors are summations of an interfield.
29. A method as defined in claim 28, wherein the interfield misalignment vectors are related to translation, scale and rotation.
30. A method as defined in claim 26, wherein the misalignment vectors are summations of grid errors and reticle errors.
31. A method as defined in claim 30, wherein the reticle errors are related to magnification and rotation.
32. A method as defined in claim 26, wherein the misalignment vectors are summations of reticle errors.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An article of digital data storage media for use in a client computer system for executing an object oriented program to access disparate data sources through the use of an intermediate server, comprising:
instruction code for transmitting a primary transaction request;
instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instruction code for instantiating an object of said selected object class.
2. The article of claim 1 wherein said response further includes an indication of candidate object classes.
3. The article of claim 2 wherein said candidate object classes are primary application programming object classes.
4. The article of claim 1 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
5. The article of claim 4 wherein said response further includes an indication of candidate object classes.
6. The article of claim 5 wherein said candidate object classes are primary application programming object classes.
7. A method for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
transmitting a primary transaction request;
receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instantiating an object of said selected object class.
8. The method of claim 7 wherein said response further includes an indication of candidate object classes.
9. The method of claim 8 wherein said candidate object classes are primary application programming object classes.
10. The method of claim 7 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
11. The method of claim 10 wherein said response further includes an indication of candidate object classes.
12. The method of claim 11 wherein said candidate object classes are primary application programming object classes.
13. A data processing apparatus for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
means for transmitting a primary transaction request;
means for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
means for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
means for instantiating an object of said selected object class.
14. The apparatus of claim 13 wherein said response further includes an indication of candidate object classes.
15. The apparatus of claim 14 wherein said candidate object classes are primary application programming object classes.
16. The apparatus of claim 13 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting means selects based, at least in part, on the composition of the pre-existing object.
17. The apparatus of claim 16 wherein said response further includes an indication of candidate object classes.
18. The apparatus of claim 17 wherein said candidate object classes are primary application programming object classes.
19. The apparatus of claim 18 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting instructions select based, at least in part, on the composition of the pre-existing object.
20. The apparatus of claim 19 wherein said response further includes an indication of candidate object classes.
21. The apparatus of claim 20 wherein said candidate object classes are primary application programming object classes.
22. A data processing apparatus for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
a central processing unit; and
a memory unit coupled to said central processing unit, comprising:
instruction code for transmitting a primary transaction request;
instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instruction code for instantiating an object of said selected object class.
23. The apparatus of claim 22 wherein said response further includes an indication of candidate object classes.
24. The apparatus of claim 23 wherein said candidate object classes are primary application programming object classes.
25. An article of digital data storage media for use in a computer system for developing object oriented programs that access disparate data sources through the use of an intermediate server, comprising:
program code related to instruction code for transmitting a primary transaction request;
program code related to instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
program code related to instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
program code related to instruction code for instantiating an object of said selected object class.
26. The article of claim 25 wherein said response further includes an indication of candidate object classes.
27. The article of claim 26 wherein said candidate object classes are primary application programming object classes.
28. The article of claim 25 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
29. The article of claim 28 wherein said response further includes an indication of candidate object classes.
30. The article of claim 29 wherein said candidate object classes are primary application programming object classes.