IP Library Granted Patent US 9,785,140
Granted Patent B2
US 9,785,140 · App. 11/340,101 · Granted Oct 10, 2017

Multi-protocol multi-client equipment server

Inventors: Charles M. Bayliss (Cincinnati, OH); Raymond W. Ellis (Austin, TX); Toni Guckert (Austin, TX); Timothy Yoas (Austin, TX)
Assignee: PEER Intellectual Property Inc.
G05B19/418G05B19/042H04L63/083H04L67/12H04L69/18G05B2219/45031
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,785,140
App. No.
11/340,101
Granted
Oct 10, 2017
Kind
B2
Abstract

A method and apparatus are disclosed for improving the implementation of automated job management for equipment in a factory. A multi-protocol multi-client equipment server is provided for communicating with equipment and clients utilizing multiple protocols. The equipment server incorporates an object model of each tool and communicates directly in real-time with factory equipment. By providing a multi-protocol multi-client platform, data consumer clients are effectively decoupled from job management clients, allowing next generation station controllers for monitoring and controlling equipment processing to be easily implemented.

Claims (51)

1. A multi-client multi-protocol equipment server for communicating with a tool which is a semiconductor manufacturing tool, comprising:

a plurality of host/client interfaces, at least one of said plurality of host/client interfaces for communicating with a manufacturing execution system;

a plurality of tool interfaces, at least one of said plurality of tool interfaces for communicating with the tool, wherein at least one of said plurality of tool interfaces is a Semi Equipment Communications Standard/Generic Model for Communications and Control of Manufacturing Equipment (SECS/GEM) interface; and

an equipment object model of the tool, wherein the equipment object model is a hierarchical data model and is based at least in part on the Specification for the Common Equipment Model (CEM) promulgated by Semiconductor Equipment and Materials International (SEMI), wherein the equipment object model includes static attributes received from an XML document that configures the SECS/GEM interface, dynamic attributes received from the tool acting as a synchronous source that is registered through a class that implements an interface and that immediately transmits a value for a first attribute upon being queried and acting as an asynchronous source that transmits a value for a second attribute upon a change in the value, and dynamic attributes set from a host application, wherein the tool acts as a mutable synchronous source that is registered through a class that implements an interface and that receives a new value for a third attribute when the new value is set and transmits a value for the third attribute upon being queried, wherein one or more applications are provided access to the equipment object model of the tool,

wherein at least one of said plurality of host/client interfaces is used to receive a query of what status the tool or its components are in, and wherein said equipment object model of the tool is used to respond to the query, via a synchronous data request to the tool acting as the synchronous source, to obtain the status of the tool or its components for response to the query,

a user interface that allows the creation and editing of said equipment object model based on said object model definition,

logic configured to, responsive to a command received through the user interface, validate said equipment object model of the tool against said object model definition, wherein validating said equipment object model includes determining whether said equipment object model adheres to the structure or format defined by the object model definition, and if so, then creating the equipment object model;

and wherein a computer executes the multi-client multi-protocol server.

2. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces is used for communicating with a tool performance application and wherein the tool performance application communicates with the tool based on said equipment object model of the tool.

3. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces is used for communicating with a spreadsheet application and wherein the spreadsheet application communicates with the tool based on said equipment object model of the tool.

4. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces is used for communicating with a Web browser-based remote diagnostics application and wherein the Web browser-based remote diagnostics application communicates with the tool based on said equipment object model of the tool.

5. The multi-client multi-protocol equipment server of claim 1 , wherein a first one of said plurality of host/client interfaces is used for communicating with the manufacturing execution system, wherein a second one of said plurality of host/client interfaces is used for communicating with a second client, and wherein the manufacturing execution system communicates with the tool concurrently with the second client communicating with the tool, based on said equipment object model of the tool.

6. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces is used to receive a query of the physical or logical make-up of the tool, and wherein said equipment object model of the tool is used to respond to the query.

7. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces is used to communicate that an event associated with the tool has occurred, and wherein said equipment object model is used in the communication of the event, via asynchronous data collection from the tool acting as the asynchronous source to update an attribute indicating that the event has occurred.

8. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces comprises an interface based at least in part on the Generic Model for Communications and Control of Manufacturing Equipment (GEM) promulgated by Semiconductor Equipment and Materials International (SEMI) and wherein the manufacturing execution system communicates through said GEM interface.

9. The multi-client multi-protocol equipment server of claim 1 , wherein the dynamic attributes received from the tool include an observable for temperature and an observable for maximum allowed pressure (MaxAllowedPressure).

10. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of host/client interfaces comprises a .NET Framework interface, wherein the manufacturing execution system communicates through said .NET Framework interface.

11. The multi-client multi-protocol equipment server of claim 1 , wherein at least one of said plurality of said tool interfaces comprises a .NET Framework interface, wherein the tool communicates through said .NET Framework interface.

12. The multi-client multi-protocol equipment server of claim 1 , wherein the user interface is a graphical user interface.

13. A method for establishing communication between a tool which is a semiconductor manufacturing tool and a plurality of clients through a plurality of protocols, comprising the steps of:

configuring at least one of a plurality of host/client interfaces to communicate with a manufacturing execution system;

configuring at least one of a plurality of tool interfaces for communicating with the tool, wherein at least one of said plurality of tool interfaces is a Semi Equipment Communications Standard/Generic Model for Communications and Control of Manufacturing Equipment (SECS/GEM) interface; and

defining an equipment object model of the tool, wherein said equipment object model is a hierarchical data model and is based at least in part on the Specification for the Common Equipment Model (CEM) promulgated by Semiconductor Equipment and Materials International (SEMI), wherein the equipment object model includes static attributes received from an XML document that configures the SECS/GEM interface, dynamic attributes received from the tool acting as a synchronous source that is registered through a class that implements an interface and that immediately transmits a value for a first attribute upon being queried and acting as an asynchronous source that is registered through a class that implements an interface and that transmits a value for a second attribute upon a change in the value, and dynamic attributes set from a host application, wherein the tool acts as a mutable synchronous source that receives a new value for a third attribute when the new value is set and transmits a value for the third attribute upon being queried, wherein one or more applications are provided access to the equipment object model of the tool,

wherein at least one of said plurality of host/client interfaces is used to receive a query of what status the tool or its components are in, and wherein said equipment object model of the tool is used to respond to the query, via a synchronous data request to the tool acting as the synchronous source, to obtain the status of the tool or its components for response to the query,

providing a user interface that allows the creation and editing of said equipment object model based on said object model definition,

responsive to a command received through the user interface, validating said equipment object model of the tool against said object model definition, wherein validating said equipment object model includes determining whether said equipment object model adheres to the structure or format defined by the object model definition, and if so, then creating the equipment object model;

and wherein a computer executes each of the steps in the method.

14. The method for establishing communication of claim 13 , further comprising the step of:

configuring at least one of said plurality of host/client interfaces to communicate with a tool performance application and wherein the tool performance application communicates with the tool based on said equipment object model of the tool.

15. The method for establishing communication of claim 13 , further comprising the step of:

configuring at least one of said plurality of host/client interfaces to communicate with a spreadsheet application and wherein the spreadsheet application communicates with the tool based on said equipment object model of the tool.

16. The method for establishing communication of claim 13 , further comprising the step of:

configuring at least one of said plurality of host/client interfaces to communicate with a Web browser-based remote diagnostics application and wherein the Web browser-based remote diagnostics application communicates with the tool based on said equipment object model of the tool.

17. The method for establishing communication of claim 13 , further comprising the step of:

configuring at least one of said plurality of host/client interfaces to communicate with a second client, wherein the manufacturing execution system communicates with the tool concurrently with the second client communicating with the tool, based on said equipment object model of the tool.

18. The method for establishing communication of claim 13 , wherein at least one of said plurality of host/client interfaces is used to receive a query of the physical or logical make-up of the tool, and wherein said equipment object model of the tool is used to respond to the query.

19. The method for establishing communication of claim 13 , wherein at least one of said plurality of host/client interfaces is used to communicate that an event associated with the tool has occurred, and wherein said equipment object model is used in the communication of the event, via asynchronous data collection from the tool acting as the asynchronous source to update an attribute indicating that the event has occurred.

20. The method for establishing communication of claim 13 , wherein at least one of said plurality of host/client interfaces comprises an interface based at least in part on the Generic Model for Communications and Control of Manufacturing Equipment (GEM) promulgated by Semiconductor Equipment and Materials International (SEMI) and wherein the manufacturing execution system communicates through said GEM interface.

