Industry News, Trends and Technology, and Standards Updates

Semiconductor Backend Processes: Additional SEMI Standards Related to GEM

Posted by Brian Rubow: Director of Solutions Engineering on Jul 9, 2020 11:30:00 AM


In a few previous blogs I shared how the relatively new SEMI Advanced Backend Factory Integration (ABFI) task force in North America has already decided to promote the adoption of the GEM standard and selective adoption of the GEM300 equipment communication standards. In this blog I will summarize the task force’s plans to consider adoption of additional SEMI information and control standards that are complementary to GEM and GEM300.

Additional SEMI Standards for the Backend Consideration

Many of the standards listed below were developed a few years after GEM300 but are now considered to be part of the modern GEM300 set.

SEMI Designation

Standard Name


Specification for Enhanced Carrier Handoff Parallel I/O Interface


Specification for Equipment Performance Tracking


Specification for SECS-II Protocol for Equipment Performance Tracking (EPT)


Specification for Substrate Mapping


Specification for XML Schema for Substrate Mapping


Specification for SECS-II Protocol for Substrate Mapping


Specification for Time Synchronization and Definition of the TS-Clock Object


Specification for Module Process Tracking


Specification for SECS Equipment Data Dictionary (SEDD)


Specification for XML SECS-II Message Notation (SMN)


E84 Carrier Handoff

E84 Carrier Handoff is the only standard in this list that not a GEM standard because it deals with a separate parallel I/O interface. This interface is completely independent of GEM, although it is coordinated with E87 Carrier Management when both are supported. However, since E84 Carrier Handoff is often included in the GEM300 discussions and requirements, it is worth discussing here because it is a standard that the Backend industry should selectively adopt.


The E84 standard defines the handshake signals for use in a parallel I/O (PIO) interface to automate carrier delivery and carrier removal. The automated material handling system (AMHS) might use either an automated guided vehicle (AGV) or overhead transport (OHT) system, yet either way, the material is delivered in a carrier. E84 is widely used and accepted in every semiconductor wafer fab (front end) and an obvious choice for backend manufacturing when delivering carriers.

E116 Specification for Equipment Performance Tracking

E116 Equipment Performance Tracking was discussed in an earlier blog since there are plans to update this specification to better support backend operations. E116 is applicable to any manufacturing equipment in any industry because it is largely based on SEMI E10 principles which define generic terms for measuring any equipment’s reliability, availability and maintainability. As a bonus, each major component in the equipment can also be modelled to track its productivity.

E142 Specification for Substrate Mapping

E142 Substrate Mapping and its subordinate standards (E142.1 XML Schema for Substrate Mapping and E142.2 SECS-II Protocol for Substrate Mapping) define generic substrate maps and how to transfer them to and from an equipment through a GEM interface. Substrate maps are two dimensional arrays of data that correspond to a physical substrate—which may be a wafer, strip or tray. The map defines the dimensions of the substrate, significant locations on the substrate, and can include data about the locations (such as a numbering scheme for unambiguously identifying specific locations). For example, E142 can be used to tag “known good” devices on a substrate.

Some equipment types require a substrate map before processing can proceed. Some equipment can generate substrate maps. And some equipment both require a substrate map before processing and generate an updated substrate map after processing is completed. In E142, the substrate map is expressed in an XML file that conforms with the E142 XML schema. A lot of backend equipment need substrate maps for normal operation, so E142 is an obvious choice. Note that E142 is currently undergoing some interesting improvements via the ABFI task force to store additional data needed to address enhanced traceability requirements.

Substrate mapping is an excellent demonstration of horizontal communication implemented using GEM. Horizontal communication is when data is shared directly from one equipment to another equipment. Traditionally, horizontal communication in GEM is implemented indirectly; one equipment passes data to the host and then the host passes that data on to the equipment that needs it. In this sense, the GEM host acts as a type of broker between units of equipment.

There are significant advantages in using this indirect style of horizontal communication. For example, Equipment A might inspect a substrate, generate a substrate map and send it to the host. Equipment B might later request the substrate map from the host.

GEM-backend-2-2The benefit of using a GEM host between the equipment to realize this use case is that both Equipment A and Equipment B are only required to implement GEM—which they should be doing anyway. The equipment are not required to support additional protocols and/or custom message sequences, or to be tested against specific equipment interfaces. If each equipment follows the GEM standard, they can all be integrated into the factory system and share data through the GEM host.

E148 Specification for Time Synchronization and Definition of the TS-Clock Object

A lot of data collected in the factory is only useful when properly timestamped. Moreover, timestamps can only be compared among data from multiple sources when those timestamps are synchronized. This is where SEMI E148 enters the picture.

The E148 Time Synchronization specification requires equipment to support the industry standard Network Time Protocol (NTP) and share information about its implementation. And NTP software synchronizes computer clocks.

Because the backend industry segment is trending towards more and more data collection, it is critical to have proper timestamping for that data, and therefore time synchronization for its sources. A full E148 implementation may not be required, but certainly the equipment should support NTP as described in E148. If an equipment control systems is composed of multiple computers, E148 states that they should all be synchronized with a single computer designated as the master, which is a good idea if the other computers are generating data with timestamps.

E157 Specification for Module Process Tracking

E157 Module Process Tracking does not apply to all backend equipment. To use E157 Module Process Tracking, there must be at least one process module (aka a process chamber) which processes one substrate or a batch of material at a time. If multiple substrates are processed at a time but each having different start and stop times, then this specification cannot be applied.

E157 Module Process Tracking defines a very simple processing state model which is implemented independently for each process chamber.

GEM-backend-2-3The state model reports when the process chamber is either idle (Not Executing) or processing a recipe (Executing). And when processing a recipe, each time an individual step in the recipe starts, completes, or fails, this is reported. It is up to the implementer to decide what constitutes a recipe step. In my experience, most equipment that could adopt E157 have already implemented something very similar using a set of GEM events. However, rather than implementing something custom, it is better for end users and equipment manufacturers alike if the implementations are standardized.

E157 is a prime example of an exceptionally simple and well-written standard built on top of GEM technology that is easy to implement and provides a lot of end user value. Hopefully the ABFI task force can develop something based on E157 principles that is well suited for backend equipment that cannot accommodate the full scope of the current standard.

E172 Specification for SECS Equipment Data Dictionary (SEDD)

Go back in time (not that far, actually), and “GEM documentation” meant a stack of printed documentation on paper that was expected to be delivered with the equipment. Today “GEM documentation” means an MS Word document, PDF file, Excel spreadsheet, or some other electronic representation of the same information. Nearly any digital format is acceptable.

Nevertheless, E172 SECS Equipment Data Dictionary is the future of GEM documentation. The GEM documentation is provided in a standardized electronic XML format called an SEDD file. E172 defines a standard XML schema. The initial version of this schema included only basic information about a GEM interface. This was expanded in a later version to include several more details. Soon, I hope to report that the E30 GEM standard has been modified to officially include SEDD files as one form of documentation. Additionally, this should include enhancing the GEM standard to allow an SEDD file to be transferred directly through the GEM interface. This will significantly improve GEM’s plug-and-play capability by enabling factory host software to consume an SEDD file and automatically configure the GEM host software to support an equipment’s specific implementation of GEM and GEM messages.

As the backend industry segment is increasingly implementing GEM in its factories, I expect SEDD files to be required from all backend equipment manufacturers.

E173 Specification for XML SECS-II Message Notation (SMN)

In order to diagnose problems in a GEM interface, it is essential to have logging for the GEM messages transferred between the host and equipment. Typically, both the GEM host and equipment’s GEM interface will provide logging functionality. In the past, a notation called SML (SECS Message Language) was used for logging GEM messages. Unfortunately, SML was never standardized or even sufficiently well defined. As result, there are many different variations of SML throughout the world. While SML notation itself is relatively easy to generate with software, the breadth of implementation variations makes it difficult to automatically parse and use.

Fortunately, the SEMI North America GEM300 task force created E173 XML SECS-II Message Notation (SMN) to solve this problem. SMN defines an XML schema that anyone can use to document and log GEM SECS-II messages. The schema is feature rich allowing for both minimum and elaborate XML decoration. As an example of its usefulness and flexibility, the E172 SEDD schema references the SMN schema file. Because SMN is based on XML, it is both very easy for software to generate and consume. There are numerous software tools and libraries available in virtually every software programming language for working with XML. Using SMN with GEM allows GEM to continue to send and receive messages in an efficient binary format, yet still enjoy the benefits of using a decorated, human-readable text notation for diagnosing issues.

I expect the ABFI task force to recommend that the backend industry segment adopt SMN in all equipment GEM interfaces.


As backend factories adopt GEM, we expect that they will also want to use the latest technologies with it, including SMN, SEDD, Module Process Tracking and Equipment Performance Tracking. Watch for more details and updates from the SEMI Advanced Backend Factory Integration task force as its work progresses—and feel free to join this initiative if you want to help steer and accelerate this activity!

To download the GEM300 White Paper, click the button below.



Topics: Industry Highlights, Equipment Control-Software Products, Doing Business with Cimetrix, Cimetrix Company Culture, Meet Our Team, GEM300

Semiconductor Back End Processes: Selective GEM300 Adoption

Posted by Brian Rubow: Director of Solutions Engineering on Jun 24, 2020 11:15:00 AM

GEM and GEM300 Adoption

In a previous blog I shared how the relatively new SEMI task force in North America called “Advanced Back End Factory Integration” (ABFI) has already decided to promote the adoption of the GEM standard. In this blog I will explain how the task force is also planning to selectively adopt what is often called the GEM300 set of standards. I say “planning” because this is a work in progress and subject to the standardization process in which we strive for consensus among the participants. However, one can argue that this plan should not be particularly controversial since the GEM300 standards have already been adopted by several major manufacturers of semiconductor back end equipment.

What are the GEM300 Standards?

There is no official “GEM300” definition, but at a minimum, all the experts agree that the GEM300 set of SEMI standards includes the following:

SEMI Designation

Standard Name


Specification for SEMI Equipment Communications Standard 2 Message Content (SECS-II)


Specification for the Generic Model for Communications and Control of Manufacturing Equipment (GEM)


Specification for High-Speed SECS Message Services (HSMS) Generic Services


Specification for High-Speed SECS Message Services Single Selected-Session Mode (HSMS-SS)


Object Services Standard: Concepts, Behavior, and Services


SECS-II Protocol for Object Services Standard (OSS)


Standard for Processing Management


Specification for SECS-II Support for Processing Management


Specification for Carrier Management (CMS)


Specification for SECS-II Protocol for Carrier Management (CMS)


Specification for Substrate Tracking


Specification for SECS-II Protocol for Substrate Tracking


Specification for Control Job Management


Specification for SECS-II Protocol for Control Job Management (CJM)


Seen together like this in a table, it seems like a lot to study and learn. And it is daunting. However, it is important to remember that most of the primary standards (like E87 and E90) also have a subordinate standard (like E87.1 and E90.1) that defines how to implement the standard using SECS-II. Although this nearly doubles the length of the list, these “.1” standards are really just extensions of the primary standard, and are all relatively short specifications. Each of these core GEM300 standards defines specifically how to use and augment the GEM standard to implement specific factory automation requirements and production operational scenarios. Basically, they work together like this:


SEMI E37 (High-Speed SECS Messaging Services), E5 (SECS-II) and E30 (GEM) are the core standards for any modern GEM implementation—regardless of the GEM300 additions—so of course they apply. Each of the additional GEM300 standards builds on top of E30 and E5 to define general features for data collection, alarm handling, collection event reporting and the messaging library. For example, E87 (Carrier Management) deals with the load port services, carrier delivery, and carrier removal. E90 (Substrate Tracking) reports all substrate movement from the carrier to the process chamber and any intermediate movement. E40 (Processing Management) and E94 (Control Job Management) determine which substrates to process, which recipes to use and the substrate destinations. Finally, E39 (Object Services) defines general object handling for all of the standards.

Even though the diagram shows silicon wafers—since semiconductor front end factories use this set of GEM300 standards nearly universally—their applicability goes well beyond 300mm silicon wafer processing. However, if an equipment does not deal with the substrates (material) or substrate delivery directly, then it is best just implementing GEM rather than GEM300.

How can these SEMI standards be applied to other equipment?

E87 Carrier Management

Certainly, any equipment dealing with a FOUP (front-opening universal pod) that holds silicon wafers can adopt E87 Carrier Management to manage the load ports and carrier validation. But E87 Carrier Management is written in a manner flexible enough that equipment handling many other types of material can adopt it. Here are the criteria:

    1. The material arrives in a container of some sort.

      The shape of the container, the number of slots in the container and the orientation of the slots do not matter. The container can be a rectangular tray with pockets. It can also be round with pockets. E87 Carrier Management refers to these containers as carriers.
    2. The material slots in the container can be ordered.

      In a FOUP, the material is in a horizontally stacked orientation. However, the principles of E87 Carrier Management can also apply to other material orientations. Whatever the container type, there needs to be clearly defined slot numbering. E87 Carrier Management only defines the order for a stacked container; therefore, other container styles need standardization.

With these two criteria, E87 Carrier Management can be applied to add value to the equipment by supporting an increased level of factory automation.

What features determine whether E87 Carrier Management can be adopted?

    1. Carrier (Container) ID

      If there is a carrier ID of some sort, it is of course very useful for implementing carrier ID verification. The carrier ID can be a barcode or any other type of identifier. But even if there is no carrier ID (even a barcode would suffice), then while under remote control the host can assign an ID to the carrier. Alternatively, while under local control the equipment software can generate a unique carrier ID.

    2. Carrier (Container) ID Reader

      E87 Carrier Management anticipated that a unit of equipment might not have a carrier ID reader. It also anticipated that a carrier ID reader might be out of service or defective, and therefore should be ignored. Not having a carrier ID reader means that you will not have the benefit of verifying that the correct container has arrived.

    3. Number of Slots in the Container

      A standard FOUP for silicon wafers has 25 slots. But the number of slots in a container is not limited or restricted.

When can’t E87 Carrier Management be applied?

For E87 Carrier Management to be applied, the material needs to arrive and/or depart in some sort of container. If material arrives and departs continuously without any container, such as on a conveyor, then there is no container or load port for E87 Carrier Management to manage. Of course, GEM can still be applied without E87 and the other GEM300 standards, although E90 Substrate Tracking might still be useful.

What are the benefits of using E87 Carrier Management?

E87 Carrier Management provides quite a few benefits to any equipment that can adopt it.

  • Confirmation that the correct container arrived at the equipment
  • Confirmation that the container has the expected material in its various locations
  • Reporting current load port states (e.g., occupied, ready for unloading, ready for loading)
  • Placing a load port in and out of service, such as for maintenance and repair
  • Notifying the equipment when a container will be arriving
  • Managing container storage
  • Reporting when the material from a container is nearly completed processing
  • Load port identification
  • Assigning substrate IDs

E90 Substrate Tracking

The “substrate” term is not restricted to silicon wafers, but rather applies to any type of product material. This generalization of the substrate term means that E90 Substrate Tracking can be applied to many different types of equipment.

Normally substrate tracking is considered in terms of fixed substrate locations, such as a slot in a container, a specific location in a pre-aligner, the end effector of a robot arm, or a specific process chamber. However, just a like a robot for handling silicon wafers can have multiple arms for handling multiple substrates, a conveyor can be similarly modeled to have multiple substrate locations. For example, if a conveyor can hold 50 small substrates at a time, then it could be modeled with 50 substrate locations for high-precision material tracking. Doing so allows E90 to be used to track substrates even while on a conveyor. The time each substrate is placed on a conveyor can be used to deduce the order of the material on the conveyor.

E90 Substrate Tracking also provides for substrate ID verification. This is only possible when the substrates have an identification code that can be read, such as a barcode or 2D data matrix, and when the equipment has the hardware capable of reading the identification code. When both are present, substrate ID verification can allow the factory to confirm each substrate before processing, and thereby reduce scrap.

When an equipment transports and processes multiple units of material internally using any type of container, it is called batch processing. E90 Substrate Tracking also supports this method by identifying batch locations and by providing data collection features specific to batch movement.

When can’t E90 Substrate Tracking be applied?

In order to use E90 Substrate Tracking, the equipment must have at least two substrate locations and work with some type of substrate. Without these there is no benefit in implementing E90 Substrate Tracking.

What are the benefits of using E90 Substrate Tracking?

E90 Substrate Tracking provides many benefits to any equipment that handles material.
  • Providing history of substrate movement, including timestamps for each location change
  • Substrate identification
  • Substrate location identification
  • Factory substrate verification, including the automated rejection of invalid substrates
  • Providing processing status for each substrate
  • Implementing virtual substrate tracking for lost substrates

E40 Processing Management

E40 Processing Management creates a list of materials to process and the name of the recipe to use. When using silicon wafer substrates, this list is either in the form of a carrier ID and a set of slot numbers, or a list of substrate IDs.

When can’t E40 Processing Management be applied?

If an equipment processes material continuously without having a discrete set of material that is known and identified ahead of time, you cannot apply E40 Processing Management. E40 Processing Management assumes that you have a specific set of material to process. If each substrate is simply processed as it arrives, then you are better off just using GEM’s PP-SELECT remote command to choose the correct recipe.

What are the benefits of using E40 Processing Management?

E40 Processing Management provides multiple benefits when it can be applied to an equipment:

  • Easily configure the equipment to process a specific set of material with a specific recipe. For example, 20 substrates can all be processed with the same recipe, or each with a different recipe.
  • Allows the equipment to support process tuning in which specific default settings in a selected recipe can be overwritten with new values. This is far easier than creating a proliferation of nearly identical recipes.

E94 Control Job Management

E40 Processing Management can be used in a standalone fashion but is usually implemented in conjunction with E94 Control Job Management. I recommend implementing both. Even if you don’t need all the extra features of Control Job Management, it adds very little overhead and is easy to use.

When can’t E94 Control Job Management be applied?

E94 Control Job Management cannot be used without E40 Processing Management, because its primary function is to manage the E40 process jobs. Therefore, its applicability is subject to the same criteria as E40 Processing Management.

What are the benefits of using E94 Control Job Management?

E94 Control Job Management has some features that benefit some equipment:

  • Allows material to arrive in one container and depart in another. This is beneficial when the source container needs to be kept uncontaminated by the effects of a process.
  • Allows material to be sorted based on some criteria. This is beneficial when sorting takes place based on inspection and/or other conditions, and the material is subsequently routed to different destination containers based on the sorting.
  • Manages a set of process jobs. For example, one can abort, pause or resume all process jobs.

How does all of this apply to the back end industry segment?

Factories must decide if they want the benefits of GEM300. Although E90 Substrate Tracking can be applied to most equipment, E87 Carrier Management, E40 Processing Management and E94 Control Job Management are only applicable to the equipment that deliver and/or remove material in containers. The features of each standard may not seem remarkable in and of themselves, but it is important to remember that these features have been implemented in a standardized way that many equipment manufacturers and their factory customers around the world have all agreed to follow—and that is truly remarkable.

One of the primary benefits of the GEM300 standards is the factory’s ability to move material to the equipment and process it in any order. The term “process” is used very loosely with the understanding that in addition to material transformation, inspection, metrology, sorting, testing, packaging, and other manufacturing activities are all types of processing. The material can be moved from any equipment to any equipment. This flexibility is a key to the success of modern integrated circuit manufacturing. It allows for the fabrication of many products without moving equipment or setting up conveyors. It allows process steps to be added or removed at any time. It enables the optimum use of inspection and metrology equipment since the same equipment can be used before and after any process step. The GEM300 standards directly support this flexibility.

The SEMI Advanced Back End Factory Integration task force plans to standardize the criteria for determining which standards apply based on an equipment’s functionality. What I’ve explained in this posting is just the starting point for this work—there is much more to be done. We welcome more participants on the task force to ensure the standardization is done accurately and efficiently.

Contact Us

Topics: Industry Highlights, Equipment Control-Software Products, Doing Business with Cimetrix, Cimetrix Company Culture, Meet Our Team, GEM300

How we helped a customer deliver a GEM-compliant equipment using CCF

Posted by Rich Kingsford; Project Manager, CCF Services on Jun 4, 2020 2:30:00 PM

Welcome to the first posting in the Cimetrix CIMControlFramework (CCF) Services blog series! While Cimetrix has been providing professional services for many years, in order to better serve the growing demand from many new equipment maker customers worldwide that have purchased our CCF product, Cimetrix earlier this year formed a new CCF Services group, reporting directly to the CEO. Being a senior developer at Cimetrix for the past 15 years in a variety of positions, I was delighted when asked to lead this group. We have an outstanding team of software engineers highly experienced in factory automation, equipment control software and SEMI standards. We are dedicated to ensuring our customers’ success by providing training, consulting, and developing custom solutions for our CCF customers. We love learning about the myriad ways that companies can integrate CCF with their equipment to meet the material handling and factory automation requirements of their factory customers. Our goal for these articles is to share some of the lessons learned and other implementation insights to help you efficiently build manufacturing equipment that is sophisticated, robust, and productive. To this end, our first posting will deal with one of the most common requests we get – enjoy!

- Forward by Brent Forsgren, Director of CCF Services

How we helped a customer deliver a GEM-compliant equipment using CCF

The Goal

One of our recent customers wanted to build a new type of LED manufacturing equipment that could be controlled by a Factory Host using the standard GEM Remote Commands: PP_SELECT (Process Program Select), START, STOP, ABORT, PAUSE and RESUME. The equipment could be delivered in a variety of physical configurations, including 1-to-multiple source cassettes for product material, and 1-to-multiple process modules. It also had multiple destination cassettes to be filled according to the post-process analysis results. The initial instance of the equipment had 4 loadports (LPs) and four process modules (PMs).

The functional requirements were clear – that was the good news. Now for the rest of the story… the project schedule and budget constraints were closing in, so we needed to work quickly and efficiently with the customer to get it done. Sound familiar?

The Approach

The Cimetrix CCF Services team always works closely with the software team of the equipment manufacturer. In this case, we started with one week of mutual discovery and in-depth hands-on training. Team members were fully engaged and picked up the CCF capabilities very quickly. This included even some of the more advanced features, such as developing a scheduler that would control the components of the customer’s application. We regularly fine tune training modules to 1) introduce CCF concepts, 2) expose common challenges and potential approaches, and 3) provide realistic implementation practice exercises. As anticipated, the customer was able to use the results of the training exercises in the actual equipment control solution. We also kicked off the project with our work-breakdown exercise to more deeply explore the unique requirements for their specific equipment type.

After an intense first week, everyone on the project team concluded that CCF would in fact be a strong match for their needs. CCF features direct integration with our CIMConnect, CIM300, and CIMPortal connectivity products to provide full GEM, GEM300 and EDA compliance. Because the Cimetrix connectivity products are deployed in every semiconductor 300mm factory in the world, our customers can be assured that they will meet their customer’s factory automation requirements. In this application, the end customer’s LED factory only required GEM.

To address requirements that may go beyond the basic GEM standards, CCF also provides support for custom remote commands, data publication, and alarm management. Finally, CCF supports integrating custom hardware devices using CCF’s base Equipment Classes.

To prove all was working, we chose the Cimetrix EquipmentTest product to develop and execute a set of unit tests that emulate communications with the factory software using GEM messages. This was not intended to be a comprehensive set, but rather just enough to show the equipment passed round-trip system testing. In this context, round trip means showing that the equipment can move material from the incoming cassette to the aligner to the process module and back into the cassette. EquipmentTest also supports editing message settings and parameters on the fly to experiment with different configurations of a round-trip test.

The Challenge: “The Host is unavailable, but we need to validate that the equipment is both GEM compliant and accomplishes the communication flows the end user requires.”

We get this challenge a lot… Our customers almost always develop the host interface and the embedded control software in parallel and integrate them later in the project. This makes sense at one level, but it does introduce a “chicken and egg” problem for testing this kind of GEM interface. In particular, how can our customer provide evidence that the solution will work with the factory host without testing with the actual host system? Our answer: apply our EquipmentTest custom plugin capability to simulate the end user’s host so we can validate all necessary communication between host and equipment.

Our protocol validation product, EquipmentTest, makes it possible to simulate communications between an equipment control implementation and the host. And although it is impractical to implement scenarios for every possible interaction, we can create enough representative scenarios to be confident the “happy path” (i.e., no errors) will work and that the interface will handle a large handful of “sad path” cases as well.



We passed all the tests! “Let’s go get some tacos.”

Specifically, we validated that the communications interface supported…

  • Standard GEM Remote Commands
  • Custom Remote Commands
  • Material tracking
  • Data publication

In closing, we must emphasize that our customer should take most of the credit here. Nevertheless, we enjoyed observing, consulting, and testing the equipment. It is always gratifying to see the CCF solution fit so seamlessly into the hardware, execute its commands with optimal timing, and not break anything in the process! Truly a successful, joint team effort.

If the situation above resonates with your current challenges and past experiences, give us a call. We look forward to working with your software engineering team to speed your time-to-market and deliver a high-quality solution quickly, allowing your team members to focus on developing value-added functionality for your customers.

Topics: Industry Highlights, Equipment Control-Software Products, Doing Business with Cimetrix, Cimetrix Company Culture, Meet Our Team, GEM300

CCF为实施工厂自动化提供了一条捷径: CCF Gives an Easy Way to Implement Factory Automation

Posted by Yufeng Huang; Software Engineer China on May 10, 2018 11:37:00 AM

Yufeng Huang of Cimetrix China, talks about Equipment Control in the factory. Read now in Chinese or below in English.

在和半导体设备制造公司的接触中我们遇到这么一个尴尬的问题,很多懂得设备控制的优秀软件工程师对于GEM,GEM300和EDA标准不是很有经验。这些公司往往是在设备在实验室研发成功,准备产业化送入客户工厂时发现设备没有实现或只有部分实现GEM/GEM300标准,尤其是当客户工厂要求EDA(Interface A)通信接口的时候,这些设备制造商的软件工程师往往一脸茫然,不知道如何在短时间内开发出完全遵循GEM/GEM300/EDA标准的软件。


Cimetrix Control FrameworkTM (CCF)
是基于微软.Net技术的设备自动化控制软件框架,该软件不仅为设备制造厂商提供了监督控制和生产控制框架代码,而且完全实现了GEM/GEM300/EDA标准。借助CCF软件平台,软件工程师无需深刻掌握工厂自动化的所有SEMI标准,就能轻松变身为工厂自动化开发专家。CCF软件框架内的工厂自动化模块基于Cimetrix公司的CIMConnect,CIM300,CIMPortal Plus三个独立的软件开发套件(SDK)实现,分别对于实现GEM,GEM300,和EDA标准。全球任意一家300mm的芯片制造工厂都有安装了CIM300软件的设备运行,在支持EDA数据采集的工厂都有安装了CIMPortal Plus软件的设备运行。CCF软件框架将所有工厂自动化的开发工作交给Cimetrix公司来完成,设备软件工程师可以把更多的时间花费在如何设计自己的设备控制软件上。

在CCF框架下,CIMConnect/CIM300/CIMPortal Plus的底层API函数都被很好作了封装,软件工程师只需通过CCF框架提供的函数或接口就能轻松实现和工厂主机程序的所有GEM/GEM300标准。实现EDA标准的一个重要任务是创建一个支持分层次结构的设备模型,以及按照标准生成XML数据,此外生成的模型还需满足E164标准。在CCF软件初始化运行时会动态生成设备模型,软件工程师几乎不需要书写EDA代码,设备即可很好的遵循EDA标准。lego brick building is like CCF




We encountered an interesting issue when working with semiconductor equipment manufacturing companies. Many excellent software engineers who know equipment control are not very experienced with the GEM, GEM300, and EDA standards. Sometimes after equipment is successfully developed in the laboratory and before the equipment is shipped to the factory, we discover that the equipment did not implement or only partially implemented the required GEM/GEM300/EDA standard. This is especially prevalent when the factory requires the EDA (Interface A) communication interface. Equipment software engineers sometimes do not know how to develop software that fully complies with GEM/GEM300/EDA standards in a short period of time.

For most equipment companies with limited human and financial resources, it is difficult for the company to have the resources to develop their own GEM/GEM300/EDA software. Another issue is that we have found many of the more experienced software engineers are more interested in high-profile  internet, gaming, mobile phone apps and other software industries rather than the lower profile semiconductor industry.  Although many companies in the semiconductor factory automation software market have provided GEM/GEM300/EDA software development kits (SDKs), software engineers still need to master certain basic knowledge of factory automation to start writing software integration code. Factory automation involves a large number of SEMI standards. For example, the GEM standard has about 450 pages of documents, including E4, E5, E30, E37, E37.1, E172, E173. GEM300 standards have about 280 pages of documents, including E39, E40, E87, E90, E94, E116, E157, E148. The more complex EDA standard has about 480 pages, including E120, E125, E128, E132, E134, E138, E164. For less experienced factory automation software engineers, the integration of automation software can be an extremely tedious and difficult task.

