Method and system of diagnosing a processing system using adaptive multivariate analysis

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
32Forward
Citations 
0
Petitions 
1
Assignment
First Claim
1. A method of monitoring a processing system for processing a substrate during the course of semiconductor manufacturing, comprising:
 acquiring initial data from said processing system for a plurality of observations from a first set of substrate runs having performed a process in the processing system, said initial data comprising a plurality of data parameters;
constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data from the first set;
acquiring additional data from said processing system after said constructing step from a second set of substrate runs performing said process in the processing system, said additional data comprising an additional observation of said plurality of data parameters;
adjusting said centering coefficients at the time of each observation of the additional data from the second set by utilizing both said initial data and current data obtained from the additional observation from the process performed in the second set to produce updated adaptive centering coefficients for each of said data parameters in said PCA model;
applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged;
determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients;
setting a control limit for said at least one statistical quantity;
comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and
providing an output assessing the process being performed in the processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system of monitoring a processing system and for processing a substrate during the course of semiconductor manufacturing. As such, data is acquired from the processing system for a plurality of observations, the data including a plurality of data parameters. A principal components analysis (PCA) model is constructed from the data and includes centering coefficients. Additional data is acquired from the processing system, the additional data including an additional observation of the plurality of data parameters. The centering coefficients are adjusted to produce updated adaptive centering coefficients for each of the data parameters in the PCA model. The updated adaptive centering coefficients are applied to each of the data parameters in the PCA model. At least one statistical quantity is determined from the additional data using the PCA model. A control limit is set for the statistical quantity and compared to the statistical quantity.
45 Citations
View as Search Results
ARRANGEMENT FOR IDENTIFYING UNCONTROLLED EVENTS AT THE PROCESS MODULE LEVEL AND METHODS THEREOF  
Patent #
US 20100332012A1
Filed 09/08/2009

Current Assignee
Lam Research Corporation

Sponsoring Entity
Lam Research Corporation

Methods and systems for monitoring state of plasma chamber  
Patent #
US 7,705,973 B2
Filed 05/07/2008

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

ADVANCE MANUFACTURING MONITORING AND DIAGNOSTIC TOOL  
Patent #
US 20100123453A1
Filed 09/01/2009

Current Assignee
Nokomis Inc.

Sponsoring Entity
Nokomis Inc.

METHOD AND SYSTEM FOR SEMICONDUCTOR PROCESS CONTROL AND MONITORING BY USING A DATA QUALITY METRIC  
Patent #
US 20100198556A1
Filed 01/11/2010

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
GlobalFoundries Inc.

TRANSFORMING METROLOGY DATA FROM A SEMICONDUCTOR TREATMENT SYSTEM USING MULTIVARIATE ANALYSIS  
Patent #
US 20090094001A1
Filed 12/16/2008

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

METHOD AND SYSTEM FOR SEMICONDUCTOR PROCESS CONTROL AND MONITORING BY USING PCA MODELS OF REDUCED SIZE  
Patent #
US 20090276077A1
Filed 02/18/2009

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
GlobalFoundries Inc.

DETECTION OF CATALYST LOSSES IN A FLUID CATALYTIC CRACKER FOR USE IN ABNORMAL SITUATION PREVENTION  
Patent #
US 20080120060A1
Filed 09/26/2007

Current Assignee
FisherRosemount Systems Incorporated

Sponsoring Entity
FisherRosemount Systems Incorporated

Methods and systems for monitoring state of plasma chamber  
Patent #
US 20080278721A1
Filed 05/07/2008

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

Fault detection through feedback  
Patent #
US 20060095232A1
Filed 11/02/2004

Current Assignee
Advanced Micro Devices Inc.

Sponsoring Entity
Advanced Micro Devices Inc.

Method and system for semiconductor process control and monitoring by using PCA models of reduced size  
Patent #
US 8,103,478 B2
Filed 02/18/2009

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
GlobalFoundries Inc.

Transforming metrology data from a semiconductor treatment system using multivariate analysis  
Patent #
US 8,170,833 B2
Filed 12/16/2008

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Transforming metrology data from a semiconductor treatment system using multivariate analysis  
Patent #
US 8,346,506 B2
Filed 04/11/2012

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

MANUFACTURING CONTROL APPARATUS, MANUFACTURING CONTROL SYSTEM, AND MANUFACTURING CONTROL PROGRAM OF ELECTRONIC DEVICE  
Patent #
US 20130338810A1
Filed 03/15/2013

Current Assignee
Toshiba Corporation

Sponsoring Entity
Toshiba Corporation

Advance manufacturing monitoring and diagnostic tool  
Patent #
US 8,643,539 B2
Filed 09/01/2009

Current Assignee
Nokomis Inc.

Sponsoring Entity
Nokomis Inc.

Adjusting weighting of a parameter relating to fault detection based on a detected fault  
Patent #
US 8,676,538 B2
Filed 11/02/2004

Current Assignee
Advanced Micro Devices Inc.

Sponsoring Entity
Advanced Micro Devices Inc.

Method and system for semiconductor process control and monitoring by using a data quality metric  
Patent #
US 8,849,615 B2
Filed 01/11/2010

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
GlobalFoundries Inc.

Arrangement for identifying uncontrolled events at the process module level and methods thereof  
Patent #
US 8,983,631 B2
Filed 09/08/2009

Current Assignee
Lam Research Corporation

Sponsoring Entity
Lam Research Corporation

Controlling a manufacturing process with a multivariate model  
Patent #
US 9,069,345 B2
Filed 01/23/2009

Current Assignee
MKS Instruments AB

Sponsoring Entity
MKS Instruments Incorporated

METHOD AND APPARATUS FOR DETECTING FAULT IN THE SEMICONDUCTOR MENUFACTURING PROCESS AND RECORDING MEDIUM THEREOF  
Patent #
US 20150318221A1
Filed 11/26/2014

Current Assignee
Industry Academic Cooperation Foundation, Bistel Inc.

Sponsoring Entity
Industry Academic Cooperation Foundation, Bistel Inc.

Method of endpoint detection of plasma etching process using multivariate analysis  
Patent #
US 9,330,990 B2
Filed 10/17/2013

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Multivariate monitoring of a batch manufacturing process  
Patent #
US 9,429,939 B2
Filed 04/06/2012

Current Assignee
MKS Instruments AB

Sponsoring Entity
MKS Instruments Incorporated

Manufacturing control apparatus and manufacturing control system  
Patent #
US 9,442,483 B2
Filed 03/15/2013

Current Assignee
Toshiba Corporation

Sponsoring Entity
Toshiba Corporation

Multivariate prediction of a batch manufacturing process  
Patent #
US 9,541,471 B2
Filed 01/20/2014

Current Assignee
MKS Instruments AB

Sponsoring Entity
Sartorius Stedim Data Analytics AB

Method of endpoint detection of plasma etching process using multivariate analysis  
Patent #
US 10,002,804 B2
Filed 02/25/2016

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

METHOD OF MONITORING PROCESSING SYSTEM FOR PROCESSING SUBSTRATE  
Patent #
US 20180224817A1
Filed 02/08/2017

Current Assignee
United Microelectronics Corporation

Sponsoring Entity
United Microelectronics Corporation

Compositional optical emission spectroscopy for detection of particle induced arcs in a fabrication process  
Patent #
US 10,436,717 B2
Filed 11/17/2017

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Surface modification control for etch metric enhancement  
Patent #
US 10,446,453 B2
Filed 03/13/2018

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Apparatus and method to identify and measure gas concentrations  
Patent #
US 10,448,864 B1
Filed 03/15/2017

Current Assignee
Nokomis Inc.

Sponsoring Entity
Nokomis Inc.

Endpoint detection algorithm for atomic layer etching (ALE)  
Patent #
US 10,453,653 B2
Filed 03/08/2017

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Method of monitoring processing system for processing substrate  
Patent #
US 10,606,253 B2
Filed 02/08/2017

Current Assignee
United Microelectronics Corporation

Sponsoring Entity
United Microelectronics Corporation

Evaluating system performance with sparse principal component analysis and a test statistic  
Patent #
US 10,656,102 B2
Filed 10/22/2015

Current Assignee
Battelle Memorial Institute

Sponsoring Entity
Battelle Memorial Institute

Advanced optical sensor and method for detecting an optical event in a light emission signal in a plasma chamber  
Patent #
US 10,692,705 B2
Filed 11/15/2016

Current Assignee
Tokyo Electron Limited

Sponsoring Entity
Tokyo Electron Limited

Method and apparatus for monitoring a process by employing principal component analysis  
Patent #
US 6,896,763 B2
Filed 01/14/2003

Current Assignee
Lalitha Balasubramhanya, Jed Davidow, Moshe Sarfaty, Dimitris Lymberopoulos

Sponsoring Entity
Lalitha Balasubramhanya, Jed Davidow, Moshe Sarfaty, Dimitris Lymberopoulos

Method of data compression using principal components analysis  
Patent #
US 6,675,137 B1
Filed 01/26/2000

Current Assignee
Advanced Micro Devices Inc.

Sponsoring Entity
Advanced Micro Devices Inc.

Industrial process fault detection using principal component analysis  
Patent #
US 20050055175A1
Filed 09/10/2003

Current Assignee
Peak Sensor Systems LLC

Sponsoring Entity
Peak Sensor Systems LLC

User configurable multivariate time series reduction tool control method  
Patent #
US 20030055523A1
Filed 09/17/2002

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
Asif Ghias, James J. Mcgill, Maheswaran Surendra, Marc A. Taubenblatt, John Z. Colt Jr, Raymond J. Bunkofske, Nancy T. Pascoe

MULTIVARIATE STATISTICAL PROCESS ANALYSIS SYSTEMS AND METHODS FOR THE PRODUCTION OF MELT POLYCARBONATE  
Patent #
US 20030065462A1
Filed 08/13/2001

Current Assignee
Sabic Innovative Plastics BV

Sponsoring Entity
General Electric Company

Control for an industrial process using one or more multidimensional variables  
Patent #
US 20030144746A1
Filed 03/09/2001

Current Assignee
ENVIRONMENTAL TECHNOLOGIES GROUP INC.

Sponsoring Entity
ENVIRONMENTAL TECHNOLOGIES GROUP INC.

Automated process monitoring and analysis system for semiconductor processing  
Patent #
US 6,622,059 B1
Filed 04/13/2000

Current Assignee
GlobalFoundries Inc.

Sponsoring Entity
Advanced Micro Devices Inc.

Multivariate statistical process monitors  
Patent #
US 20020072882A1
Filed 03/23/2001

Current Assignee
Perceptive Engineering Ltd.

Sponsoring Entity
Perceptive Engineering Ltd.

Method and system for the dynamic analysis of data  
Patent #
US 20020107858A1
Filed 07/05/2001

Current Assignee
Camo Inc.

Sponsoring Entity
Camo Inc.

Supervisory method for determining optimal process targets based on product performance in microelectronic fabrication  
Patent #
US 6,470,230 B1
Filed 01/04/2000

Current Assignee
Advanced Micro Devices Inc.

Sponsoring Entity
Advanced Micro Devices Inc.

Characteristic variation evaluation method of semiconductor device  
Patent #
US 6,330,526 B1
Filed 03/12/1999

Current Assignee
Mitsubishi Electric Corporation

Sponsoring Entity
Mitsubishi Electric Corporation

Method for monitoring multivariate processes  
Patent #
US 5,949,678 A
Filed 10/16/1996

Current Assignee
Telefonaktiebolaget LM Ericsson

Sponsoring Entity
Telefonaktiebolaget LM Ericsson