21. The method for establishing communication of claim 13 , the dynamic attributes received from the tool include an observable for temperature and an observable for maximum allowed pressure (MaxAllowedPressure).

22. The method for establishing communication of claim 13 , wherein at least one of said plurality of host/client interfaces comprises a .NET Framework interface, wherein the manufacturing execution system communicates though said .NET interface.

23. The method for establishing communication of claim 13 , wherein at least one of said plurality of said tool interfaces comprises a .NET Framework interface, wherein the tool communicates through said .NET Framework interface.

24. The method for establishing communication of claim 13 , wherein the user interface is a graphical user interface.

25. A computer program product for use with an equipment server that incorporates an equipment object model of at least one tool which is a semiconductor manufacturing tool, comprising the computer program product having program instructions that, when executed by the equipment server, cause said equipment server to perform the following operations:

providing a graphical user interface; and

defining an object model definition, wherein said object model definition specifies the structure and format of an equipment object model of the tool, wherein said equipment object model is a hierarchical data model and is based at least in part on the Specification for the Common Equipment Model (CEM) promulgated by Semiconductor Equipment and Materials International (SEMI), wherein the equipment server includes a plurality of tool interfaces for communicating with the tool and at least one of said plurality of tool interfaces is a Semi Equipment Communications Standard/Generic Model for Communications and Control of Manufacturing Equipment (SECS/GEM) interface, wherein the equipment object model includes static attributes received from an XML document that configures the SECS/GEM interface, dynamic attributes received from the tool acting as a synchronous source that is registered through a class that implements an interface and that immediately transmits a value for a first attribute upon being queried and acting as an asynchronous source that transmits a value for a second attribute upon a change in the value, and dynamic attributes set from a host application, wherein the tool acts as a mutable synchronous source that is registered through a class that implements an interface and that receives a new value for a third attribute when the new value is set and transmits a value for the third attribute upon being queried,

wherein said graphical user interface allows the creation and editing of said equipment object model based on said object model definition,

responsive to a command received through the user interface, validating said equipment object model of the tool against said object model definition, wherein validating said equipment object model includes determining whether said equipment object model adheres to the structure or format defined by the object model definition, and if so, then creating the equipment object model;

and wherein the computer program product is stored in a non-transitory medium capable of being read by a computer.

26. The computer program product of claim 25 , wherein said object model definition is an XML schema, formatted according to the XML schema definition language.

27. The computer program product of claim 25 , wherein said equipment object model is generated in an XML file.

28. The computer program product of claim 25 , wherein the user interface is a graphical user interface.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2009
From: ASYST TECHNOLOGIES, INC.
To: PEER INTELLECTUAL PROPERTY INC.
Reel/Frame 023409/0353 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2007
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ASYST TECHNOLOGIES, INC.; ASYST JAPAN, INC.
Reel/Frame 019733/0967 →
SECURITY AGREEMENT Recorded Aug 15, 2007
From: ASYST TECHNOLOGIES, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 019699/0165 →
SECURITY AGREEMENT Recorded Sep 27, 2006
From: ASYST TECHNOLOGIES, INC.; ASYST JAPAN, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 018303/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2006
From: BAYLISS, CHARLES; ELLIS, RAYMOND; GUCKERT, TONI; YOAS, TIMOTHY
To: ASYST TECHNOLOGIES, INC.
Reel/Frame 018162/0582 →
Continuity (17)
Continuation In Part 09496009 · Feb 1, 2000
Continuation In Part 09899833 · Jul 5, 2001
Continuation In Part 11107508 · Apr 15, 2005
Provisional Application 60649207 · Feb 2, 2005
Provisional Application 60649754 · Feb 2, 2005
Provisional Application 60649755 · Feb 2, 2005
Provisional Application 60649756 · Feb 2, 2005
Provisional Application 60649757 · Feb 2, 2005
Provisional Application 60649758 · Feb 2, 2005
Provisional Application 60649759 · Feb 2, 2005
Provisional Application 60649763 · Feb 2, 2005
Provisional Application 60649764 · Feb 2, 2005
Provisional Application 60649765 · Feb 2, 2005
Provisional Application 60649768 · Feb 2, 2005
Provisional Application 60649898 · Feb 2, 2005
Provisional Application 60650441 · Feb 2, 2005
Related Publication 20060277289A1 · Dec 7, 2006