Cimetrix CIMControlFrameworkTM (CCF) is an equipment automation control software framework based on Microsoft .Net technology. This software not only provides equipment manufacturers with supervisory control and equipment control framework code, but also fully implements the GEM, GEM300 and EDA standards. With the help of the CCF software platform, software engineers can easily turn into factory automation development experts without having to master all the factory automation SEMI standards. The factory automation components within the framework of the CCF software are based on CIMConnect, CIM300, and CIMPortal Plus, three independent software development kits (SDKs) from Cimetrix for the implementation of the GEM, GEM300, and EDA standards, respectively. All 300mm chip manufacturing factories in the world have equipment installed which uses CIM300 software. Any factory requiring EDA data collection has equipment installed that uses CIMPortal Plus software. With the CCF software framework, Cimetrix has already done the work of integrating all factory automation into the framework. The equipment software engineer can spend more time on how to develop their own equipment control software.

Under the CCF framework, the underlying API functions of CIMConnect/CIM300/CIMPortal Plus are well encapsulated. Software engineers can easily implement all the GEM/GEM300/EDA standards of the factory host program through the functions or interfaces provided by the CCF framework. An important task in implementing the EDA standard is to create an equipment model that supports hierarchical structures and generate XML data in accordance with standards. In addition, the generated model must also meet the SEMI E164 standard. The equipment model is dynamically generated when the CCF software is initialized. The software engineer needs to do very little to have an equipment control application that is fully compliant with the EDA brick building is like CCF

The use of the CCF software framework to reduce the difficulty and development cycle of equipment control programs and factory automation programs does not mean that our clients must replace their existing software platforms or stable code that has been tested. CCF is a fully open automation control program framework that provides source code. You can think of CCF as a LEGO toy that has been put together. Users can either integrate their own code modules into CCF or select some of the CCF functional modules and transfer them to their own framework. Our clients can reuse the factory automation modules (including GEM/GEM300/EDA) in CCF in their own program frameworks. While ensuring that all SEMI standards for factory automation are fully complied with. The impact on the user's existing programs is minimal.

Thanks to the complete openness of the CCF framework, like LEGO bricks, software engineers can easily enjoy the freedom of tailoring the control system framework that they want. It is hard for any company that provides an equipment control software framework program to implement such a rich library of functions. 

In the next few years, more and more factories will move in the direction of smart manufacturing. As a result, the demand for data is getting higher and higher. EDA standards are increasingly becoming the factory's mainstream data collection method. CCF will undoubtedly become the best weapon for equipment manufacturers to quickly and completely implement the various factory automation standards.

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Equipment Control-Software Products, Cimetrix Products

Equipment Control Logging Benefits

Posted by Derek Lindsey: Product Manager on Mar 8, 2018 11:02:00 AM


Equipment control applications are highly complex and have many moving parts that require a high level of coordination. Because of the high degree of difficulty, problems are bound to crop up. Sometimes the problems are related to a hardware issue. Sometimes the problems are caused by operator error. Sometimes problems are timing related. Sometimes problems happen infrequently. Regardless of the frequency or the cause of the errors, how do you go about debugging issues that happen in the field if you are unable to attach a debugger to the application?
The answer is logging.

As part of the CIMControlFramework (CCF) product for creating equipment control applications, Cimetrix developed a logging package. Our logging package has two parts – collecting the log messages and analysis of the messages.

The logging package allows you to assign a source and a type for each log message. The source specifies where the log message originated. The type is a category that can be used to route the log 

messages to specific output locations called log sinks. We have found the most useful log sink to be a text-based log file. The logging package can be configured for the types of messages to log. It can also be configured for how long to keep log files and how many to keep. This helps keep hard drives from getting too full.


The temptation for many users is to enable all log messages while developing the equipment control application and then turn all the logging off when the equipment ships to the factory. Cimetrix recommends leaving as much logging enabled as possible. This will help you avoid trips to the fab when a problem arises that can be solved via the logging package. Some clients worry about resource usage by the logging package. We have found that the impact of the logging package is light enough that it is advantageous to leave it on all the time.

The Cimetrix logging package was such a success in CCF, that we have started using the logging package in all Cimetrix products. The logging package has earned rave reviews from Cimetrix product users. Here are a few quick examples that show how valuable logging is:

1. An OEM customer called in a panic because because an end user was withholding payment due to a timing/throughput issue in the application. Together Cimetrix and the OEM reviewed the log file. Using some of the LogViewer analysis tools we were able to isolate and identify the problem within 30 minutes. The OEM was able to confidently tell the end user that they had found the problem and a fix would be available within the next software release. Because the OEM was able to support them so quickly remotely, the end user had confidence in the OEM and released the payment.

2. At Cimetrix, we often hear, “This only happened once, but…” With logging always enabled, it is possible to diagnose problems after the fact. This is especially important for problems which occur infrequently. Users of the Cimetrix logging package are able to resolve issues that happen only rarely.

3. Occasionally an equipment control application will deadlock – two different modules are waiting on each other and neither is free to proceed. Using the LogViewer’s Callstacks plug-in, in conjunction with the Timing Chart plug-in, make the process of diagnosing the deadlock much easier.


4. An end user called up their OEM equipment provider because the software stopped unexpectedly. They wanted to OEM to put someone on a plane immediately to come diagnose the problem. The OEM was able to view the log file to see that an operator had stopped the tool without the supervisor realizing it. When asked, the operator confirmed he had stopped the tool. Crisis averted. No plane ride required by the OEM to satisfy their customer!

5. A client came to Cimetrix for a training class. This client brought in a contractor to attend the class as well. Part of the Cimetrix training was used to review the logging package. During a break in the training, the contractor approached the instructor and asked if he could purchase the logging package separately for use in his other contracts because he could see several applications that would benefit from the power of the logging package.

6. Cimetrix is continuing to add useful plug-ins to the LogViewer. We recently added an E84 (automated material handling system) plug-in to assist in implementing and debugging material transfer. LogViewer allows users to implement their own custom plug-ins for analyzing data important to them.


These are just some of the success stories we have heard about in relation to the logging package. With equipment control applications and factory automation, there will always be issues to be addressed and opportunities to root cause unexpected behavior. Having a powerful logging package makes that process much easier.


Topics: Equipment Control-Software Products, Customer Support, Cimetrix Products

CCF Series Wrap-up

Posted by Derek Lindsey: Product Manager on Apr 12, 2017 11:00:00 AM

One of the habits outlined in Stephen R. Covey's book, The 7 Habits of Highly Effective People, is to "Begin with the End in Mind." He goes on to explain that beginning with the end in mind means to "begin each day, task, or project with a clear vision of your desired direction and destination, and then continue by flexing your proactive muscles to make things happen.”

Beginning an equipment control project with a clear vision of your desired destination makes it much more likely that you will have a successful project. A blog post titled CIMControlFramework Work Breakdown dated March 15, 2016 outlined the tasks necessary to create a first-class equipment control application using CIMControlFramework (CCF). Since that initial blog post, Cimetrix has explored each of the tasks labeled in the work breakdown structure in greater depth in their own blog posts as follows:

Looking back from the successful completion of a CCF equipment control application makes it clear that the work breakdown vision from the beginning helped gain that success.

You can also reference the following blog posts related to CimControlFramework:

CIMControlFramework Dynamic Model Creation

Learning from Others

Build vs. Buy

WCF and CIMControlFramework

To learn more about CCF, visit the CIMControlFramework page on our website!

Topics: Equipment Control-Software Products, Cimetrix Products

Testing Your CCF Application without Waiting for Hardware

Posted by Brent Forsgren on Mar 29, 2017 11:26:00 AM

You've heard the expression, “you can’t make an omelet without breaking a few eggs.” That is, you shouldn't be surprised if you end up destroying a few things in the process of achieving your goal. When it comes to building a new piece of equipment, do you really want to risk breaking a few wafers, or worse yet, hurting personnel or equipment, to develop your new tool control software? I think everyone would answer with a resounding “No!”
In the March 2016 blog post on CIMControlFramework Work Breakdown, simulation was listed as one of the eleven points to be taken into consideration when developing an equipment control application using CIMControlFramework (CCF). In addition to personnel and hardware safety, there are other reasons to use simulation when developing equipment control applications, namely:

  • You want to start testing your software as early as possible, often this is before your equipment is finished. Then when your equipment is ready, integrating your tested software with your hardware will proceed smoothly and minimize delays in your time to market.

  • If you have an existing tool and you’re upgrading your tool control software, scheduling software testing time while still allowing other engineering teams (mechanical, process, etc.) to get their jobs done is challenging.

  • The hardware components that comprise your tool, e.g. robots, load locks, and process modules, will not be finished at the same time. You want to test your software with real hardware as soon as possible, while still simulating the missing equipment components.

  • Tool time is valuable. It's nice to be able to test your software without using the valuable tool time where possible.

  • It is likely that your tool will have more than one configuration, customized for each of your clients. Setting up different hardware configurations in order to develop and test your tool control software is time consuming. You want to be able to test your software for all of your equipment configurations in timely manner.

Wafer_tool-CCF-Simulator.jpgCCF provides a simulator that you can use to test your tool control software during development, and before you run the software on the real hardware. Running against a simulator first will expose issues in your software without damaging people, material and hardware. CCF’s simulator simulates real hardware, which means it is not necessary to add conditional checks in your software to check when it is running with a simulator versus real hardware.

CCF’s simulator features include:

  • Simulation of atmospheric and vacuum hardware components, e.g. load locks, vacuum pumps, vacuum gauges, etc.

  • Simulating delivery and removal of carriers to load ports, both manually and automatically using E84 handshaking.

  • Simulation of robot moves for both atmospheric and vacuum robots.

  • Simulation of I/O.

  • Simulation of hardware faults, to safely test error handling.

  • Simulate running single jobs or cycling wafers for endurance testing.

Additionally, CCF provides other tools to help you test your software without hardware.  CCF provides a Visual Studio template, and a number of classes and interfaces to aid you in developing simulation software for your process module or other custom hardware. Use the Visual Studio template to start development of GUI user controls for simulated hardware. Implement CCF’s I/O simulation interfaces for generating inputs to your tool control software and writing outputs to your simulated hardware. Tie the two sides together using CCF’s simulation client and server to handle the communication.

With these CCF tools, you can develop and test your tool control software without hardware. When hardware is available, you can test your software with your tool with a high degree of confidence that it will perform as expected.

Avoid “breaking a few eggs” and develop your tool control software with CCF and test it using CCF simulation features.

To learn more about CCF, visit the CIMControlFramework page on our website!

Topics: Equipment Control-Software Products, Cimetrix Products

Using CCF I/O Helper Functionality

Posted by David Warren: Director of Software Engineering on Mar 14, 2017 12:00:00 PM

“Can you hear me now?”

A Cimetrix blog post on March 15, 2016 entitled “CIMControlFramework Work Breakdown”mentions that CIMControlFramework (CCF) includes ASCII serial drivers and IO providers.  What does that mean and why should you care?

Factory Automation Software
Equipment automation is all about creating software that controls hardware—combining individual components into a harmonious whole, with each piece playing its own unique part.  A critical aspect of control is the ability to communicate—and that is where CCF’s ASCII serial driver and IO providers can help you create your equipment application.

The .NET Framework, like many software development platforms, provides built-in support for serial ports and TCP/IP ports.  This built-in support is great for low-level, binary communication, but hardware devices often just need a simple ASCII connection.  For such hardware, CCF’s ASCII serial driver frees you from worrying about the connection and the underlying implementation.  You can focus on the content of the message instead of the mechanics of delivery.  It’s like using a telephone—you want to focus on the conversation rather than worrying about how the sounds are transmitted between the phones. 

Another common class of hardware uses signals to communicate.  These signals can be as simple as only having two possible values (think “on” and “off”) or having a range of values, like a temperature.  Each signal also has a direction—it is either an input or an output.  For input signals, the value is determined by the hardware and read by the software.  Output signal values are determined by the software and sent to the hardware.  For example, control software might use an output signal to turn a light on and off, and an input signal from a photocell to verify the light is on or off.  This class of hardware is called I/O (short for input/output) devices and is supported by CCF.

CCF includes support for communicating with ASCII serial and I/O devices to make your job easier.  Don’t spend your time and effort asking the hardware “Can you hear me now?”  Use CCF and focus on combining the parts into the harmonious whole. 

To learn more about CCF, visit the CIMControlFramework page on our website!

Topics: Equipment Control-Software Products, Cimetrix Products

Storing Data in a CCF application

Posted by Derek Lindsey: Product Manager on Mar 8, 2017 1:00:00 PM

In Sir Arthur Conon Doyle’s A Scandal in Bohemia, Sherlock Holmes tells Watson, “It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.”

In a March 2016 blog post on CCF work breakdown Cimetrix listed eleven points to be taken into consideration when starting an equipment control application using CIMControlFramework (CCF). One of the tasks in the work breakdown is to determine what kind of data collection and storage is to be used in your CCF application and determine how that data is to be stored.


CCF provides several mechanisms for collecting and storing data. These include:

  • History Objects

  • Full GEM Interface

  • Full EDA/Interface A Interface

  • Centralized DataServer

The remainder of this blog post will look at each of these items in more detail.

History Objects

In early iterations of CCF, users noticed when using logging, there were certain messages that they wanted to be able to query without the overhead of having to search all log messages. To help accommodate this need, History objects were introduced. Some examples of these objects in CCF are EPT History, Wafer History and Alarm History. When an important event happens in the life of a history object, a log message is written to a database table (configured during CCF installation) that corresponds to that type of object. That database table can be queried for the specific historical information for only that type of data. 

Full GEM/GEM 300 Interface

As described in a CCF blog post from February 15, 2017, CCF comes standard with a fully implemented GEM and GEM 300 interface. The GEM standards allow users to set up trace and event reports for the collection of GEM data. No additional programming is required by the application developer to have access to the GEM data collection.

Full EDA/Interface A Interface

The same blog post of February 15th also states that CCF comes standard with a fully implemented Freeze II and E164 compliant EDA interface. EDA can be used to set up data collection plans based on Events, Exceptions and Traces. With the E157 standard and conditional trace triggers, EDA makes it easy to zero in on the data you want without having to collect all data and then sift through it later.

Centralized DataServer

In order to create, initialize, populate and pass data, CCF uses a centralized DataServer object. The DataServer is responsible for creating the dynamic EDA equipment modelas well as populating CIMConnect with Status Variables, Data Variables, Collection Events and Alarms. All this is done at tool startup so that the data available exactly matches the tool that is in use.

Data is routed to the DataServer which then updates the appropriate client – such as EDA, GEM or the Operator Interface. An equipment control application can register to receive an event from the data server when data changes. Users can key off of this event to capture that data and route it to a database as desired. Since all tool manufacturers have different requirements for which database to use and how data is written to that database, CCF leaves the actual SQL (or equivalent) commands for writing the data to the equipment application developer.

With CCF Data collection and storage is … Elementary.

To learn more about CCF, visit the CIMControlFramework page on our website!

Topics: SECS/GEM, EDA/Interface A, Equipment Control-Software Products, Cimetrix Products

CCF Provides Fully Implemented GEM300 and EDA Interfaces

Posted by Bill Grey: Distinguished Software Engineer on Feb 15, 2017 1:00:00 PM

What does this mean and why should I care?

The SEMI standards for 300mm Semiconductor Manufacturing Equipment can be an overwhelming burden of information to understand, let alone implement.

The GEM standards comprise over 450 pages of documentation: E4, E5, E30, E37, E37.1, E172, E173.

The 300mm standards add another 280 pages: E39, E40, E87, E90, E94, E116, E157, E148.

And the EDA standards pile on an additional 480 pages: E120, E125, E128, E132, E134, E138, E164.

That’s over 1200 pages of standards documents filled with requirements and implementation information. 

On top of that GEM and EDA collect data differently from the equipment.  See a post we did on data collection for more information on those differences.

Implementing the requirements defined in those standards without an SDK would be a very brave undertaking.  Even with SDKs for the standards, it would be a fair amount of work, when all you really want to do is get your equipment automated.

In addition, it is very important that those standards be implemented correctly in order for your equipment to be smoothly integrated and accepted into each fab.  Different fabs use the standards slightly differently or have additional requirements.   This requires experience.

GEM300 and EDA standards implementation is a very large burden.

semi standards difficult burden

So what does this mean?

One of the large tasks for the EDA standards is defining a hierarchical model of the equipment and what data it can produce in XML per the schemas defined in the standards.   Creating the initial model and keeping it up to date as the equipment evolves is a tedious task.  In addition, that model must be conformant to the E164 standard (which has over 10 pages of requirements on its own).   See our blog post on conformance testing. CCF does this for you, producing an E164 compliant EDA model in the background based on your CCF programming. See our blog post on CCF dynamic model creation further details.  CCF also builds the GEM interface model for you at the same time.

Further, CCF is completely GEM compliant and 300mm compliant, using the Cimetrix CIMConnect and CIM300 products which have been successfully deployed in every 300mm fab around the world on many different equipment types.

Twelve hundred pages of standards, compliantly implemented, at no additional effort.  That is what this means.

Turn that donkey into a goat and use CCF.

To learn more about CCF, visit the CIMControlFramework page on our website!


Topics: SECS/GEM, Equipment Control-Software Products, Cimetrix Products