Process information and maintenance system for distributed control systems  
Patent #
US 5,796,606 A
Filed 02/07/1996

Current Assignee
Nexfor Incorporated

Sponsoring Entity
Noranda Inc.

44 Claims
 1. A method of monitoring a processing system for processing a substrate during the course of semiconductor manufacturing, comprising:
acquiring initial data from said processing system for a plurality of observations from a first set of substrate runs having performed a process in the processing system, said initial data comprising a plurality of data parameters; constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data from the first set; acquiring additional data from said processing system after said constructing step from a second set of substrate runs performing said process in the processing system, said additional data comprising an additional observation of said plurality of data parameters; adjusting said centering coefficients at the time of each observation of the additional data from the second set by utilizing both said initial data and current data obtained from the additional observation from the process performed in the second set to produce updated adaptive centering coefficients for each of said data parameters in said PCA model; applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged; determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients; setting a control limit for said at least one statistical quantity; comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and providing an output assessing the process being performed in the processing system.  View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
 19. In a process control system including a principal components analysis (PCA) model for monitoring a processing system for processing a substrate during the course of semiconductor manufacturing, the improvement comprising:
an adaptive centering coefficient for a data parameter obtained during a current observation made after construction of a PCA model from a first set of substrate runs having performed a process in the processing system, said adaptive centering coefficient combining an old value of said adaptive centering coefficient and a current value of said data parameter for said current observation from a second set of substrate runs performing said process in the processing system to produce at each observation of data an updated adaptive centering coefficient, wherein said old value of said adaptive centering coefficient comprises a mean value of data parameters obtained during a plurality of observations preceding said current observation; at least one statistical quantity determined using a combination of said PCA model created from the first set of substrate runs and unchanged and additional data acquired after construction of the PCA model that has been centered by the updated adaptive centering coefficients; said updated adaptive centering coefficient implemented in the PCA model to provide, based on the statistical quantity, an improved process center for the substrate processing in order to update the substrate processing during the course of semiconductor manufacturing for the second set; and said improved process center producing an output assessing the process being performed in the processing system.  View Dependent Claims (20, 21, 22, 23, 24)
 25. A processing system for processing a substrate during the course of semiconductor manufacturing, comprising:
a process tool; and a process performance monitoring system coupled to said process tool and comprising a plurality of sensors coupled to said process tool and a controller coupled to said plurality of sensors and said process tool, wherein said controller includes, means for acquiring initial data from said plurality of sensors for a plurality of observations from a first set of substrate runs having performed a process in the processing system, said initial data comprising a plurality of data parameters, means for constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data, means for acquiring additional data from said plurality of sensors after construction of the PCA model from a second set of substrate runs performing said process in the processing system, means for adjusting said centering coefficients at the time of each observation of the additional data by utilizing both previous run data from said initial data and current data obtained by the means for acquiring additional data to produce updated adaptive centering coefficients for each of said data parameters, means for applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged, means for determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients, means for setting a control limit for said at least one statistical quantity, means for comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and means for providing an output assessing the process being performed in the processing system.  View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
 33. A processing performance monitoring system to monitor a processing system for processing a substrate during the course of semiconductor manufacturing, comprising:
a plurality of sensors coupled to said processing system; and a controller coupled to said plurality of sensors and said processing system, wherein said controller includes, means for acquiring initial data from said plurality of sensors for a plurality of observations from a first set of substrate runs having performed a process in the processing system, said initial data comprising a plurality of data parameters, means for constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data, means for acquiring additional data from said plurality of sensors acquired after construction of the PCA model from a second set of substrate runs performing said process in the processing system, means for adjusting said centering coefficients at the time of each observation of the additional data by utilizing both previous run data from said initial data and current data obtained by the means for acquiring additional data to produce updated centering coefficients for each of said data parameters, means for applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged, means for determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients, means for setting a control limit for said at least one statistical quantity, means for comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and means for providing an output assessing the process being performed in the processing system.  View Dependent Claims (34, 35, 36, 37, 38, 39, 40)
 41. A method of monitoring a first processing system for processing a substrate during the course of semiconductor manufacturing, comprising:
acquiring initial data from a processing system for a plurality of observations from a first set of substrate runs having performed a process in the processing system, said initial data comprising a plurality of data parameters; constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data; acquiring additional data from said first processing system after constructing the PCA model from a second set of substrate runs performing said process in the processing system, said additional data comprises an additional observation of said plurality of data parameters; adjusting said centering coefficients at the time of each observation of the additional data by utilizing both previous run data from said initial data and current data obtained from the additional observations to produce updated adaptive coefficients for each of said data parameters in said PCA model; applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged; determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients; setting a control limit for said at least one statistical quantity; comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and providing an output assessing the process being performed in the processing system.  View Dependent Claims (42)
 43. A computer readable medium containing program instructions for execution on a computer system, which when executed by the computer system, cause the computer system to perform substrate processing comprising:
acquiring initial data from a processing system for a plurality of observations from a first set of substrate runs having performed a process in a processing system, said initial data comprising a plurality of data parameters; constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data; acquiring additional data from said processing system after constructing the PCA model from a second set of substrate runs performing said process in the processing system, said additional data comprising an additional observation of said plurality of data parameters; adjusting said centering coefficients by utilizing both previous run data from said initial data and current data obtained from the additional observation to produce updated adaptive centering coefficients for each of said data parameters in said PCA model; applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged; determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients; setting a control limit for said at least one statistical quantity; comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of semiconductor manufacturing for the second set; and providing an output assessing the process being performed in the processing system.
 44. A computer readable medium containing program instructions for execution on a computer system, which when executed by the computer system, cause the computer system to perform substrate processing comprising:
acquiring initial data from a second processing system for a plurality of observations from a first set of substrate runs having performed a process in a processing system, said initial data comprising a plurality of data parameters; constructing a principal components analysis (PCA) model from said data parameters of the first set, said PCA model including centering coefficients for the initial data; acquiring additional data from a first processing system after constructing the PCA model from a second set of substrate runs performing said process in the processing system, said additional data comprises an additional observation of said plurality of data parameters; adjusting said centering coefficients by utilizing both previous run data from said initial data and current data obtained from the additional observation to produce updated adaptive centering coefficients for each of said data parameters in said PCA model; applying said updated adaptive centering coefficients to each of said data parameters in said PCA model created from the first set of substrate runs and unchanged; determining at least one statistical quantity using a combination of said PCA model and the additional data that has been centered by the updated adaptive centering coefficients; setting a control limit for said at least one statistical quantity; comparing said at least one statistical quantity to said control limit in order to determine if the substrate processing remains within control during the course of manufacturing for the second set; and providing an output assessing the process being performed in the processing system.
1 Specification
1. Field of the Invention
The present invention relates to a method of diagnosing a processing system using principal components analysis (PCA), and more particularly to the utilization of an updated PCA.
2. Description of Related Art
Modeling and control of material processing systems, such as in semiconductor manufacturing, historically has been a very challenging task. Material processing systems typically run a variety of process recipes and products, each with unique chemical, mechanical, and electrical characteristics. Material processing systems also undergo frequent maintenance cycles wherein key parts are cleaned or replaced, and when periodic problems occur they are addressed with new hardware designs. In addition, there are particular process steps which have few substrate quality metrics directly related to their performance. Without integrated metrology, these measurements are delayed and often not measured for every substrate. These issues contribute to a complicated processing system that is already difficult to model with simple tools.
One approach to capture the behavior of a processing system in a model is to apply multivariate analysis, such as principal component analysis (PCA), to processing system data. However, due to process system drifts as well as changes in the trace data, a static PCA model is not sufficient to enable monitoring for a single processing system over a long horizon. Additionally, models developed for one processing system cannot carry over to another processing system, e.g., from one etch process chamber to another etch process chamber of the same design.
One object of the present invention is to solve or mitigate any or all of the above described problems, or other problems in the prior art.
Another object of the present invention is to provide a robust PCA model that enables monitoring for a single processing system over a long horizon.
Yet another object of the present invention is to provide a robust PCA model that is capable of useful application to more than one processing system.
These and other objects of the present invention may be met by a method of diagnosing a processing system using adaptive multivariate analysis in accordance with the present invention.
According to one aspect, a method of monitoring a processing system for processing a substrate during the course of semiconductor manufacturing is described. The method includes: acquiring data from the processing system for a plurality of observations, the data comprising a plurality of data parameters; constructing a principal components analysis (PCA) model from the data, including centering coefficients; acquiring additional data from the processing system, the additional data having an additional observation of the plurality of data parameters; adjusting the centering coefficients to produce updated adaptive centering coefficients for each of the data parameters in the PCA model; applying the updated adaptive centering coefficients to each of data parameters in the PCA model; determining at least one statistical quantity from the additional data using the PCA model; setting a control limit for the at least one statistical quantity; and comparing the at least one statistical quantity to the control limit. Additionally, the method can further include: determining scaling coefficients from the PCA model; adjusting the scaling coefficients to produce updated adaptive scaling coefficients for each of the data parameters in the PCA model; and applying the updated adaptive scaling coefficients to each of the data parameters in the PCA model.
According to another aspect, in a principal components analysis (PCA) model for monitoring a processing system for processing a substrate during the course of semiconductor manufacturing, an improvement is described including: an adaptive centering coefficient for each data parameter during a current observation of the given data parameter, the adaptive centering coefficient combining an old value of the adaptive centering coefficient and the current value of the data parameter for the current observation, wherein the old value includes the mean value of the data parameter during a plurality of observations preceding the current observation. Additionally, the improvement can further include: an adaptive scaling coefficient for each data parameter during a current observation of the given data parameter, the adaptive scaling coefficient comprising application of a recursive standard deviation filter, the formula combining an old value of the adaptive scaling coefficient, the current value of each data parameter for the current observation, and an old value of the adaptive centering coefficient, wherein the old value of the adaptive scaling coefficient comprises the standard deviation of the data parameter during a plurality of observations preceding the current observation and the old value of the adaptive centering coefficient comprises the mean value of the data parameter during a plurality of observations preceding the current observation.
Additionally, according to another aspect, a processing system for processing a substrate during the course of semiconductor manufacturing including: a process tool; and a process performance monitoring system coupled to the process tool having a plurality of sensors coupled to the process tool, and a controller coupled to the plurality of sensors and the process tool, wherein the controller includes means for acquiring data from the plurality of sensors for a plurality of observations, the data including a plurality of data parameters; means for constructing a principal components analysis (PCA) model from the data, including centering coefficients; means for acquiring additional data from the plurality of sensors; means for adjusting the centering coefficients to produce updated adaptive centering coefficients for each of the data parameters; means for applying the updated adaptive centering coefficients to each of the data parameters in the PCA model; means for determining at least one statistical quantity from the additional data using the PCA model; means for setting a control limit for the at least one statistical quantity; and means for comparing the at least one statistical quantity to the control limit. Additionally, the processing system can further include: means for determining scaling coefficients from the PCA model; means for adjusting the scaling coefficients to produce updated adaptive scaling coefficients for each of the data parameters in the PCA model; and means for applying the updated adaptive scaling coefficients to each of the data parameters in the PCA model.
According to another aspect, a process performance monitoring system to monitor a processing system for processing a substrate during the course of semiconductor manufacturing is described including: a plurality of sensors coupled to the processing system; and a controller coupled to the plurality of sensors and the processing system, wherein the controller includes means for acquiring data from the plurality of sensors for a plurality of observations, the data having a plurality of data variables; means for acquiring data from the plurality of sensors for a plurality of observations, the data comprising a plurality of data parameters; means for constructing a principal components analysis (PCA) model from the data, including centering coefficients; means for acquiring additional data from the plurality of sensors; means for adjusting the centering coefficients to produce updated adaptive centering coefficients for each of the data parameters; means for applying the updated adaptive centering coefficients to each of the data parameters in the PCA model; means for determining at least one statistical quantity from the additional data using the PCA model; means for setting a control limit for the at least one statistical quantity; and means for comparing the at least one statistical quantity to the control limit. Additionally, the processing system can further include: means for determining scaling coefficients from the PCA model; means for adjusting the scaling coefficients to produce updated adaptive scaling coefficients for each of the data parameters in the PCA model; and means for applying the updated adaptive scaling coefficients to each of the data parameters in the PCA model.
According to another aspect, a method of monitoring a first processing system for processing a substrate during the course of semiconductor manufacturing is described. The method includes: acquiring data from a second processing system for a plurality of observations, the data having a plurality of data parameters; constructing a principal components analysis (PCA) model from the data for the second processing system, including centering coefficients; acquiring additional data from the first processing system, the additional data includes an additional observation of the plurality of data parameters; adjusting the centering coefficients to produce updated adaptive centering coefficients for each of the data parameters in the PCA model; applying the updated adaptive centering coefficients to each of the data parameters in the PCA model; determining at least one statistical quantity from the additional data using the PCA model; setting a control limit for the at least one statistical quantity; and comparing the at least one statistical quantity to the control limit. Additionally, the method can further include: determining scaling coefficients from the PCA model; adjusting the scaling coefficients to produce updated adaptive scaling coefficients for each of the data parameters in the PCA model; and applying the updated adaptive scaling coefficients to each of the data parameters in the PCA model.
According to another aspect, a method for classifying a process fault occurring during a plurality of substrate runs in a processing system is described. The method includes: monitoring a plurality of data parameters from the processing system for each substrate run within the plurality of substrate runs; identifying a fault substrate run, within the plurality of substrate runs using multivariate analysis, in which the process fault occurred; selecting a first substrate run preceding the fault substrate run; calculating a first plurality of mean values for each of the plurality of data parameters during the first substrate run; selecting a second substrate run following the fault substrate run; calculating a second plurality of mean values for each of the plurality of data parameters during the second substrate run; determining the absolute value of a plurality of differences between the second plurality of mean values and the first plurality of mean values for each of the plurality of data parameters; calculating a plurality of standard deviations for each of the plurality of data parameters during at least one of the first substrate run and the second substrate run; normalizing the plurality of differences by the plurality of standard deviations for each of the plurality of data parameters; determining the largest value of the normalized differences; and identifying the data parameter amongst the plurality of data parameters corresponding to the largest value of the differences.
According to another aspect, a method for classifying a process fault occurring during a plurality of substrate runs in a processing system is described. The method includes: monitoring a plurality of data parameters from the processing system for each substrate run within the plurality of substrate runs; identifying a fault substrate run, within the plurality of substrate runs using multivariate analysis, in which the process fault occurred; selecting a first substrate run preceding the fault substrate run; calculating a first plurality of standard deviations for each of the plurality of data parameters during the first substrate run; selecting a second substrate run following the fault substrate run; calculating a second plurality of standard deviations for each of the plurality of data parameters during the second substrate run; determining the absolute value of a plurality of differences between the second plurality of standard deviations and the first plurality of standard deviations for each of the plurality of data parameters; calculating a plurality of mean values for each of the plurality of data parameters during one of the first substrate run and the second substrate run; normalizing the plurality of differences by the plurality of mean values for each of the plurality of data parameters; determining the largest value of the normalized differences; and identifying the data parameter amongst the plurality of data parameters corresponding to the largest value of the differences.
In the accompanying drawings,
According to an embodiment of the present invention, a material processing system 1 is depicted in
In the illustrated embodiment depicted in
According to the illustrated embodiment of the present invention depicted in
Substrate 25 can be, for example, transferred into and out of process tool 10 through a slot valve (not shown) and chamber feedthrough (not shown) via robotic substrate transfer system where it is received by substrate lift pins (not shown) housed within substrate holder 20 and mechanically translated by devices housed therein. Once substrate 25 is received from substrate transfer system, it is lowered to an upper surface of substrate holder 20.
For example, substrate 25 can be affixed to the substrate holder 20 via an electrostatic clamping system 28. Furthermore, substrate holder 20 can further include a cooling system including a recirculating coolant flow that receives heat from substrate holder 20 and transfers heat to a heat exchanger system (not shown), or when heating, transfers heat from the heat exchanger system. Moreover, gas can be delivered to the backside of the substrate via a backside gas system 26 to improve the gasgap thermal conductance between substrate 25 and substrate holder 20. Such a system can be utilized when temperature control of the substrate is required at elevated or reduced temperatures. For example, temperature control of the substrate can be useful at temperatures in excess of the steadystate temperature achieved due to a balance of the heat flux delivered to the substrate 25 from the plasma and the heat flux removed from substrate 25 by conduction to the substrate holder 20. In other embodiments, heating elements, such as resistive heating elements, or thermoelectric heaters/coolers can be included.
As shown in
Alternately, RF power can be applied to the substrate holder electrode at multiple frequencies. Furthermore, impedance match network 32 serves to maximize the transfer of RF power to plasma in processing chamber 10 by minimizing the reflected power. Various match network topologies (e.g., Ltype, πtype, Ttype, etc.) and automatic control methods can be utilized.
With continuing reference to
Vacuum pump system 58 can, for example, include a turbomolecular vacuum pump (TMP) capable of a pumping speed up to 5000 liters per second (and greater) and a gate valve for throttling the chamber pressure. In conventional plasma processing devices utilized for dry plasma etch, a 1000 to 3000 liter per second TMP is generally employed. TMPs are useful for low pressure processing, typically less than 50 mTorr. At higher pressures, the TMP pumping speed falls off dramatically. For high pressure processing (i.e., greater than 100 mTorr), a mechanical booster pump and dry roughing pump can be used. Furthermore, a device for monitoring chamber pressure (not shown) is coupled to the process chamber 10. The pressure measuring device can be, for example, a Type 628B Baratron absolute capacitance manometer commercially available from MKS Instruments, Inc. (Andover, MA).
As depicted in
The light detection device 34 can include a detector such as a (silicon) photodiode or a photomultiplier tube (PMT) for measuring the total light intensity emitted from the plasma. The light detection device 34 can further include an optical filter such as a narrowband interference filter. In an alternate embodiment, the light detection device 34 includes a line CCD (charge coupled device) or CID (charge injection device) array and a light dispersing device such as a grating or a prism. Additionally, light detection device 34 can include a monochromator (e.g., grating/detector system) for measuring light at a given wavelength, or a spectrometer (e.g., with a rotating grating) for measuring the light spectrum such as, for example, the device described in U.S. Pat. No. 5,888,337.
The light detection device 34 can include a high resolution OES sensor from Peak Sensor Systems. Such an OES sensor has a broad spectrum that spans the ultraviolet (UV), visible (VIS) and near infrared (NIR) light spectrums. In the Peak Sensor System, the resolution is approximately 1.4 Angstroms, that is, the sensor is capable of collecting 5550 wavelengths from 240 to 1000 nm. In the Peak System Sensor, the sensor is equipped with high sensitivity miniature fiber optic UVVISNIR spectrometers which are, in turn, integrated with 2048 pixel linear CCD arrays.
The spectrometers in one embodiment of the present invention receive light transmitted through single and bundled optical fibers, where the light output from the optical fibers is dispersed across the line CCD array using a fixed grating. Similar to the configuration described above, light emitting through an optical vacuum window is focused onto the input end of the optical fibers via a convex spherical lens. Three spectrometers, each specifically tuned for a given spectral range (UV, VIS and NIR), form a sensor for a process chamber. Each spectrometer includes an independent A/D converter. And lastly, depending upon the sensor utilization, a full emission spectrum can be recorded every 0.1 to 1.0 seconds.
The electrical measurement device 36 can include, for example, a current and/or voltage probe, a power meter, or spectrum analyzer. For example, plasma processing systems often employ RF power to form plasma, in which case, an RF transmission line, such as a coaxial cable or structure, is employed to couple RF energy to the plasma through an electrical coupling element (i.e., inductive coil, electrode, etc.). Electrical measurements using, for example, a currentvoltage probe, can be exercised anywhere within the electrical (RF) circuit, such as within an RF transmission line. Furthermore, the measurement of an electrical signal, such as a time trace of voltage or current, permits the transformation of the signal into frequency space using discrete Fourier series representation (assuming a periodic signal). Thereafter, the Fourier spectrum (or for a time varying signal, the frequency spectrum) can be monitored and analyzed to characterize the state of material processing system 1. A voltagecurrent probe can be, for example, a device as described in detail in pending U.S. Application Ser. No. 60/259,862 filed on Jan. 8, 2001, and U.S. Pat. No. 5,467,013, each of which is incorporated herein by reference in its entirety.
In alternate embodiments, electrical measurement device 36 can include a broadband RF antenna useful for measuring a radiated RF field external to material processing system 1. A commercially available broadband RF antenna is a broadband antenna such as Antenna Research Model RAM220 (0.1 MHz to 300 MHz).
In general, the plurality of sensors 50 can include any number of sensors, intrinsic and extrinsic, which can be coupled to process tool 10 to provide tool data to the controller 55.
Controller 55 includes a microprocessor, memory, and a digital I/O port (potentially including D/A and/or A/D converters) capable of generating control voltages sufficient to communicate and activate inputs to material processing system 1 as well as monitor outputs from material processing system 1. As shown in
As shown in
As shown in
As shown in
Alternately, the plasma can be formed using electron cyclotron resonance (ECR). In yet another embodiment, the plasma is formed from the launching of a Helicon wave. In yet another embodiment, the plasma is formed from a propagating surface wave.
As discussed above, the process performance monitoring system 100 includes plurality of sensors 50 and controller 55, where the sensors 50 are coupled to process tool 10 and the controller 55 is coupled to the sensors 50 to receive tool data. The controller 55 is further capable of executing at least one algorithm to optimize the tool data received from the sensors 50, determine a relationship (model) between the tool data, and use the relationship (model) for fault detection.
When encountering large sets of data involving a substantive number of variables, multivariate analysis (MVA) is often applied. For example, one such MVA technique includes Principal Components Analysis (PCA). In PCA, a model can be assembled to extract from a large set of data a signal exhibiting the greatest variance in the multidimensional parameter space.
For example, each set of data parameters for a given substrate run, or instant in time, can be stored as a row in a matrix
Using the PCA technique, the correlation structure within matrix
 where
“i” represents the i^{th }row, “j” represents the j^{th }column, subscript “M” represents mean value, σ represents standard deviation,
In general, the loadings matrix
The covariance matrix
 where the real, symmetric eigenvector matrix Ū comprises the normalized eigenvectors as columns and
Λ is a diagonal matrix comprising the eigenvalues corresponding to each eigenvector along the diagonal. Using equations (1a) and (3) (for a full matrix of p=r; i.e. no error matrix), one can show that
P =Ū (4)
and
T ^{T}T =Λ . (5)
 where the real, symmetric eigenvector matrix Ū comprises the normalized eigenvectors as columns and
A consequence of the above eigenanalysis is that each eigenvalue represents the variance of the data in the direction of the corresponding eigenvector within ndimensional space. Hence, the largest eigenvalue corresponds to the greatest variance in the data within the multidimensional space whereas the smallest eigenvalue represents the smallest variance in the data. By definition, all eigenvectors are orthogonal, and therefore, the second largest eigenvalue corresponds to the second greatest variance in the data in the direction of the corresponding eigenvector, which is, of course, normal to the direction of the first eigenvector. In general, for such analysis, the first several (three to four, or more) largest eigenvalues are chosen to approximate the data and, as a result of the approximation, an error Ē is introduced to the representation in equation (1a). In summary, once the set of eigenvalues and their corresponding eigenvectors are determined, a set of the largest eigenvalues can be chosen and the error matrix Ē of equation (1a) can be determined.
An example of commercially available software which supports PCA modeling is MATLAB™ (commercially available from The Mathworks, Inc., Natick, Mass.), and PLS Toolbox (commercially available from Eigenvector Research, Inc., Manson, Wash.).
Additionally, once a PCA model is established, commercially available software, such as MATLAB™, is further capable of producing as output other statistical quantities such as the Hotelling T^{2 }parameter for an observation, or the Qstatistic. The Qstatistic for an observation can be calculated as follows
Q=Ē^{T}Ē, (6a)
 where
Ē=X (Ī−PP ^{T}), (6b)  and Ī is the identity matrix of appropriate size. For example, a PCA model (loadings matrix
P , etc.) can be constructed using a “training” set of data (i.e. assembleX for a number of observations and determine a PCA model using MATLAB™). Once the PCA model is constructed, projections of a new observation onto the PCA model can be utilized to determine a residual matrix Ē, as in equation (1a).
 where
Similarly, the Hotelling T^{2 }can be calculated as follows

 where
T =XP , (7b)  and T_{ia }is the score (from equation (7b)) for the i^{th }observation (substrate run, instant in time, etc.; i.e., i=1 to q) and the a^{th }model dimension (i.e., a=1 to p), and S^{2}_{ta }is the variance of
T _{a}. For example, a PCA model (loadings matrixP , etc.) can be constructed using a “training” set of data (i.e. assembleX for a number of observations and determine a PCA model using MATLAB™). Once the PCA model is constructed, projections of a new observation onto the PCA model can be utilized to determine a new scores matrixT .
 where
Typically, a statistical quantity, such as the Qstatistic, or the Hotelling T^{2}, is monitored for a process, and, when this quantity exceeds a predetermined control limit, a fault for the process is detected.
The data parameters collected include the chamber pressure, applied power, various temperatures, and many other variables relating to the pressure, power, and temperature control as shown in Table 1.
The process recipe used in this example has three main steps: a photoresist cleaning step, a main etch step, and a photoresist stripping step. The scope of this example applied to the main etch step, but it is not limited to this particular step or any particular step and is, therefore, applicable to other steps as well.
For each process step, an observation mean and observation standard deviation of a time trace for each data parameter (or tool variable) was calculated from roughly 160 samples for each substrate. The beginning portion of the time trace for each data parameter, where the RF power increases, was trimmed in these statistical calculations in an attempt to remove the variation due to the power when it is turned on.
In the example of
In the example of
While methods are known for preserving the usefulness of the PCA model over long process runs, the present inventors have recognized that these methods are not practical for commercial application to semiconductor manufacturing process control. For example, using an adaptive model technique, the PCA model can be actually rebuilt with each process run in order to update the model on the fly during the process. While this adaptive modeling technique may generally stabilize the statistical monitoring within a given control limit, it requires computational resources not practical for commercial processes.
Another technique for maintaining the usefulness of the statistical monitoring of
Thus, the present inventors have recognized that conventional methods for adapting a PCA model to enable statistical monitoring over long process runs is impractical for commercial processes. More specifically, the present inventors have discovered that the standard approach to centering and scaling the data in a PCA matrix has not enabled the development of a robust model capable of use for long periods of time (i.e., substantive number of substrate runs).
In an embodiment of the present invention, an adaptive multivariate analysis is described for preparing a robust PCA model. Therein, the centering and scaling coefficients are updated using an adaptation scheme. The mean values (utilized for centering) for each summary statistic are updated from one observation to the next using a filter, such as an exponentially weighted moving average (EWMA) filter shown as follows:
 where
X _{M,j,n }represents the calculated model mean value (“M”) of the j^{th }data parameter at the current run (or observation “n”),X _{M,j,n−1 }represents the calculated model mean value (“M”) of the j^{th }data parameter at the previous run (or observation “n−1”),X _{j,n }represents the current value of the j^{th }data parameter for the current run, and λ is a weighting factor ranging from a value of 0 to 1. For example, when λ=1, the model mean value utilized for centering each data parameter is the previously used value, and, when λ=0, the model mean value utilized for centering each data parameter is the current measured value.
 where
The model standard deviations (utilized for scaling) for each summary statistic are updated using the following recursive standard deviation filter

 where σ_{X,j,n }represents the calculated model standard deviation of the j^{th }data parameter for the current run (or observation “n”), σ_{X,j,n−1 }represents the calculated model standard deviation of the j^{th }data parameter for the previous run (or observation “n−1”), n represents the run (or observation) number, and k represents a filter constant. The filter constant k can, for example, be selected as a constant less than or equal to N, where N represents the number of substrate runs, or observations, utilized to construct the PCA model.
Referring now to
In another embodiment, the relative change in the centering and scaling coefficients can be calculated to alert the operator or engineer that step summary statistics have shifted between two runs, or observations. For each centering coefficient, this is done by subtracting the estimate at an initial run from the estimate at a final run, then scaling each difference by the standard deviation used for scaling that step statistic for the initial run, viz.

 where M_{X}is the model mean movement metric,
X _{M,j,a }represents the model mean value for the j^{th }data parameter for the a^{th }substrate,X _{M,j,b }represents the model mean value for the j^{th }data parameter for the b^{th }substrate, and σ_{j,n }represents the model standard deviation for the j^{th }data parameter for the a^{th }substrate.
 where M_{X}is the model mean movement metric,
For the scaling coefficient, the calculation is the difference in standard deviations scaled with the mean used for centering that step statistic, viz.

 where σ_{j,b }represents the model standard deviation for the j^{th }data parameter for the b^{th }substrate.
These results are then displayed in a Pareto chart to identify the variables that exhibited the largest relative change during the period. For example, this supplement to the typical contribution plot can give the operator insight on the global changes in the set of data parameters. In contrast, the contribution plot indicates the local deviation in a particular run.
Referring again to
In addition to providing a more robust PCA model that can be used for statistical monitoring over long process runs, the adaptive technique also provides use of the same PCA model among different processing systems.
With this same model applied to a second processing system, again a contribution plot can be used to identify the cause of the single point excursions as described above. The contribution plot based on the static model provides a number of data parameters with no clear single cause, and few of those data parameters identified exhibit the large outlier characteristics. The contribution based on the adaptive scheme clearly indicates two parameters: RFVPPLO mean and APC standard deviation. These outliers are consistent with a plasma leak where the voltage has a high value throughout the step and the pressure control is very choppy as it tries to control an unstable plasma.
In order to investigate the sudden shifts of the system, periods of consecutive violations were noted from the data in
Thus, the present inventors have recognized that a static PCA model is inadequate for monitoring and detecting local faults on an industrial material processing system. The confidence limit on the model is quickly exceeded after the model is constructed; furthermore, the confidence limit is inappropriate when the model is applied to another processing system. The mean and standard deviation values, used for univariate scaling, can be slowly adapted with new data. The adaptive centering and scaling method is sufficient to keep the distance to the model in the residual space (Q) stable, and the original model confidence limit is appropriate for detecting excursions. In addition, the Q contributions calculated from the adaptive method help discriminate the root cause data parameters of the local deviation instead of being coupled to the contributions of those data parameters that have global changes. Supplemental to the contribution plot, the movement metric identified input data parameters that had sharp step changes during periods of consecutive confidence limit violations.
At 520, a PCA model is constructed from the acquired data parameters by determining one or more principal components to represent the data at 530 and applying static centering and scaling coefficients, as described above, to the data parameters of the acquired data at 540. For example, a commercially available software such as MATLAB™ and PLS Toolbox can be utilized to construct the PCA model.
At 550, additional data is acquired from a processing system, and, at 555, adaptive centering and scaling coefficients are utilized when applying the PCA model to the acquired data parameters. At 560, at least one statistical quantity is determined from the additional data and the PCA model. For example, the additional data can be forward projected onto the one or more principal components to determine a set of scores, and the set of scores can be backward projected onto the principal components to determine one or more residual errors. Utilizing either the set of scores in conjunction with the model set of scores, or the one or more residual errors, at least one statistical quantity can be determined, such as the Qstatistic, or the Hotelling T^{2 }parameter, for each additional observation.
At 570, a control limit can be set, and, at 580, at least one statistical quantity can be compared with the control limit. The control limit can be set using either subjective methods or empirical methods. For example, when using the Qstatistic, the control limit can be set at the 95% confidence limit (see, for instance,
The computer system 1201 also includes a disk controller 1206 coupled to the bus 1202 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 1207, and a removable media drive 1208 (e.g., floppy disk drive, readonly compact disc drive, read/write compact disc drive, compact disc jukebox, tape drive, and removable magnetooptical drive). The storage devices may be added to the computer system 1201 using an appropriate device interface (e.g., small computer system interface (SCSD, integrated device electronics (IDE), enhancedIDE (EIDE), direct memory access (DMA), or ultraDMA).
The computer system 1201 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).
The computer system 1201 may also include a display controller 1209 coupled to the bus 1202 to control a display 1210, such as a cathode ray tube (CRT), for displaying information to a computer user. The computer system includes input devices, such as a keyboard 1211 and a pointing device 1212, for interacting with a computer user and providing information to the processor 1203. The pointing device 1212, for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor 1203 and for controlling cursor movement on the display 1210. In addition, a printer may provide printed listings of data stored and/or generated by the computer system 1201.
The computer system 1201 performs a portion or all of the processing steps of the invention (such as for example those described in relation to
As stated above, the computer system 1201 includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magnetooptical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CDROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.
Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 1201, for driving a device or devices for implementing the invention, and for enabling the computer system 1201 to interact with a human user (e.g., print production personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.
The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.
The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processor 1203 for execution. A computer readable medium may take many forms, including but not limited to, nonvolatile media, volatile media, and transmission media. Nonvolatile media includes, for example, optical, magnetic disks, and magnetooptical disks, such as the hard disk 1207 or the removable media drive 1208. Volatile media includes dynamic memory, such as the main memory 1204. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 1202. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 1203 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 1201 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus 1202 can receive the data carried in the infrared signal and place the data on the bus 1202. The bus 1202 carries the data to the main memory 1204, from which the processor 1203 retrieves and executes the instructions. The instructions received by the main memory 1204 may optionally be stored on storage device 1207 or 1208 either before or after execution by processor 1203.
The computer system 1201 also includes a communication interface 1213 coupled to the bus 1202. The communication interface 1213 provides a twoway data communication coupling to a network link 1214 that is connected to, for example, a local area network (LAN) 1215, or to another communications network 1216 such as the Internet. For example, the communication interface 1213 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 1213 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 1213 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
The network link 1214 typically provides data communication through one or more networks to other data devices. For example, the network link 1214 may provide a connection to another computer through a local network 1215 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 1216. The local network 1214 and the communications network 1216 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc). The signals through the various networks and the signals on the network link 1214 and through the communication interface 1213, which carry the digital data to and from the computer system 1201 maybe implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term “bits” is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a “wired” communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computer system 1201 can transmit and receive data, including program code, through the network(s) 1215 and 1216, the network link 1214, and the communication interface 1213. Moreover, the network link 1214 may provide a connection through a LAN 1215 to a mobile device 1217 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.
Although only certain exemplary embodiments of this invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention.