`
`(12) United States Patent
`Funk et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,123,980 B2
`Oct. 17, 2006
`
`(54)
`
`(75)
`
`(73)
`(*)
`
`(21)
`(22)
`(65)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`METHOD AND APPARATUS FOR THE
`MONITORING AND CONTROL OFA
`SEMCONDUCTOR MANUFACTURING
`PROCESS
`
`Inventors: Merritt Funk, Austin, TX (US);
`Raymond Peterson, Manor, TX (US)
`Assignee: Tokyo Electron Limited, Tokyo (JP)
`Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 11/087,071
`
`Filed:
`
`Mar. 23, 2005
`
`Prior Publication Data
`US 2005/O187649 A1
`Aug. 25, 2005
`
`Related U.S. Application Data
`Continuation of application No. PCT/US03/29980,
`filed on Sep. 25, 2003.
`Provisional application No. 60/414.425, filed on Sep.
`30, 2002.
`
`Int. C.
`(2006.01)
`G06F 9/00
`U.S. Cl. ......................................... 700/121; 710/96
`Field of Classification Search ................ 700/121,
`700/96, 32, 95, 117
`See application file for complete search history.
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`f ck
`}
`t
`al - - - - - - - - - - - - - - - - - - 7O2/85
`6,480.854 B1* 11/2002 S. al
`707/10
`657.285 B1* 5/2003 Groath et al..."709,223
`6,630,362 Bf 10.2003 Lensing. 18
`6,819,963 B1 * 1 1/2004 Riley et al. ................... TOO/29
`6,842,660 B1* 1/2005 Tripathi et al. ............. TOOf 121
`
`7/2002 Pasadyn et al.
`2002fOO87229 A1
`3/2003 Cha et al. ..................... 714, 16
`2003/0061537 A1
`2003/0169330 A1* 9, 2003 Ben-Shachar et al. ... 348/14.09
`2003/0208294 A1* 11/2003 Cheng et al. ................. TOO.96
`2004/0135590 A1* 7/2004 Quon ......................... 324f713
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`
`WO O2/10873 A2
`WO O2/O66923 A2
`
`2, 2002
`8, 2002
`
`OTHER PUBLICATIONS
`“Human Interface Standard for Semiconductor Equipment.” SEMI
`Draft Doc. #2783B, SEMI (Semiconductor Equipment and Mate
`rials International) (San Jose, CA), 15 pp., ( 1999).
`“Specification for Human Interface for Semiconductor Manufactur
`ing Equipment.” SEMI E95-1101, SEMI (Semiconductor Equip
`ment and Materials International (San Jose, CA), 15 pp. (2000,
`2001).
`"Strategic Cell Controller (SCC) User-Interface Style Guide 1.0.”
`Technology Transfer 92061179A-ENG, SEMATECH, Inc. (Austin,
`TX), 204 pp. (Aug. 21, 1992).
`“ETCH Systems Advanced Process Control: Installation/Startup
`Manual, Revision 1.0.2,” Tokyo Electron America, Inc. (Austin,
`TX), 161 pp., (Jul. 9, 2002).
`* cited by examiner
`Primary Examiner Jayprakash N. Gandhi
`(74) Attorney, Agent, or Firm Pillsbury Winthrop Shaw
`Pittman LLP
`
`(57)
`
`ABSTRACT
`
`An Advanced Process Control (APC) system including
`Graphical User Interfaces (GUIs) is presented for monitor
`ing and controlling a semiconductor manufacturing process
`that is performed by a semiconductor processing system.
`The semiconductor processing system includes a number of
`processing tools, a number of processing modules (cham
`bers), and a number of sensors, and the APC system com
`prises an APC server, database, interface server, client
`workstation, and GUI component. The GUI is web-based
`and is viewable by a user using a web browser.
`33 Claims, 12 Drawing Sheets
`
`Factory System
`E-Diagnostics
`s --- 105.
`
`f
`
`
`
`IS)
`15
`
`Client
`Workstation
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 1 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 1 of 12
`
`US 7,123,980 B2
`
`
`
`E-Diagnostics
`System
`115
`
`Factory System
`105
`
`
`
`
`
`
`
`Tool
`110
`
`PM1
`120
`
`Sensor
`130
`
`PM4
`120
`
`Sensor
`130
`
`100
`
`Sensor
`Interface
`140
`
`
`
`F.G. 1
`
`I
`
`t
`e
`
`f
`al
`C
`e
`
`:
`
`:
`
`-
`
`Database
`190
`
`APC
`Server
`160
`
`
`
`Client
`Workstation
`
`GUI
`180
`
`!------------------------
`7.
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 2 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 2 of 12
`
`US 7,123,980 B2
`
`M
`SE Recipe
`
`
`
`
`
`Note PC
`
`Upload-Download
`elius Recipe
`including M Reci
`
`C
`
`CH-O-
`
`E-Diagnostics
`
`c
`Ingenio TL
`
`
`
`OEP Library
`
`PAS Recipe
`
`Teragen
`
`FG, 2
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 3 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 3 of 12
`
`US 7,123,980 B2
`
`In Memory
`Data Tables
`
`Data
`Acquisition
`
`Messaging
`System
`
`Relational
`Database
`
`
`
`
`
`
`
`
`
`
`
`Alarms
`
`Agent
`Client
`
`
`
`Post
`processing
`
`Off-line
`
`FG. 3
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 4 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 4 of 12
`
`US 7,123,980 B2
`
`
`
`
`
`
`
`
`
`PM State,
`Sensor and
`Process
`Data
`
`
`
`
`
`
`
`
`
`
`
`
`
`incoming
`
`
`
`Derivation
`
`
`
`Expected
`results or
`deviation from
`expected
`results
`
`ls within
`process
`limits?
`
`No
`
`Notify Engineer
`
`Pause tool
`
`
`
`Suggest maintenance
`
`Classify fault
`
`
`
`Management
`
`FIG. 4
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 5 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 5 of 12
`
`US 7,123,980 B2
`
`Event
`
`Strategy
`
`Control Job
`
`Plan
`
`Sub-Plan
`
`Strategy.
`PC1LotGenera
`
`Controlob.
`PC1LotGenera
`
`Wafer in
`
`Recipe Start
`
`RF On
`
`RF Off
`
`Recipe End
`
`Wafer Complete
`
`Lot Complete
`
`Control.Job.
`PCLotGenera
`
`DC.
`PC1GeneralPla
`
`Control.Job.
`PC1 LotCGenera
`
`DC.
`PC1GeneralPla
`
`etupSensors
`Pcisetupen
`
`PC1.SartSensors
`
`
`
`PC.StateN
`
`etc....
`
`FIG. 5
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 6 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 6 of 12
`
`US 7,123,980 B2
`
`
`
`F.G. 6
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 7 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 7 of 12
`
`US 7,123,980 B2
`
`HSMS
`SECS Interface
`
`DB2 interface (DB
`subscribes to configuration
`feeds D82 for
`
`
`
`
`
`
`
`
`
`
`
`
`
`DMH server main
`queue management
`configuration data
`subscription data
`reatineststus data
`TCL extensibility
`
`SOL tables
`
`S C
`NS-2
`
`Sensor
`suffscribes to control
`does Sensorsetup
`batch or real time data
`event collection
`
`
`
`
`
`
`
`
`
`
`
`Production Datahub
`sibscribes to configuration
`process run data
`batch input
`
`
`
`so
`
`filtering, trimming,
`database/file output
`MVA analysis
`SPC invocation
`custom reporting
`
`
`
`SC tables
`
`FIG 7
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 8 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 8 of 12
`
`US 7,123,980 B2
`
`Execute Control Strategy
`
`Execute Data Collection Strategy
`
`
`
`
`
`
`
`
`
`
`
`Execute
`Intervention
`Plan
`
`815
`
`
`
`820
`
`825
`
`830
`
`835
`
`FIG. 8
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 9 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 9 of 12
`
`US 7,123,980 B2
`
`eXt
`
`3
`
`gy
`
`
`
`
`
`
`
`e-G
`
`Preprocess
`plan
`
`Param.
`Select plan
`&
`< Se
`
`/ ?atches a Control N
`{
`Strategy context
`
`
`
`
`
`
`
`Analysis
`Strategy
`COnteXt
`
`FIG. 9
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 10 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 10 of 12
`
`US 7,123,980 B2
`
`Process context
`
`s
`Start Event ...
`
`Execute control strategy
`Execute Data Collection Plan
`
`Context matching
`-Precedence order End Event1
`3
`--------------------
`Sensor setups
`Execute Data Preproce
`Preprocess ID
`Intervention D
`
`
`
`- P
`
`
`
`Context matching
`-Plural strategies
`Analysis IDs
`
`d. Event2 --
`Execute Analysis strategies
`LOOP: for extracted analysis plane-1-
`
`
`
`
`
`
`
`sian
`RGAAPLSaigdeisseups
`
`parameter
`
`X Execute SPC
`
`Execute PCAVPLS
`
`Execute SPC
`
`
`
`
`
`
`
`ND LOOP
`
`Us
`
`
`
`F.G. 10
`
`Intervention plan & mgr.
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 11 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 11 of 12
`
`US 7,123,980 B2
`
`
`
`Judgment plan B
`
`
`
`
`
`Processing Tool
`
`OOOO
`
`FIG 11
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 12 of 30
`
`
`
`U.S. Patent
`
`Oct. 17, 2006
`
`Sheet 12 of 12
`
`US 7,123,980 B2
`
`
`
`...
`
`unitsche
`
`FIG. 12
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 13 of 30
`
`
`
`1.
`METHOD AND APPARATUS FOR THE
`MONITORING AND CONTROL OFA
`SEMCONDUCTOR MANUFACTURING
`PROCESS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This is a Continuation Application of International Appli
`cation No. PCT/US03/29980, filed Sep. 25, 2003, which
`relies for priority upon U.S. Provisional Application No.
`60/414.425, filed Sep. 30, 2002, the contents of both of
`which are incorporated herein by reference in their entire
`ties.
`The present application is related to co-pending applica
`tions U.S. Continuation of PCT Application No. 10/951,161,
`filed on Sep. 28, 2004, which relies for priority upon U.S.
`Provisional Application No. 60/368,162, filed on Mar. 29,
`2002; U.S. Continuation of PCT Application No. 10/966,
`112, filed Oct. 18, 2004, which relies for priority upon U.S.
`Provisional Application No. 60/374,486, filed on Apr. 23,
`2002; U.S. Continuation of PCT Application No. 10/987,
`194, filed Nov. 15, 2004, which relies for priority upon U.S.
`Provisional Application No. 60/383,619, filed on May 29,
`2002; U.S. Continuation of PCT Application No. 11/025,
`227, filed Dec. 30, 2004, which relies for priority upon U.S.
`Provisional Application No. 60/393,091, filed on Jul. 3,
`2002; and U.S. Continuation of PCT Application No.
`11/025,396, filed Dec. 30, 2004, which relies for priority
`upon U.S. Provisional Application No. 60/393,104, filed on
`Jul. 3, 2002. Each of these applications is herein incorpo
`rated by reference in its entirety.
`FIELD OF THE INVENTION
`
`The present invention is related to semiconductor pro
`cessing systems, particularly to semiconductor processing
`systems, which use Advanced Process Control (APC).
`BACKGROUND OF THE INVENTION
`
`10
`
`15
`
`25
`
`30
`
`35
`
`Computers are generally used to control, monitor, and
`initialize manufacturing processes. A computer is ideal for
`these operations given the complexities in a semiconductor
`manufacturing plant from the reentrant wafer flows, critical
`processing steps, and maintainability of the processes. Vari
`ous input/output (I/O) devices are used to control and
`monitor process flows, wafer states, and maintenance sched
`ules. A variety of tools exist in a semiconductor manufac
`turing plant to complete these complicated Steps from criti
`cal operations such as etching, to batch processing, and
`inspections. Most tool installations are accomplished using
`a display Screen that is part of the graphical user interface
`(GUI) of a control computer containing the installation
`Software. Installation of a semiconductor-processing tool is
`a time consuming procedure.
`Semiconductor processing facilities require constant
`monitoring. Processing conditions change over time with the
`slightest changes in critical process parameters creating
`undesirable results. Small changes can easily occur in the
`composition or pressure of an etch gas, process chamber, or
`wafer temperature. In many cases, changes of process data
`reflecting deterioration of processing characteristics cannot
`be detected by simply referring to the process data dis
`played. It is difficult to detect early stage abnormalities and
`characteristic deterioration of a process. Oftentimes predic
`tion and pattern recognition offered by advanced process
`control (APC) is necessary.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,123,980 B2
`
`2
`Facility control is often performed by a number of dif
`ferent control systems having a variety of controllers. Some
`of the control systems may have man-machine interfaces
`Such as touch screens, while others may only collect and
`display one variable Such as temperature. The monitoring
`system must be able to collect data tabulated for the process
`control system. The data collection of the monitoring system
`must handle univariate and multivariate data, the analysis
`and display of the data, and have the ability to select the
`process variables to collect. Various conditions in a process
`are monitored by different sensors provided in each of the
`process chambers, and data of the monitored conditions is
`transferred and accumulated in a control computer. If the
`process data is displayed and detected automatically, the
`optimum process conditions of a mass-production line can
`be set and controlled through statistical process control
`(SPC) charts. Inefficient monitoring of a facility can result in
`facility downtimes that add to the overall operational cost.
`
`SUMMARY OF THE INVENTION
`
`Accordingly, it is an object of the present invention to
`provide an Advanced Process Control (APC) system for
`controlling a processing tool in a semiconductor processing
`environment, where the APC system comprises an APC
`server providing a plurality of APC related applications; an
`Interface Server (IS) coupled to the APC server; a database
`coupled to the IS and APC server; and a GUI component
`coupled to the APC server, wherein the IS comprises means
`for coupling to a processing tool, and means for coupling to
`a plurality of process modules coupled to the processing
`tool.
`In addition, it is an object of the present invention to
`provide a method for using an Advanced Process Control
`(APC) system for controlling a processing tool in a semi
`conductor processing environment, the method comprising:
`providing an APC server providing a plurality of APC
`related applications; providing an Interface Server (IS)
`coupled to the APC server; providing a database coupled to
`the IS and APC server; and providing a GUI component
`coupled to the APC server, wherein the IS comprises means
`for coupling to a processing tool, and means for coupling to
`a plurality of process modules coupled to the processing
`tool.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated in
`and constitute a part of the specification, illustrate presently
`preferred embodiments of the invention, and together with
`the general description given above and the detailed descrip
`tion of the preferred embodiments given below, serve to
`explain the principles of the invention. A more complete
`appreciation of the invention and many of the attendant
`advantages thereof will become readily apparent with ref
`erence to the following detailed description, particularly
`when considered in conjunction with the accompanying
`drawings, in which:
`FIG. 1 shows an exemplary block diagram of an advanced
`process controlled (APC) system in a semiconductor manu
`facturing environment in accordance with one embodiment
`of the present invention;
`FIG. 2 shows an exemplary block diagram of a system
`from Tokyo Electron Inc:
`FIG. 3 is a simplified data flow diagram for the APC
`system in accordance with one embodiment of the present
`invention;
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 14 of 30
`
`
`
`US 7,123,980 B2
`
`3
`FIG. 4 illustrates a simplified interface diagram in accor
`dance with an embodiment of the present invention;
`FIG. 5 shows an exemplary relationship diagram for event
`contexts, strategies, control jobs, and plans in accordance
`with an embodiment of the present invention;
`FIG. 6 illustrates a simplified data flow diagram in accor
`dance with an embodiment of the present invention;
`FIG. 7 shows an exemplary block diagram of an interface
`server in accordance with an embodiment of the present
`invention;
`FIG. 8 shows a simplified view of a flow diagram for a
`monitoring process for processing tools in a semiconductor
`processing system in accordance with one embodiment of
`the present invention;
`FIG. 9 shows an exemplary relationship diagram for
`strategies and plans;
`FIG. 10 shows another exemplary relationship diagram
`for strategies and plans;
`FIG. 11 shows an exemplary relationship diagram for
`judgment plans and intervention plan in accordance with one
`embodiment of the present invention; and
`FIG. 12 shows an exemplary view of a Tool Status screen
`in accordance with one embodiment of the present inven
`tion.
`
`DETAILED DESCRIPTION OF AN
`EMBODIMENT
`
`10
`
`15
`
`25
`
`4
`to synchronize data acquisition with the tool process. Also,
`APC system 145 can comprise an agent client (not shown)
`that can be a software process that can be used to provide a
`connection to the tool agent. For example, APC system 145
`can be connected to processing tool 110 via an Internet or
`intranet connection.
`For example, an agent client can be used to receive events
`and their associated messages from a tool agent and propa
`gate those messages on through the APC system. The client
`Software can comprise a communications class, and a driver.
`The agent client communications class can be designed as a
`reusable class that is implemented as a dynamically loadable
`module (DLL). There can also be a message class that is
`used to parse messages from the tool agent and break those
`messages out into elements. An agent message class can
`instantiated with a string received from the tool agent as a
`parameter. At the time of instantiation, the string is parsed
`and all class attributes are filled with the data from that
`string. The agent client communication class communicates
`with the tool agent via Berkeley Sockets application pro
`gramming interface (BSD Sockets), and it can comprise the
`following methods:
`a. Start Agent: A method that establishes communications
`with the tool agent and sends the agent the start message.
`When the start acknowledged message is received from the
`agent, the connection is closed and the event receive thread
`is spawned. When the initial connection is established with
`the agent, the local interface that found the tool is stored.
`b. Event Receive Thread: This establishes the “event
`listen' connection with the agent. Once the connection is
`established, the thread waits indefinitely for a message from
`the agent. When a message is received, a new agent message
`object is instantiated and is placed in the message queue. The
`thread then goes back into the “Waiting for message' state.
`c. Get Next Message: A method that gets the next object
`off of the message queue and passes it back to the caller.
`d. Stop Agent: A method that sends a stop signal to the
`tool agent. When it receives the stop signal, the tool can
`close its connection with the event receive thread. When the
`event receive thread senses the connection is closed, it is
`eliminated.
`In one embodiment, processing tool 110 communicates
`with the IS150 using sockets. For example, the interface can
`be implemented using TCP/IP socket communication.
`Before every communication, a socket is established. Then
`a message is sent as a string. After the message is sent, the
`Socket is cancelled.
`Alternately, an interface can be structured as a TCL
`process extended with C/C++ code, or a C/C++ process that
`uses a special class, such as a Distributed Message Hub
`(DMH) client class. In this case, the logic, which collects the
`process/tool events through the socket connection, can be
`revised to insert the events and their context data into a table
`in IS 150.
`The tool agent can send messages to provide event and
`context information to APC, system. For example, the tool
`agent can send lot start/stop messages, batch start/stop
`messages, wafer start/stop messages, recipe start/stop mes
`sages, and process start/stop messages. In addition, the tool
`agent can be used to send and/or receive set point data and
`to send and/or receive maintenance counter data.
`In one embodiment, a common tool agent can be installed
`on a plurality of processing tools. A common tool agent can
`allow the interface message format to be common. For
`example, a communication message format can comprise
`three parts: a message length, which is the length of message
`from message ID to terminator, a message ID, which is used
`
`40
`
`45
`
`FIG. 1 shows an exemplary block diagram of an APC
`system in a semiconductor manufacturing environment in
`30
`accordance with one embodiment of the present invention.
`In the illustrated embodiment, semiconductor manufactur
`ing environment 100 comprises at least one semiconductor
`processing tool 110, multiple process modules 120, PM1
`through PM4, multiple sensors 130 for monitoring the tool,
`35
`the modules, and processes, sensor interface 140, and APC
`system 145. APC system 145 can comprise interface server
`(IS) 150, APC server 160, client workstation 170, GUI
`component 180, and database 190. In one embodiment, IS
`150 can comprise a real-time memory database that can be
`viewed as a “Hub’.
`APC system 145 can comprise a tool level (TL) controller
`(not shown) for controlling at least one of a processing tool,
`a process module, and a sensor.
`In the illustrated embodiment, a single tool 110 is shown
`along with four process modules 120, but this is not required
`for the invention. The APC system 145 can interface with a
`number of processing tools including cluster tools having
`one or more process modules, and the APC system 145 can
`be used to configure and monitor a number of processing
`tools including cluster tools having one or more process
`modules. For example, the tools and their associated process
`modules can be used to perform etching, feature trimming,
`deposition, diffusion, cleaning, measurement, polishing,
`developing, transfer, storage, loading, unloading, aligning,
`temperature control, lithography, integrated metrology (IM),
`optical data profiling (ODP), particle detection, arc Suppres
`Sion, and other semiconductor manufacturing processes.
`An IM element can be arranged as a module (integrated
`metrology module: IMM) coupled to the processing tool.
`For example, IMM can be an ODP system (from Timbre
`Inc.) that measures and analyzes the shape of the features of
`the wafer.
`In one embodiment, processing tool 110 can comprise a
`tool agent (not shown), which can be a Software process that
`runs on a tool 110 and which can provide event information,
`context information, and start-stop timing commands used
`
`50
`
`55
`
`60
`
`65
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 15 of 30
`
`
`
`US 7,123,980 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`5
`for command and event identification; a message body,
`which contains the contents of the command or event. In
`addition, the message can use ASCII code, and the length
`can be changeable. Also, each message can be separated by
`a control code, and a terminator can be used. In an alternate
`embodiment, a dual agent can be established on the tool.
`When a processing tool comprises internal sensors, the
`processing tool can be considered a sensor, and this data can
`be sent to the APC system 145. Data files can be used to
`transfer this data. For example, Some processing tools can
`create trace files that are compressed in the tool when they
`are created. Compressed and/or uncompressed files can be
`transferred. When trace files are created in the processing
`tool, the trace data may or may not include end point
`detection (EPD) data. The trace data provides important
`information about the process. The trace data can be updated
`and transferred after the processing of a wafer is completed.
`Trace files are transferred to the proper directory for each
`process. In one embodiment, tool trace data, maintenance
`data, and EPD data can be obtained from a processing tool
`110.
`In FIG. 1 four process modules are shown, but this is not
`required for the invention. The semiconductor processing
`system can comprise any number of processing tools having
`any number of process modules associated with them and
`independent process modules. The APC system 145 (includ
`ing one or more TL controllers) can be used to configure,
`control, and monitor any number of processing tools having
`any number of process modules associated with them and
`independent process modules. The APC system can collect,
`provide, process, store, and display data from processes
`involving processing tools, process modules, and sensors.
`Process modules can be identified using data Such as ID,
`module type, gas parameters, and maintenance counters, and
`this data can be saved into a database. When a new process
`module is configured, this type of data can be provided using
`a module configuration panel/screen in GUI component 180.
`For example, the APC system can support the following tool
`types from Tokyo Electron Limited: Unity-related process
`40
`modules, Trias-related process modules, Telius-related pro
`cess modules, OES-related modules, and ODP-related mod
`ules. FIG. 2 shows an exemplary block diagram of a system
`from Tokyo Electron Inc. Alternately, the APC system can
`support other tools and their related process modules. For
`example, APC system 145 can be connected to process
`modules 120 via an Internet or intranet connection.
`The process module ID can be an integer; the number of
`gas parameters can depend on the module type, and the
`maintenance counter information can also depend on the
`module. For example, a user can assign a new name to a
`specific maintenance counter, assign it a special scale rate,
`and assign the tool pause function to this maintenance
`counter. General counters are provided as a part of mainte
`nance counters, and can be configured by the user.
`In the illustrated embodiment, a single sensor 130 is
`shown along with an associated process module, but this is
`not required for the invention. Any number of sensors can be
`coupled to a process module. Sensor 130 can comprise an
`ODP sensor, an OES sensor, a VIP sensor, an analog sensor,
`and other types of semiconductor processing sensors includ
`ing digital probes. The APC data management applications
`can be used to collect, process, Store, display, and output
`data from a variety of sensors.
`In the APC system, sensor data can be provided by both
`external and internal sources. External Sources can be
`defined using an external data recorder type; a data recorder
`
`50
`
`45
`
`55
`
`60
`
`65
`
`6
`object can be assigned to each external source; and a state
`variable representation can be used.
`Sensor configuration information combines sensor type
`and sensor instance parameters. A sensor type is a generic
`term that corresponds to the function of the sensor. A sensor
`instance pairs the sensor type to a specific sensor on a
`specific process module and tool. At least one sensor
`instance is configured for each physical sensor that is
`attached to a tool.
`For example, an OES sensor can be one type of sensor; a
`VI probe can be another type of sensor, and an analog sensor
`can be a different type of sensor. In addition, there can be
`additional generic types of sensors and additional specific
`types of sensors. A sensor type includes all of the variables
`that are needed to set up a particular kind of sensor at run
`time. These variables can be static (all sensors of this type
`have the same value), configurable by instance (each
`instance of the sensor type can have a unique value), or
`dynamically configurable by a data collection plan (each
`time the sensor is activated at run time, it can be given a
`different value).
`A “configurable by instance' variable can be the sensor/
`probe IP address. This address varies by instance (for each
`process chamber) but does not vary from run to run. A
`“configurable by data collection plan' variable can be a list
`of harmonic frequencies. These can be configured differently
`for each wafer based on the context information. For
`example, wafer context information can include tool ID,
`module ID, slot ID, recipe ID, cassette ID, start time and end
`time. There can be many instances of the same sensor type.
`A sensor instance corresponds to a specific piece of hard
`ware and connects a sensor type to the tool and/or process
`module (chamber). In other words, a sensor type is generic
`and a sensor instance is specific.
`As shown is FIG. 1, sensor interface 140 can be used to
`provide an interface between sensor 130 and the APC
`system 145. For example, APC system 145 can be connected
`to sensor interface 140 via an Internet or intranet connection,
`and sensor interface 140 can be connected to sensor 130 via
`an Internet or intranet connection. Also, sensor interface 140
`can act as a protocol converter, media converter, and data
`buffer. In addition, sensor interface 140 can provide real
`time functions, such as data acquisition, peer-to-peer com
`munications, and I/O scanning. Alternately, sensor interface
`140 can be eliminated, and the sensor 130 can be directly
`coupled to APC system 145.
`Sensor 130 can be a static or dynamic sensor. For
`example, a dynamic VI sensor can have its frequency range,
`sampling period, Scaling, triggering, and offset information
`established at run-time using parameters provided by a data
`collection plan. Sensor 130 can be an analog sensor that can
`be static and/or dynamic. For example, analog sensors can
`be used to provide data for ESC voltage, matcher param
`eters, gas parameters, flow rates, pressures, temperatures,
`RF parameters, and other process related data. Sensor 130
`can comprise at least one of a VIP probe, OES sensor,
`analog sensor, digital sensor, ODP sensor, and other semi
`conductor processing sensors.
`In one embodiment, a sensor interface can write the data
`points to a raw data file. For example, IS150 can send a start
`command to the sensor interface to initiate data acquisition
`and can send a stop command to cause the file to be closed.
`IS 150 can then read and parse the sensor data file, process
`the data and post the data values into the in-memory data
`tables. Alternately, the sensor interface could stream the data
`in real time to the IS 150. A switch could be provided to
`allow the sensor interface to write the file to disk. The sensor
`
`Applied Materials, Inc. Ex. 1005
`Applied v. Ocean, IPR Patent No. 6,836,691
`Page 16 of 30
`
`
`
`US 7,123,980 B2
`
`5
`
`10
`
`15
`
`7
`interface can also provide a method to read the file and
`stream the data points to the IS 150 for off-line processing
`and analysis.
`As shown in FIG. 1, APC system 145 can comprise a
`database 190. Tool maintenance data can be stored in
`database 190. In addition, raw data and trace data from the
`tool can be stored as files in the database 190. The amount
`of data depends on the data collection plans configured by
`the user, as well as the frequency with which processes are
`performed and processing tools are run. For example, data
`collection plans can be established for determining how and
`when to collect tool status and process-related data. The data
`obtained from the processing tools, the processing cham
`bers, the sensors, and the APC system is stored in tables.
`In one embodiment, the tables can be implemented in the
`IS150 as in-memory tables and in database 190 as persistent
`storage. The IS 150 can use Structured Query Language
`(SQL) for column and row creation as well as posting data
`to the tables. The tables can be duplicated in the persistent
`tables in database 190 (i.e., DB2 can be used) and can be
`populated using the same SQL statements.
`In the illustrated embodiment, IS 150 can be both an
`in-memory real-time database and a Subscription server. For
`example, client processes are able to perform database
`functions using SQL with the familiar programming model
`of relational data tables. In addition, the IS 150 can provide
`a data subscription service where the client software
`receives asynchronous notification whenever data that meets
`their selection criteria is inserted, updated, or deleted. A
`subscription uses the full power of an SQL select statement
`30
`to specify which table columns are of interest and what row
`selection criteria is used to filter future data change notifi
`cations.
`Because the IS 150 is both a database and a subscription
`server, clients can open “synchronized” Subscriptions to
`existing table data when they are initialized. The IS 150
`provides data synchronization through a publish/Subscribe
`mechanism, in-memory data tables, and Supervisory logic
`for marshalling events and alarms through the system. The
`IS 150 provides several messaging TCP/IP based technolo
`gies including sockets, UDP and publish/subscribe.
`For example, the IS 150 architecture can use multiple data
`hubs (i.e., SQL databases) that can provide real-time data
`management and Subscription functions. Application mod
`ules and user interfaces use SQL messages to access and
`45
`update information in the data hub(s