US20070179651A1 - Automated tool recipe verification and correction - Google Patents
Automated tool recipe verification and correction Download PDFInfo
- Publication number
- US20070179651A1 US20070179651A1 US11/307,293 US30729306A US2007179651A1 US 20070179651 A1 US20070179651 A1 US 20070179651A1 US 30729306 A US30729306 A US 30729306A US 2007179651 A1 US2007179651 A1 US 2007179651A1
- Authority
- US
- United States
- Prior art keywords
- tool recipe
- tool
- recipe
- parameter
- case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41875—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by quality surveillance of production
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31422—Upload, download programs, parameters from, to station to, from server
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31443—Keep track of nc program, recipe program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32182—If state of tool, product deviates from standard, adjust system, feedback
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45031—Manufacturing semiconductor wafers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the invention relates generally to manufacturing control, and more particularly, to automated tool recipe verification and correction.
- Tool control in a manufacturing facility is important to maintain quality and efficiency.
- tool control is achieved via computers which are in turn controlled by instructions commonly referred to as tool recipes.
- tool recipes For example, in the semiconductor fabrication industry, various tools for processing product and/or measuring product are controlled by tool recipes.
- Each tool recipe may include thousands of parameters that instruct the tool on how to operate.
- production tools can produce many different products by simply running a unique tool recipe, which gives the production tool flexibility.
- the use of tool recipes to achieve flexibility also creates a need to verify that the tool recipes used by the tools are written correctly. If the tool recipes are incorrect, products may be damaged or, in many cases, scrapped due to incorrect processing or measurement.
- a tool recipe is audited by comparing the tool recipe to a pre-determined reference recipe.
- U.S. Pat. No. 6,650,958 and U.S. Patent Application Publication No. 2004/0078107 disclose varieties of this approach. Shortcomings of this type of approach, however, include inapplicability to tool recipes that are downloaded from a recipe management system, and need for manual corrections to the tool recipes.
- a tool recipe is intercepted during uploading or downloading of the tool recipe.
- a determination whether an associated parameter verification set (PVS) template for the tool recipe exists is performed, and if it exists, a determination as to whether it includes an auditable corresponding parameter for a parameter in the tool recipe is made. If an auditable corresponding parameter exists, a determination whether to verify the tool recipe is performed.
- Each parameter of the tool recipe having an auditable corresponding parameter is compared to the auditable corresponding parameter of the associated PVS template. Where no non-matching parameter sets exist, the tool recipe is verified; otherwise, a determination as to whether all of the non-matching parameter sets are indicated as modifiable in the associated PVS template is made.
- the tool recipe can be verified to be correct and automatically corrected before it is uploaded/downloaded or even used by the production tool.
- a first aspect of the invention provides a method of verifying a tool recipe, the method comprising the steps of: intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; determining whether an associated parameter verification set (PVS) template for the tool recipe exists; in the case that the associated PVS template exists, determining whether the PVS template includes an auditable corresponding parameter for at least one parameter of the tool recipe; in the case that the associated PVS template includes the auditable corresponding parameter, determining whether to verify the tool recipe by: comparing each parameter having an auditable corresponding parameter to the auditable corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-matching parameter sets are indicated as modifiable in the associated PVS template, and in the
- a second aspect of the invention provides a system for verifying a tool recipe, the method comprising the steps of: an interceptor for intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; a template determinator for determining whether an associated parameter verification set (PVS) template for the tool recipe exists; an audit determinator for determining, in the case that the associated PVS template exists, whether the associated PVS template includes at least one auditable corresponding parameter; and a verifier for determining whether to verify the tool recipe in the case that the associated PVS template includes the at least one auditable corresponding parameter, by: comparing each parameter having an auditable corresponding parameter to the auditable corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-
- a third aspect of the invention provides a program product stored on a computer-readable medium, which when executed, verifies a tool recipe, the program product comprising: program code for intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; program code for determining whether an associated parameter verification set (PVS) template for the tool recipe exists; program code for determining whether, in the case that the associated PVS template exists, the associated PVS template includes at least one auditable corresponding parameter; and program code for determining whether to verify the tool recipe in the case that the associated PVS template includes the at least one auditable corresponding parameter, by: comparing each parameter having an auditable corresponding parameter to the corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-match
- a fourth aspect of the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to verify a tool recipe, the computer-readable medium comprising computer program code for performing the method steps of the invention.
- An fifth aspect of the invention provides a business method for verifying a tool recipe, the business method comprising managing a computer infrastructure that performs each of the steps of the invention; and receiving payment based on the managing step.
- a sixth aspect of the invention provides a method of generating a system for verifying a tool recipe, the method comprising: obtaining a computer infrastructure; and deploying means for performing each of the steps of the invention to the computer infrastructure.
- FIG. 1 shows a block diagram of one embodiment of an environment and a verification system according to the invention.
- FIG. 2 shows a flow diagram of one embodiment of operational methodology according to the invention.
- FIG. 3 shows a block diagram of one embodiment of a tool recipe according to the invention.
- FIG. 4 shows a block diagram of one embodiment of an associated parameter verification set (PVS) template for the tool recipe of FIG. 3 according to the invention.
- PVS parameter verification set
- a tool recipe is intercepted during uploading or downloading of the tool recipe.
- a determination whether an associated parameter verification set (PVS) template for the tool recipe exists is performed, and if it exists, a determination as to whether it includes an auditable corresponding parameter for a parameter in the tool recipe is made. If an auditable corresponding parameter exists, a determination whether to verify the tool recipe is performed.
- Each parameter of the tool recipe having an auditable corresponding parameter is compared to the auditable corresponding parameter of the associated PVS template. Where no non-matching parameter sets exist, the tool recipe is verified; otherwise, a determination as to whether all of the non-matching parameter sets are indicated as modifiable in the associated PVS template is made.
- the tool recipe can be verified to be correct and automatically corrected before it is uploaded/downloaded or even used by the production tool.
- FIG. 1 shows an illustrative environment 50 for verifying a tool recipe and/or allowing a tool recipe to pass to upload or download.
- a “tool recipe” 60 as used herein includes instructions for controlling operation of a tool 62 .
- each tool recipe 60 includes at least one parameter 64 .
- Each parameter 64 may vary from tool recipe to tool recipe.
- Each parameter 64 provides a value or a range of values for a particular feature of tool 62 .
- each tool recipe 60 may include any number of parameters 64 , i.e., N is an integer in FIG. 3 .
- at least one parameter 64 is stated in terms of a range, e.g., parameter 3 has a range of 1-10.
- a “tool” 62 may be any machine capable of operation according to a tool recipe 60 .
- Verification as used herein means tool recipe 60 is confirmed as correct.
- Environment 50 includes a computer infrastructure 102 that can perform the various process steps described herein for verifying tool recipe 60 .
- computer infrastructure 102 is shown including a computing device 104 that comprises a verification system 106 , which enables computing device 104 to verify tool recipe 60 by performing the process steps of the invention.
- Computing device 104 is shown including a memory 112 , a processor (PU) 114 , an input/output (I/O) interface 116 , and a bus 118 . Further, computing device 104 is shown in communication with an external I/O device/resource 120 and a storage system 122 . As is known in the art, in general, PU 114 executes computer program code, such as verification system 106 , that is stored in memory 112 and/or storage system 122 . While executing computer program code, PU 114 can read and/or write data 124 to/from memory 112 , storage system 122 , and/or I/O interface 116 . Bus 118 provides a communications link between each of the components in computing device 104 . I/O device 120 can comprise any device that enables a user to interact with computing device 104 or any device that enables computing device 104 to communicate with one or more other computing devices.
- I/O device 120 can comprise any device that enables a user to interact with computing device 104 or any
- computing device 104 can comprise any general purpose computing article of manufacture capable of executing computer program code installed by a user (e.g., a personal computer, server, handheld device, etc.).
- computing device 104 and verification system 106 are only representative of various possible equivalent computing devices that may perform the various process steps of the invention.
- computing device 104 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like.
- the program code and hardware can be created using standard programming and engineering techniques, respectively.
- computer infrastructure 102 is only illustrative of various types of computer infrastructures for implementing the invention.
- computer infrastructure 102 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of wired and/or wireless communications link, such as a network, a shared memory, or the like, to perform the various process steps of the invention.
- the communications link comprises a network
- the network can comprise any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.).
- communications between the computing devices may utilize any combination of various types of transmission techniques.
- Computer infrastructure 102 may be implemented as a stand-alone server or computer, a server which is part of another system or even a computer which is part of the tool whose tool recipes are being evaluated.
- Computer infrastructure 102 can further comprise a recipe management system (RMS) 130 .
- RMS 130 is shown in communication with computing device 104 over a communications link 132 .
- communications link 132 can comprise any combination of various types of communications links as is known in the art.
- RMS 130 comprises a computing device that is in communication with computing device 104 over, for example, a local area network (LAN).
- LAN local area network
- RMS 130 can comprise the same components (processor, memory, I/O interface, etc.) as shown for computing device 104 . These components have not been separately shown and discussed for brevity.
- RMS 130 operates as a repository and management system for tool recipes, i.e., via a database (db) 134 , and parameter verification set (PVS) templates 136 .
- each “PVS template 136 ” includes one or more corresponding parameters 138 of a master tool recipe for comparison to one or more parameters 64 of tool recipe 60 to determine whether tool recipe 60 is correct.
- Each corresponding parameter 138 provides a mandated value or a range of values for a particular feature of tool 62 . Note, however, only those corresponding parameters 138 that include an auditable indicator 139 are considered sufficiently relevant to be checked, i.e., audited. That is, not all corresponding parameters 138 within an associated PVS template 136 may require checking.
- associated PVS template 136 may include hundreds of corresponding parameters 138 , and only a subset of corresponding parameters 138 are to be compared to tool recipe 60 . The remaining corresponding parameters 138 are dismissed and not checked. Those corresponding parameters 138 having an auditable indicator 139 are referred to herein as “auditable corresponding parameters.” Further details of PVS templates 136 will be described below. Although tool recipes 60 and PVS templates 136 are shown in the same database 134 , they may be provided in separate storage. Database 134 may include any of the above-described attributes of storage system 122 .
- Computer infrastructure 102 may further include a log 180 , which allows a user to easily determine if any problems exist in the attempted upload/download of a tool recipe 60 .
- a log 180 Any now known or later developed log management system (not shown) may also be provided to allow a user, for example, to quickly and easily: a) query log 180 and look for specific tool recipe 60 upload/download problems, b) determine what specific tool recipe 60 parameters 64 do not match auditable corresponding parameters 138 of associated PVS template 136 along with tool recipe 60 parameter values and their associated PVS template 136 auditable corresponding parameter values, and c) query log 180 data to obtain previous tool recipe 60 and associated PVS template 136 comparison results.
- computer infrastructure 102 is capable of handling tool recipe 60 regardless of whether tool recipe 60 is being uploaded or downloaded.
- a tool recipe 60 may be downloaded from RMS 130 to tool 62 or uploaded to RMS 130 from a tool recipe creator 140 .
- a “tool recipe creator 140 ” may be any now known or later developed mechanism for creating a new tool recipe 60 and/or modifying an existing tool recipe 60 .
- tool recipe creator 140 is shown as part of tool 62 , it may be located in alternative locations as those with skill in the art will recognize.
- verification system 106 enables computing infrastructure 102 to verify tool recipe 60 and/or allow tool recipe 60 to pass to upload or download.
- verification system 106 is shown including an interceptor 150 ; a template determinator 152 ; an audit determinator 153 ; a pass determinator 154 ; a verifier 156 including a comparator 158 , a modifiability determinator 160 and a modifier 162 ; an updater 164 and other system components 170 .
- Other system components 170 may include any features necessary for operation of verification system 106 , but not expressly described herein. Operation of each of these components is discussed further below. However, it is understood that some of the various components shown in FIG.
- 1 can be implemented independently, combined, and/or stored in memory for one or more separate computing devices that are included in computer infrastructure 102 . Further, it is understood that some of the components and/or functionality may not be implemented, or additional systems and/or functionality may be included as part of environment 50 .
- FIG. 2 in conjunction with FIG. 1 , one embodiment of an operational methodology of verification system 106 will now be described.
- interceptor 150 intercepts tool recipe 60 during an uploading of tool recipe 60 from a tool recipe creator 140 or a downloading of tool recipe 60 from RMS 130 .
- Interceptor 150 may be any now known or later developed mechanism for receiving tool recipe 60 as it is passes from one entity to another.
- interceptor 150 may include any mechanism that can identify tool recipe 60 as such, and receive it.
- template determinator 152 determines whether an associated PVS template 136 exists for tool recipe 60 .
- Template determinator 152 in conjunction with RMS 130 may provide, inter alia, an ability to: a) query PVS templates 136 and determine which tool recipe(s) 60 are associated with which PVS template(s) 136 , b) query tool recipes 60 and determine which PVS template(s) 136 are associated with which tool recipe(s) 60 , c) place PVS templates 136 in a hierarchy (or priority) so that the highest priority PVS template 136 overrides lower priority templates associated with a tool recipe 60 , and d) easily display PVS templates 136 based on specific template characteristics such as technology, product code or any other specific template rule.
- Each associated PVS template 136 includes an association rule 141 ( FIG. 4 ) to allow PVS template 136 to be associated with a specific tool recipe 60 or recipes, as described above.
- Association rule 141 may be based on any number of tool recipe characteristics such as: tool recipe 60 name, storage location (such as a directory or folder name), technology, product group, or a combination of the above.
- PVS template 136 can be generated in many ways. One embodiment may include generating an empty PVS template and entering in the tool recipe 60 parameters 64 manually. This may take a long time depending on the number of parameters 64 that have to be entered in PVS template 136 . Another embodiment includes copying an existing PVS template 136 and modifying the existing corresponding parameters 138 .
- PVS template 136 is generated as an empty template and corresponding parameters 138 are imported from other PVS templates 136 and/or tool recipes 60 .
- each PVS template 136 includes, but is not limited to, the following data: a) a corresponding parameter 138 or group of corresponding parameters for each parameter 64 in tool recipe 60 , b) for each corresponding parameter 138 , an auditability indicator 139 indicating whether parameter 64 in tool recipe 60 corresponding to corresponding parameter 138 is to be evaluated for verification, c) for each corresponding parameter 138 , a modifiability indicator 142 indicating whether parameter 64 in tool recipe 60 corresponding to corresponding parameter 138 can be modified, d) an acceptable value or range of acceptable values for the particular parameter, and e) an indicator 144 as to whether the particular PVS template 136 is on upload, on download or both.
- Whether a parameter 64 can be modified i.e., whether a corresponding parameter 138 of PVS template 136 indicates whether a parameter can be modified, can be based on a variety of criteria. For example, if a tool 62 cannot vary a particular parameter, a PVS template 136 may indicate the parameter is un-modifiable.
- pass determinator 154 determines whether tool recipe 60 includes a global pass indicator 146 (shown in phantom in FIG. 3 ).
- a “global pass indicator” 146 indicates that tool recipe 60 is to be passed to uploading or downloading without any verification analysis. In particular, in some instances it may be necessary for a user of verification system 106 and RMS 130 to allow a tool recipe 60 to pass to uploading or downloading without verification versus an associated PVS template 136 and/or no associated PVS template 136 exists.
- step S 4 may also include updater 164 updating a log 180 ( FIG. 1 ) with data regarding the inhibition, and a reason therefor, e.g., no global pass indicator.
- audit determinator 153 determines whether PVS template 136 includes an auditable corresponding parameter 138 for at least one parameter 64 of tool recipe 60 . That is, audit determinator 153 determines whether PVS template 136 includes any corresponding parameters 138 considered sufficiently relevant to evaluate prior to verification. If NO at step S 5 , the lack of auditable corresponding parameters 138 indicates that tool recipe 60 does not warrant verification analysis. In this case, tool recipe is passed to upload/download at step S 10 .
- step S 5 if an auditable corresponding parameter 138 is included in associated PVS template 136 , i.e., YES at step S 5 , then at steps S 6 -S 10 , verifier 156 determines whether to verify tool recipe 60 .
- comparator 158 of verifier 156 compares each parameter 64 of tool recipe 60 having an auditable corresponding parameter 138 to the respective auditable corresponding parameter 138 of associated PVS template 136 to determine whether any non-matching parameter sets exist.
- a “non-matching parameter set” includes a parameter 64 of tool recipe 60 that does not match a respective auditable corresponding parameter 138 of associated PVS template 136 .
- parameter 2 and auditable corresponding parameter 2 have non-matching values, and hence constitute a non-matching parameter set.
- What constitutes a “match” may be user-defined, and may include, for example, an exact match between values, a value of the parameter falling within a range of the corresponding value of associated PVS template 136 , a range of values of the parameter falling within a range of the corresponding value of associated PVS template 136 , any of the above occurring within a user-defined tolerance, or some other user-defined manner.
- step S 10 verifier 156 verifies tool recipe 60 and allows tool recipe 60 to pass to upload or download. That is, in the case that no non-matching parameter sets exist, tool recipe 60 is verified. However, in the case that at least one non-matching parameter set exists, i.e., NO at step S 6 , then, at step S 7 , modifiability determinator 160 determines whether parameter 64 of all of the non-matching parameter sets are indicated as modifiable in associated PVS template 136 .
- each associated PVS template 136 includes a modifiability indicator 142 for each corresponding parameter 138 for which parameter 64 in tool recipe 60 can be modified.
- verifier 156 inhibits verification of tool recipe 60 .
- updater 164 may update log 180 , including a reason for inhibiting verification, e.g., not all non-matching parameters are modifiable.
- modifier 160 modifies all parameters 64 of the non-matching parameter sets to match the respective auditable corresponding parameter 138 , at step S 9 .
- parameter 2 in FIG. 3 would be modified to have a value that falls within the range set for auditable corresponding parameter 2 , i.e., between 10-20 mA.
- updater 164 may update log 180 , e.g., to include an indication of which parameters 64 in tool recipe 60 were modified.
- verifier 156 verifies tool recipe 60 and allows tool recipe 60 to pass to upload or download.
- the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to verify tool recipe 60 .
- the computer-readable medium includes program code, such as verification system 106 ( FIG. 1 ), that implements each of the various process steps of the invention.
- program code such as verification system 106 ( FIG. 1 )
- the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code.
- the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory 112 ( FIG. 1 ) and/or storage system 122 ( FIG. 1 ) (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).
- portable storage articles of manufacture e.g., a compact disc, a magnetic disk, a tape, etc.
- data storage portions of a computing device such as memory 112 ( FIG. 1 ) and/or storage system 122 ( FIG. 1 ) (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal traveling over a
- the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as an Application Service Provider, could offer to verify tool recipe 60 as described above.
- the service provider can manage (e.g., create, maintain, support, etc.) a computer infrastructure, such as computer infrastructure 102 ( FIG. 1 ), that performs the process steps of the invention for one or more customers.
- the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising space to one or more third parties.
- the invention provides a method of generating a system for verifying tool recipe 60 .
- a computer infrastructure such as computer infrastructure 102 ( FIG. 1 )
- one or more systems for performing the process steps of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure.
- the deployment of each system can comprise one or more of (1) installing program code on a computing device, such as computing device 104 ( FIG. 1 ), from a computer-readable medium; (2) adding one or more computing devices to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure, to enable the computer infrastructure to perform the process steps of the invention.
- program code and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression.
- program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
Abstract
Description
- 1. Technical Field
- The invention relates generally to manufacturing control, and more particularly, to automated tool recipe verification and correction.
- 2. Background Art
- Tool control in a manufacturing facility is important to maintain quality and efficiency. In many areas of manufacturing, tool control is achieved via computers which are in turn controlled by instructions commonly referred to as tool recipes. For example, in the semiconductor fabrication industry, various tools for processing product and/or measuring product are controlled by tool recipes. Each tool recipe may include thousands of parameters that instruct the tool on how to operate. In many cases, production tools can produce many different products by simply running a unique tool recipe, which gives the production tool flexibility. However, the use of tool recipes to achieve flexibility also creates a need to verify that the tool recipes used by the tools are written correctly. If the tool recipes are incorrect, products may be damaged or, in many cases, scrapped due to incorrect processing or measurement.
- In one approach, a tool recipe is audited by comparing the tool recipe to a pre-determined reference recipe. U.S. Pat. No. 6,650,958 and U.S. Patent Application Publication No. 2004/0078107 disclose varieties of this approach. Shortcomings of this type of approach, however, include inapplicability to tool recipes that are downloaded from a recipe management system, and need for manual corrections to the tool recipes.
- In view of the foregoing, there is a need for a solution to verify tool recipes that does not suffer from the problems of the related art.
- Automated tool recipe verification and correction are disclosed. A tool recipe is intercepted during uploading or downloading of the tool recipe. A determination whether an associated parameter verification set (PVS) template for the tool recipe exists is performed, and if it exists, a determination as to whether it includes an auditable corresponding parameter for a parameter in the tool recipe is made. If an auditable corresponding parameter exists, a determination whether to verify the tool recipe is performed. Each parameter of the tool recipe having an auditable corresponding parameter is compared to the auditable corresponding parameter of the associated PVS template. Where no non-matching parameter sets exist, the tool recipe is verified; otherwise, a determination as to whether all of the non-matching parameter sets are indicated as modifiable in the associated PVS template is made. If all of the parameters of the non-matching parameter sets are modifiable, then they are modified to match the respective auditable corresponding parameter and the tool recipe is verified, otherwise, the verification is inhibited. Hence, the tool recipe can be verified to be correct and automatically corrected before it is uploaded/downloaded or even used by the production tool.
- A first aspect of the invention provides a method of verifying a tool recipe, the method comprising the steps of: intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; determining whether an associated parameter verification set (PVS) template for the tool recipe exists; in the case that the associated PVS template exists, determining whether the PVS template includes an auditable corresponding parameter for at least one parameter of the tool recipe; in the case that the associated PVS template includes the auditable corresponding parameter, determining whether to verify the tool recipe by: comparing each parameter having an auditable corresponding parameter to the auditable corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-matching parameter sets are indicated as modifiable in the associated PVS template, and in the case that not all of the parameters of the non-matching parameter sets are modifiable, inhibiting verification of the tool recipe, and modifying, in the case that all of the parameters of the non-matching parameter sets are modifiable, all the parameters of the non-matching parameter sets to match the auditable corresponding parameter and verifying the tool recipe.
- A second aspect of the invention provides a system for verifying a tool recipe, the method comprising the steps of: an interceptor for intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; a template determinator for determining whether an associated parameter verification set (PVS) template for the tool recipe exists; an audit determinator for determining, in the case that the associated PVS template exists, whether the associated PVS template includes at least one auditable corresponding parameter; and a verifier for determining whether to verify the tool recipe in the case that the associated PVS template includes the at least one auditable corresponding parameter, by: comparing each parameter having an auditable corresponding parameter to the auditable corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-matching parameter sets are indicated as modifiable in the associated PVS template, and in the case that not all of the parameters of the non-matching parameter sets are modifiable, inhibiting verification of the tool recipe, and modifying, in the case that all of the parameters of the non-matching parameter sets are modifiable, all the parameters of the non-matching parameter sets to match the auditable corresponding parameter and verifying the tool recipe.
- A third aspect of the invention provides a program product stored on a computer-readable medium, which when executed, verifies a tool recipe, the program product comprising: program code for intercepting the tool recipe during an uploading of the tool recipe from a tool recipe creator or a downloading of the tool recipe from a recipe management system, wherein the tool recipe includes at least one parameter; program code for determining whether an associated parameter verification set (PVS) template for the tool recipe exists; program code for determining whether, in the case that the associated PVS template exists, the associated PVS template includes at least one auditable corresponding parameter; and program code for determining whether to verify the tool recipe in the case that the associated PVS template includes the at least one auditable corresponding parameter, by: comparing each parameter having an auditable corresponding parameter to the corresponding parameter of the associated PVS template to determine whether any non-matching parameter sets exist, verifying the tool recipe in the case that no non-matching parameter sets exist, determining, in the case that at least one non-matching parameter set exists, whether the parameter of all of the non-matching parameter sets are indicated as modifiable in the associated PVS template, and in the case that not all of the parameters of the non-matching parameter sets are modifiable, inhibiting verification of the tool recipe, and modifying, in the case that all of the parameters of the non-matching parameter sets are modifiable, all the parameters of the non-matching parameter sets to match the auditable corresponding parameter and verifying the tool recipe.
- A fourth aspect of the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to verify a tool recipe, the computer-readable medium comprising computer program code for performing the method steps of the invention.
- An fifth aspect of the invention provides a business method for verifying a tool recipe, the business method comprising managing a computer infrastructure that performs each of the steps of the invention; and receiving payment based on the managing step.
- A sixth aspect of the invention provides a method of generating a system for verifying a tool recipe, the method comprising: obtaining a computer infrastructure; and deploying means for performing each of the steps of the invention to the computer infrastructure.
- The illustrative aspects of the present invention are designed to solve the problems herein described and/or other problems not discussed.
- These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:
-
FIG. 1 shows a block diagram of one embodiment of an environment and a verification system according to the invention. -
FIG. 2 shows a flow diagram of one embodiment of operational methodology according to the invention. -
FIG. 3 shows a block diagram of one embodiment of a tool recipe according to the invention. -
FIG. 4 shows a block diagram of one embodiment of an associated parameter verification set (PVS) template for the tool recipe ofFIG. 3 according to the invention. - It is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
- Automated tool recipe verification and correction are disclosed. A tool recipe is intercepted during uploading or downloading of the tool recipe. A determination whether an associated parameter verification set (PVS) template for the tool recipe exists is performed, and if it exists, a determination as to whether it includes an auditable corresponding parameter for a parameter in the tool recipe is made. If an auditable corresponding parameter exists, a determination whether to verify the tool recipe is performed. Each parameter of the tool recipe having an auditable corresponding parameter is compared to the auditable corresponding parameter of the associated PVS template. Where no non-matching parameter sets exist, the tool recipe is verified; otherwise, a determination as to whether all of the non-matching parameter sets are indicated as modifiable in the associated PVS template is made. If all of the parameters of the non-matching parameter sets are modifiable, then they are modified to match the respective auditable corresponding parameter and the tool recipe is verified, otherwise, the verification is inhibited. Hence, the tool recipe can be verified to be correct and automatically corrected before it is uploaded/downloaded or even used by the production tool.
- Turning to the drawings,
FIG. 1 shows anillustrative environment 50 for verifying a tool recipe and/or allowing a tool recipe to pass to upload or download. A “tool recipe” 60 as used herein includes instructions for controlling operation of atool 62. In one embodiment, as shown inFIG. 3 , eachtool recipe 60 includes at least oneparameter 64. Eachparameter 64 may vary from tool recipe to tool recipe. Eachparameter 64 provides a value or a range of values for a particular feature oftool 62. As such, eachtool recipe 60 may include any number ofparameters 64, i.e., N is an integer inFIG. 3 . In one embodiment, at least oneparameter 64 is stated in terms of a range, e.g.,parameter 3 has a range of 1-10. A “tool” 62 may be any machine capable of operation according to atool recipe 60. In one example for the semiconductor fabrication industry,tool 62 may include a photolithography tool in which case atool recipe 60 may include a number of parameters that set the operation of the photolithography tool such as dose, e.g., dose=10-20 milli-Joules (mJ). “Verification” as used herein meanstool recipe 60 is confirmed as correct. -
Environment 50 includes acomputer infrastructure 102 that can perform the various process steps described herein for verifyingtool recipe 60. In particular,computer infrastructure 102 is shown including acomputing device 104 that comprises averification system 106, which enablescomputing device 104 to verifytool recipe 60 by performing the process steps of the invention. -
Computing device 104 is shown including amemory 112, a processor (PU) 114, an input/output (I/O)interface 116, and abus 118. Further,computing device 104 is shown in communication with an external I/O device/resource 120 and astorage system 122. As is known in the art, in general,PU 114 executes computer program code, such asverification system 106, that is stored inmemory 112 and/orstorage system 122. While executing computer program code,PU 114 can read and/or writedata 124 to/frommemory 112,storage system 122, and/or I/O interface 116.Bus 118 provides a communications link between each of the components incomputing device 104. I/O device 120 can comprise any device that enables a user to interact withcomputing device 104 or any device that enablescomputing device 104 to communicate with one or more other computing devices. - In any event,
computing device 104 can comprise any general purpose computing article of manufacture capable of executing computer program code installed by a user (e.g., a personal computer, server, handheld device, etc.). However, it is understood thatcomputing device 104 andverification system 106 are only representative of various possible equivalent computing devices that may perform the various process steps of the invention. To this extent, in other embodiments,computing device 104 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively. - Similarly,
computer infrastructure 102 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment,computer infrastructure 102 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of wired and/or wireless communications link, such as a network, a shared memory, or the like, to perform the various process steps of the invention. When the communications link comprises a network, the network can comprise any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.). Regardless, communications between the computing devices may utilize any combination of various types of transmission techniques.Computer infrastructure 102 may be implemented as a stand-alone server or computer, a server which is part of another system or even a computer which is part of the tool whose tool recipes are being evaluated. -
Computer infrastructure 102 can further comprise a recipe management system (RMS) 130.RMS 130 is shown in communication withcomputing device 104 over acommunications link 132. As discussed above, communications link 132 can comprise any combination of various types of communications links as is known in the art. In one embodiment,RMS 130 comprises a computing device that is in communication withcomputing device 104 over, for example, a local area network (LAN). Regardless, it is understood thatRMS 130 can comprise the same components (processor, memory, I/O interface, etc.) as shown forcomputing device 104. These components have not been separately shown and discussed for brevity.RMS 130 operates as a repository and management system for tool recipes, i.e., via a database (db) 134, and parameter verification set (PVS)templates 136. As shown inFIG. 4 , each “PVS template 136” includes one or morecorresponding parameters 138 of a master tool recipe for comparison to one ormore parameters 64 oftool recipe 60 to determine whethertool recipe 60 is correct. Each correspondingparameter 138 provides a mandated value or a range of values for a particular feature oftool 62. Note, however, only those correspondingparameters 138 that include anauditable indicator 139 are considered sufficiently relevant to be checked, i.e., audited. That is, not all correspondingparameters 138 within an associatedPVS template 136 may require checking. For example, associatedPVS template 136 may include hundreds ofcorresponding parameters 138, and only a subset ofcorresponding parameters 138 are to be compared totool recipe 60. The remainingcorresponding parameters 138 are dismissed and not checked. Those correspondingparameters 138 having anauditable indicator 139 are referred to herein as “auditable corresponding parameters.” Further details ofPVS templates 136 will be described below. Althoughtool recipes 60 andPVS templates 136 are shown in thesame database 134, they may be provided in separate storage.Database 134 may include any of the above-described attributes ofstorage system 122. -
Computer infrastructure 102 may further include alog 180, which allows a user to easily determine if any problems exist in the attempted upload/download of atool recipe 60. Any now known or later developed log management system (not shown) may also be provided to allow a user, for example, to quickly and easily: a)query log 180 and look forspecific tool recipe 60 upload/download problems, b) determine whatspecific tool recipe 60parameters 64 do not match auditablecorresponding parameters 138 of associatedPVS template 136 along withtool recipe 60 parameter values and their associatedPVS template 136 auditable corresponding parameter values, and c)query log 180 data to obtainprevious tool recipe 60 and associatedPVS template 136 comparison results. - As shown in
FIG. 1 ,computer infrastructure 102 is capable of handlingtool recipe 60 regardless of whethertool recipe 60 is being uploaded or downloaded. For example, atool recipe 60 may be downloaded fromRMS 130 totool 62 or uploaded toRMS 130 from atool recipe creator 140. A “tool recipe creator 140” may be any now known or later developed mechanism for creating anew tool recipe 60 and/or modifying an existingtool recipe 60. Althoughtool recipe creator 140 is shown as part oftool 62, it may be located in alternative locations as those with skill in the art will recognize. - As previously mentioned and discussed further below,
verification system 106 enablescomputing infrastructure 102 to verifytool recipe 60 and/or allowtool recipe 60 to pass to upload or download. To this extent,verification system 106 is shown including aninterceptor 150; atemplate determinator 152; anaudit determinator 153; apass determinator 154; averifier 156 including acomparator 158, amodifiability determinator 160 and amodifier 162; anupdater 164 andother system components 170.Other system components 170 may include any features necessary for operation ofverification system 106, but not expressly described herein. Operation of each of these components is discussed further below. However, it is understood that some of the various components shown inFIG. 1 can be implemented independently, combined, and/or stored in memory for one or more separate computing devices that are included incomputer infrastructure 102. Further, it is understood that some of the components and/or functionality may not be implemented, or additional systems and/or functionality may be included as part ofenvironment 50. - Turning to
FIG. 2 in conjunction withFIG. 1 , one embodiment of an operational methodology ofverification system 106 will now be described. - In first step S1,
interceptor 150intercepts tool recipe 60 during an uploading oftool recipe 60 from atool recipe creator 140 or a downloading oftool recipe 60 fromRMS 130.Interceptor 150 may be any now known or later developed mechanism for receivingtool recipe 60 as it is passes from one entity to another. For example,interceptor 150 may include any mechanism that can identifytool recipe 60 as such, and receive it. - In a second step S2,
template determinator 152 determines whether an associatedPVS template 136 exists fortool recipe 60.Template determinator 152 in conjunction withRMS 130 may provide, inter alia, an ability to: a)query PVS templates 136 and determine which tool recipe(s) 60 are associated with which PVS template(s) 136, b)query tool recipes 60 and determine which PVS template(s) 136 are associated with which tool recipe(s) 60, c)place PVS templates 136 in a hierarchy (or priority) so that the highestpriority PVS template 136 overrides lower priority templates associated with atool recipe 60, and d) easily displayPVS templates 136 based on specific template characteristics such as technology, product code or any other specific template rule. Each associatedPVS template 136 includes an association rule 141 (FIG. 4 ) to allowPVS template 136 to be associated with aspecific tool recipe 60 or recipes, as described above.Association rule 141 may be based on any number of tool recipe characteristics such as:tool recipe 60 name, storage location (such as a directory or folder name), technology, product group, or a combination of the above.PVS template 136 can be generated in many ways. One embodiment may include generating an empty PVS template and entering in thetool recipe 60parameters 64 manually. This may take a long time depending on the number ofparameters 64 that have to be entered inPVS template 136. Another embodiment includes copying an existingPVS template 136 and modifying the existing correspondingparameters 138. In another embodiment,PVS template 136 is generated as an empty template andcorresponding parameters 138 are imported fromother PVS templates 136 and/ortool recipes 60. Regardless of howPVS template 136 is generated, eachPVS template 136 includes, but is not limited to, the following data: a) acorresponding parameter 138 or group of corresponding parameters for eachparameter 64 intool recipe 60, b) for eachcorresponding parameter 138, anauditability indicator 139 indicating whetherparameter 64 intool recipe 60 corresponding to correspondingparameter 138 is to be evaluated for verification, c) for eachcorresponding parameter 138, amodifiability indicator 142 indicating whetherparameter 64 intool recipe 60 corresponding to correspondingparameter 138 can be modified, d) an acceptable value or range of acceptable values for the particular parameter, and e) anindicator 144 as to whether theparticular PVS template 136 is on upload, on download or both. Whether aparameter 64 can be modified, i.e., whether acorresponding parameter 138 ofPVS template 136 indicates whether a parameter can be modified, can be based on a variety of criteria. For example, if atool 62 cannot vary a particular parameter, aPVS template 136 may indicate the parameter is un-modifiable. - If no associated
PVS template 136 exists, i.e., NO at step S2, in step S3, passdeterminator 154 determines whethertool recipe 60 includes a global pass indicator 146 (shown in phantom inFIG. 3 ). A “global pass indicator” 146 indicates thattool recipe 60 is to be passed to uploading or downloading without any verification analysis. In particular, in some instances it may be necessary for a user ofverification system 106 andRMS 130 to allow atool recipe 60 to pass to uploading or downloading without verification versus an associatedPVS template 136 and/or no associatedPVS template 136 exists. For example, it may be necessary to do this in an emergency where anew tool recipe 60 or correction is necessitated by unexpected product characteristics, however, the product cannot be stored or put on hold. In this case, a user may add a global pass indicator viatool recipe creator 140. Iftool recipe 60 includes a global pass indicator, i.e., YES at step S3, passdeterminator 154 allowstool recipe 60 to pass to upload or download, at step S10. Iftool recipe 60 does not include a global pass indicator 146, i.e., NO at step S3, then passdeterminator 154 inhibits passing oftool recipe 60 to upload or download, at step S4. In this latter case, step S4 may also includeupdater 164 updating a log 180 (FIG. 1 ) with data regarding the inhibition, and a reason therefor, e.g., no global pass indicator. - Returning to step S2, if an associated
PVS template 136 exists, i.e., YES at step S2, then at step S5,audit determinator 153 determines whetherPVS template 136 includes an auditablecorresponding parameter 138 for at least oneparameter 64 oftool recipe 60. That is,audit determinator 153 determines whetherPVS template 136 includes anycorresponding parameters 138 considered sufficiently relevant to evaluate prior to verification. If NO at step S5, the lack of auditablecorresponding parameters 138 indicates thattool recipe 60 does not warrant verification analysis. In this case, tool recipe is passed to upload/download at step S10. - Returning to step S5, if an auditable
corresponding parameter 138 is included in associatedPVS template 136, i.e., YES at step S5, then at steps S6-S10,verifier 156 determines whether to verifytool recipe 60. In step S6,comparator 158 ofverifier 156 compares eachparameter 64 oftool recipe 60 having an auditablecorresponding parameter 138 to the respective auditablecorresponding parameter 138 of associatedPVS template 136 to determine whether any non-matching parameter sets exist. A “non-matching parameter set” includes aparameter 64 oftool recipe 60 that does not match a respective auditablecorresponding parameter 138 of associatedPVS template 136. InFIGS. 3 and 4 , for example,parameter 2 and auditablecorresponding parameter 2 have non-matching values, and hence constitute a non-matching parameter set. What constitutes a “match” may be user-defined, and may include, for example, an exact match between values, a value of the parameter falling within a range of the corresponding value of associatedPVS template 136, a range of values of the parameter falling within a range of the corresponding value of associatedPVS template 136, any of the above occurring within a user-defined tolerance, or some other user-defined manner. - If all
parameters 64 oftool recipe 60 having auditablecorresponding parameters 138 match their respective auditablecorresponding parameters 138 of associatedPVS template 136, i.e., YES at step S6, then at step S10,verifier 156 verifiestool recipe 60 and allowstool recipe 60 to pass to upload or download. That is, in the case that no non-matching parameter sets exist,tool recipe 60 is verified. However, in the case that at least one non-matching parameter set exists, i.e., NO at step S6, then, at step S7,modifiability determinator 160 determines whetherparameter 64 of all of the non-matching parameter sets are indicated as modifiable in associatedPVS template 136. As described above, each associatedPVS template 136 includes amodifiability indicator 142 for eachcorresponding parameter 138 for whichparameter 64 intool recipe 60 can be modified. In the case that not all ofparameters 64 of the non-matching parameter sets are modifiable, i.e., NO at step S7, then at step S8,verifier 156 inhibits verification oftool recipe 60. In addition, at step S8,updater 164 may update log 180, including a reason for inhibiting verification, e.g., not all non-matching parameters are modifiable. - Returning to step S7, in the case that all of
parameters 64 of the non-matching parameter sets are modifiable, i.e., YES at step S7,modifier 160 modifies allparameters 64 of the non-matching parameter sets to match the respective auditablecorresponding parameter 138, at step S9. For example,parameter 2 inFIG. 3 would be modified to have a value that falls within the range set for auditablecorresponding parameter 2, i.e., between 10-20 mA. In addition, at step S9,updater 164 may update log 180, e.g., to include an indication of whichparameters 64 intool recipe 60 were modified. Subsequently, at step S10,verifier 156 verifiestool recipe 60 and allowstool recipe 60 to pass to upload or download. - It is understood that the above-described embodiments can be utilized in many areas of manufacturing, research and development and tool control other than the illustrative semiconductor fabrication industry. In addition, it is understood that the order of the above-described steps is only illustrative. To this extent, one or more steps can be performed in parallel, in a different order, at a remote time, etc. Further, one or more of the steps may not be performed in various embodiments of the invention.
- While shown and described herein as a method and system for verifying
tool recipe 60, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a computer-readable medium that includes computer program code to enable a computer infrastructure to verifytool recipe 60. To this extent, the computer-readable medium includes program code, such as verification system 106 (FIG. 1 ), that implements each of the various process steps of the invention. It is understood that the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory 112 (FIG. 1 ) and/or storage system 122 (FIG. 1 ) (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the program code). - In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as an Application Service Provider, could offer to verify
tool recipe 60 as described above. In this case, the service provider can manage (e.g., create, maintain, support, etc.) a computer infrastructure, such as computer infrastructure 102 (FIG. 1 ), that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising space to one or more third parties. - In still another embodiment, the invention provides a method of generating a system for verifying
tool recipe 60. In this case, a computer infrastructure, such as computer infrastructure 102 (FIG. 1 ), can be obtained (e.g., created, maintained, having made available to, etc.) and one or more systems for performing the process steps of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure. To this extent, the deployment of each system can comprise one or more of (1) installing program code on a computing device, such as computing device 104 (FIG. 1 ), from a computer-readable medium; (2) adding one or more computing devices to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure, to enable the computer infrastructure to perform the process steps of the invention. - As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
- The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/307,293 US7248936B1 (en) | 2006-01-31 | 2006-01-31 | Automated tool recipe verification and correction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/307,293 US7248936B1 (en) | 2006-01-31 | 2006-01-31 | Automated tool recipe verification and correction |
Publications (2)
Publication Number | Publication Date |
---|---|
US7248936B1 US7248936B1 (en) | 2007-07-24 |
US20070179651A1 true US20070179651A1 (en) | 2007-08-02 |
Family
ID=38266924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/307,293 Active US7248936B1 (en) | 2006-01-31 | 2006-01-31 | Automated tool recipe verification and correction |
Country Status (1)
Country | Link |
---|---|
US (1) | US7248936B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI657325B (en) * | 2017-08-01 | 2019-04-21 | 財團法人台灣發展研究院 | CNC tool machining program sharing method |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006287061A (en) * | 2005-04-01 | 2006-10-19 | Canon Inc | Exposure apparatus and its parameter setting method |
US8510790B2 (en) * | 2007-03-12 | 2013-08-13 | Hitachi Kokusai Electric Inc. | Substrate processing apparatus |
ITMI20071525A1 (en) * | 2007-07-27 | 2009-01-28 | Fond Bruno Kessler | A METHOD AND RELATIVE DEVICE FOR THE STORAGE AND USE OF HELPFUL INFORMATION FOR THE DEFINITION OF PROCESS FLOWS, IN PARTICULAR FOR THE DEVELOPMENT AND PRODUCTION OF MICROELECTRONIC AND NANO-MICRO-MECHANICAL DEVICES IN CLEAN ROOM |
US9280151B2 (en) * | 2012-05-15 | 2016-03-08 | Wafertech, Llc | Recipe management system and method |
US9984103B2 (en) * | 2013-10-14 | 2018-05-29 | Schneider Electric Software, Llc | Adaptive filtering in industrial control system |
US10783290B2 (en) * | 2017-09-28 | 2020-09-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | IC manufacturing recipe similarity evaluation methods and systems |
CN109543257B (en) * | 2018-11-07 | 2023-04-18 | 中国航空工业集团公司西安飞机设计研究所 | Tool kit for an aircraft |
CN110046155B (en) * | 2018-12-07 | 2023-06-20 | 创新先进技术有限公司 | Method, device and equipment for updating feature database and determining data features |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035293A (en) * | 1997-10-20 | 2000-03-07 | Advanced Micro Devices, Inc. | Validating process data in manufacturing process management |
US6415193B1 (en) * | 1999-07-08 | 2002-07-02 | Fabcentric, Inc. | Recipe editor for editing and creating process recipes with parameter-level semiconductor-manufacturing equipment |
US6430572B1 (en) * | 1999-03-08 | 2002-08-06 | Advanced Micro Devices, Inc | Recipe management database system |
US6465263B1 (en) * | 2000-01-04 | 2002-10-15 | Advanced Micro Devices, Inc. | Method and apparatus for implementing corrected species by monitoring specific state parameters |
US20020183950A1 (en) * | 2001-04-10 | 2002-12-05 | Ming-Rong Fu | Recipe comparison system |
US20020193902A1 (en) * | 2001-06-19 | 2002-12-19 | Applied Materials, Inc. | Integrating tool, module, and fab level control |
US6625513B1 (en) * | 2000-08-15 | 2003-09-23 | Applied Materials, Inc. | Run-to-run control over semiconductor processing tool based upon mirror image target |
US20030204281A1 (en) * | 2002-04-30 | 2003-10-30 | Yeaun-Jyh Su | Semiconductor wafer manufacturing execution system with recipe distribution management database |
US6650958B1 (en) * | 2002-10-30 | 2003-11-18 | Lsi Logic Corporation | Integrated process tool monitoring system for semiconductor fabrication |
US6708074B1 (en) * | 2000-08-11 | 2004-03-16 | Applied Materials, Inc. | Generic interface builder |
US20040078107A1 (en) * | 2002-10-21 | 2004-04-22 | Alton Chou | Recipe management system |
US20040203321A1 (en) * | 2003-04-11 | 2004-10-14 | Trecenti Technologies, Inc | Manufacturing method of semiconductor device, automatic operation method and automatic operation system of semiconductor manufacturing apparatus, and automatic operation method of CMP apparatus |
US6898471B1 (en) * | 2003-12-31 | 2005-05-24 | Taiwan Semiconductor Manufacturing Company | Multivariate RBR tool aging adjuster |
US20050143853A1 (en) * | 2003-12-26 | 2005-06-30 | Semiconductor Leading Edge Technologies, Inc. | Mass-production transfer support system and semiconductor manufacturing system |
-
2006
- 2006-01-31 US US11/307,293 patent/US7248936B1/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035293A (en) * | 1997-10-20 | 2000-03-07 | Advanced Micro Devices, Inc. | Validating process data in manufacturing process management |
US6430572B1 (en) * | 1999-03-08 | 2002-08-06 | Advanced Micro Devices, Inc | Recipe management database system |
US6415193B1 (en) * | 1999-07-08 | 2002-07-02 | Fabcentric, Inc. | Recipe editor for editing and creating process recipes with parameter-level semiconductor-manufacturing equipment |
US6465263B1 (en) * | 2000-01-04 | 2002-10-15 | Advanced Micro Devices, Inc. | Method and apparatus for implementing corrected species by monitoring specific state parameters |
US6708074B1 (en) * | 2000-08-11 | 2004-03-16 | Applied Materials, Inc. | Generic interface builder |
US6625513B1 (en) * | 2000-08-15 | 2003-09-23 | Applied Materials, Inc. | Run-to-run control over semiconductor processing tool based upon mirror image target |
US20020183950A1 (en) * | 2001-04-10 | 2002-12-05 | Ming-Rong Fu | Recipe comparison system |
US20020193902A1 (en) * | 2001-06-19 | 2002-12-19 | Applied Materials, Inc. | Integrating tool, module, and fab level control |
US20030204281A1 (en) * | 2002-04-30 | 2003-10-30 | Yeaun-Jyh Su | Semiconductor wafer manufacturing execution system with recipe distribution management database |
US20040078107A1 (en) * | 2002-10-21 | 2004-04-22 | Alton Chou | Recipe management system |
US6735493B1 (en) * | 2002-10-21 | 2004-05-11 | Taiwan Semiconductor Manufacturing Co., Ltd. | Recipe management system |
US6650958B1 (en) * | 2002-10-30 | 2003-11-18 | Lsi Logic Corporation | Integrated process tool monitoring system for semiconductor fabrication |
US20040203321A1 (en) * | 2003-04-11 | 2004-10-14 | Trecenti Technologies, Inc | Manufacturing method of semiconductor device, automatic operation method and automatic operation system of semiconductor manufacturing apparatus, and automatic operation method of CMP apparatus |
US20050143853A1 (en) * | 2003-12-26 | 2005-06-30 | Semiconductor Leading Edge Technologies, Inc. | Mass-production transfer support system and semiconductor manufacturing system |
US6898471B1 (en) * | 2003-12-31 | 2005-05-24 | Taiwan Semiconductor Manufacturing Company | Multivariate RBR tool aging adjuster |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI657325B (en) * | 2017-08-01 | 2019-04-21 | 財團法人台灣發展研究院 | CNC tool machining program sharing method |
Also Published As
Publication number | Publication date |
---|---|
US7248936B1 (en) | 2007-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7248936B1 (en) | Automated tool recipe verification and correction | |
US10318412B1 (en) | Systems, methods, and apparatus for dynamic software generation and testing | |
US8091142B2 (en) | Supplementary trust model for software licensing/commercial digital distribution policy | |
CN111052120A (en) | Digital asset traceability and assurance using distributed ledgers | |
US11106458B2 (en) | System and method for distributed ledger-based software supply chain management | |
US20190196805A1 (en) | Controlled rollout of updates for applications installed on client devices | |
US8838964B2 (en) | Package audit tool | |
US8677348B1 (en) | Method and apparatus for determining least risk install order of software patches | |
US20060136904A1 (en) | Systems and methods for generating software and hardware builds | |
US20080209503A1 (en) | Method and system for managing license objects to applications in an application platform | |
CN111158674B (en) | Component management method, system, device and storage medium | |
US8306946B2 (en) | Deployment manager for master data management | |
US11196564B2 (en) | Hierarchical distributed ledger | |
JP7187894B2 (en) | Program, information processing system and information processing method | |
AU2004200639A1 (en) | Integrating design, deployment, and management phases for systems | |
US10768926B2 (en) | Maintaining manageability state information distinct from managed metadata | |
CN115668195A (en) | Electronic authentication process flow | |
US20080126430A1 (en) | Intermediary document for critical change control | |
US20060259903A1 (en) | Method for creating unique identification for copies of executable code and management thereof | |
US8538889B2 (en) | Application hierarchy and state manipulation | |
US20060259900A1 (en) | Method for creating unique identification for copies of executable code and management thereof | |
US20230334344A1 (en) | Distributed ledger based machine-learning model management | |
US20200320632A1 (en) | Method and system for time series data quality management | |
US20230121901A1 (en) | Computerized method for auditable transformation between accounting and actuarial data | |
US8577489B2 (en) | Diagnosing in-line critical dimension control adjustments using optical proximity correction verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLMES, TIMOTHY L.;CIANFRANI, SUSAN M.;YOUNG, ROGER M.;REEL/FRAME:017094/0922 Effective date: 20060124 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:026664/0866 Effective date: 20110503 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044127/0735 Effective date: 20170929 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |