Industry News, Trends and Technology, and Standards Updates

Cimetrix

Recent Posts

Using C# for Development at Cimetrix

Posted by Cimetrix on Apr 12, 2010 4:00:00 PM

by Vladimir Chumakov,
Software Engineer

We started using C# at Cimetrix about 5 years ago when we first started working on CIMPortal™, our Equipment Data Acquisition product. Later on we used C# exclusively for development of our Equipment Client Connection Emulator (ECCE) tool; EDAConnect™, a client-side software library product for implementing the SEMI EDA Standards; and CIMControlFramework™, an equipment automation framework for tool control.

Here is why we chose - and keep using - C# for new project and product development at Cimetrix:

  • The biggest advantage using C# brings is not the programming language itself but the extensive amount of functionality provided by the Microsoft .NET Framework. The development time savings by using the .NET Framework could be measured in years.
    • We used ASP.NET libraries for development of CIMPortal’s Web GUI and implementation of the Interface A SOAP interfaces.
    • WinForms is by far easier to use than MFC library in C++ that we've used before.
    • WCF is used in EDAConnect for implementation of the Interface A SOAP interfaces and as inter-process communications in CIMControlFramework.
    • ADO.NET is the framework used for working with Databases. We use it in CIMStore and CIMControlFramework products.
    • And the best part is that Microsoft continuously keeps improving its .NET Framework. Microsoft released a new 4.0 version of the .NET Framework today on April 12th. It contains many new features. The most exciting is Parallel Computing Platform  which includes significant advancements for developers writing parallel and concurrent applications, including Parallel LINQ (PLINQ), the Task Parallel Library (TPL), new thread-safe collections, and a variety of new coordination and synchronization data structures.
  • Visual Studio (we currently use 2005 and 2008 versions) is an excellent development environment for both C++ and C# but has many features exclusive to C# that we take advantage of:
    • The Unit Testing Framework helps us with the creation and maintenance of test code.
    • C# Code refactoring. Refactoring is a formal and mechanical process used to modify existing code in such a way that it becomes 'better' while preserving the program's intended functionality. In addition to improving a program's overall design, the refactoring process tends to yield code which is far easier to maintain and extend in the long run.
  • C# Language advantages over C++
    • Automatic memory management allows much easier implementation of memory-leak free code.
    • 64-bit programming. There is no need to maintain two separate versions of source code or to have different builds – the same C# application runs on both 32- and 64-bit versions of Windows and is automatically compiled on the fly into native 32 or 64 bit code.
    • Performance. Contrary to common belief that C# is slower than C++, we've found that when features like immutable objects, lock-free containers and automatic memory management are used together, applications written in C# are faster than similar application written in C++.
  • There are still areas where C++ is better than C#
    • Application startup performance. Because C# applications are compiled at the run time, on the fly, it takes more time for application to start.
    • C++ templates are still powerful than generics in C#

All these advantages, especially in development time savings, is the reason why we use and will keep using C# at Cimetrix.

Topics: Doing Business with Cimetrix, Programming Tools, Cimetrix Products

A Few Good Reasons to Work for Cimetrix

Posted by Cimetrix on Apr 7, 2010 3:00:00 AM

mohammad & daveby Mohammad Islam,
Software Engineer

Before joining Cimetrix, I used to work for a bigger company in California with lots of benefits. I liked the location and the money part of the job. However, I did not have any mental satisfaction working there as the work environment was very hard to deal with.

When I joined Cimetrix in 2004, I was little worried how things would turn out as it was a small company with a very few non-American employees. However, it turned out that joining here was one of the wisest moves that I've made in my life which I am really grateful about. Being a small company, everyone knows everyone here, we are like a family. The work environment is amazing. They give me my freedom; they trust me and that is very important to an employee. They care about what I do and my opinions. All this makes me feel like I am a valuable member of this company. Moreover, my family and I are very grateful to the Cimetrix Executives and Management for all the help and support they offered us throughout the immigration process.I must also mention that it feels very good to beat Mr. President occasionally at the “Ping Pong” table. He is a very tough competitor and never likes to loose.

In conclusion, I just want to say that this is the best place to work for, especially in this kind of economical era. Cimetrix survived the worst economic downfall in decades which implies that it's a strong company with good people, that's bouncing back very strongly.

Topics: Cimetrix Company Culture

SEMI E148: Time Synchronization

Posted by Cimetrix on Mar 18, 2010 8:31:00 AM

by Doug Rust,
Director, Product Engineering & Customer Support

time synchronizationThe time shift for daylight savings this week is going to cause me some grief for some time. Most countries in Europe will not adjust until March 28. Many countries in Asia (India, Singapore, Taiwan, Malaysia and Japan for example) are not adjusting for daylight savings at all in 2010. Since our customers are all over the world, I’m going to have a tough time keeping in sync. It’s inevitable that I’ll miss some important event this month. So, I thought it would be very àpropos to submit a blog about Time Synchronization.

SEMI® standard E148 defines software standards for the equipment communication interface to enable the equipment control computers to automatically synchronize their clocks from a standard time base. Although this standard was just published a couple years ago, it is not new technology. Computer systems have been using internet technology to synchronize their clocks with a common time base for over 20 years now. The Network Time Protocol (NTP – a.k.a RFC1305) is the internet standard for time synchronization that is designed to enable any computer to synchronize with a reference clock (most commonly the atomic clock in Colorado) through various time servers available on the internet. SEMI E148 specifies the NTP standard as the mechanism for synchronizing the equipment control computer with the factory computer systems (as well as some other requirements).

This is becoming a critical capability as factories begin to adopt other information technology that enables them to collect thousands of precise data points from each run on each tool. Making effective use of this data requires that the time-base for data source ‘A’ is the same as the time base for other data sources so that the raw data can be assimilated and correlated to produce valuable manufacturing information. If there was some important “event” in manufacturing that we need to analyze the first thing we will do is to try to determine what else was happening at the time of that event. So the first question we ask is “when did that occur?” That’s where we can run into serious problems if there is no common time base.

Most modern operating systems have the NTP client software built-in. It’s possible to synchronize with reliable time servers on the internet and there are many affordable commercial time servers available. Even if users do not implement all of the E148 requirements, I suspect we are going to see more and more factory networks using NTP to synchronize the manufacturing equipment with factory hosts over the next year (if they haven’t already done it). For me, I guess I’m going to be out of sync at least until May 28.

Topics: Industry Highlights, Semiconductor Industry

Connect. Chat. Collaborate.

Posted by Cimetrix on Mar 11, 2010 7:47:00 AM

by DeAnn Rowan,
Marketing

As a blog reader, we would like to ask you a question:

So….What do you think?

We’ve been at this blogging thing for 6 months (almost to the day) now. We’ve seen a lot of interest as the traffic to our blog posts continues to rise at a rapid pace. The entire Cimetrix team has provided contributions and feels passionate about the information that we have been sharing with readers.

Some of our most popular posts to date – and ones you’ll want to check out if you haven’t already - include a narrative touting the benefits of software frameworks, a comparison of the data collection functions of SECS/GEM and Interface A, and the answer to the “He Said/ She Said” game between equipment and host.

What have you found to be the most valuable?
What topics would you like to see discussed more? Or less?

We want to be a resource of information for you regarding the SEMI connectivity standards and their implementation. As you read through our blog, please feel free to ask questions or provide insight on the topics being discussed. We welcome your comments!

In addition to this blog, we encourage you to interact with us, and others within the manufacturing community, via various social media networks:

Cimetrix Twitter   Cimetrix Facebook   Cimetrix LinkedIn   Cimetrix RSS   

Use these avenues as an alternative means to ask questions, provide feedback, and stay abreast of any industry or Cimetrix updates.

Thank you for your continued readership and we look forward to future discussions.

Connect with Us on LinkedIn:

 

Topics: Industry Highlights, Semiconductor Industry, Customer Support, Doing Business with Cimetrix, Cimetrix Company Culture

The Tech Ahead

Posted by Cimetrix on Mar 9, 2010 4:00:00 AM

Microsoft Logoby Bill Grey,
Director of Research and Development

2009 was a tough year and it is good to see the Semiconductor industry coming back. With development projects ramping up, here is a peek at the new technologies coming out this year:

AMD has some new 45 nm Phenom II and Athalon II CPUs out and has the 6-core 45 nm Thuban CPU coming out later in Q2. 2011 will follow with a Llano 32 nm quad-core APU and 32 nm Bulldozer core CPU called Zambezi with up to 8 cores.

Intel has 32 nm rolling strong with the release of the Clarkdale CPU with 2 cores this quarter. They will follow up with the Gulftown processor around mid-year with 6 cores.

It doesn’t look like processing power will be much of a problem any more. =)

For developers, Microsoft released Visual Studio 2010 and .NET 4.0 in April. 

Among the changes that got me excited are:

  • better support for parallel code development and debugging
  • debugging of mixed-mode native and managed code on 64-bit operating systems
  • the Visual F# programming language
  • reference highlighting in the editor (finally!)
  • call hierarchy navigation for C# and C++
  • box selection for copy/paste (finally!)
  • .NET background garbage collection instead of concurrent garbage collection for better performance
  • .NET tuple objects for structured data
  • .NET memory-mapped files (shared memory)
  • .NET String.IsNullOrWhiteSpace method indicates whether a string is null, empty, or consists only of white-space
  • Managed Extensibility Framework (MEF) to build extensible and composable applications

Office 2010 comes out the first half of this year with some new collaboration features such as co-authoring and PowerPoint presentation broadcasting.

On the Windows side, Windows 7 is here in 32-bit and 64-bit flavors and is being adopted much faster than Vista was when it released. Windows Server 2008 R2 is out for the server platform. For embedded systems, Windows Embedded Standard 2009 has replaced Windows XP Embedded and a new version is on the way called Windows Embedded Standard 7 (Windows 7 based).

How many semiconductor manufacturing tools will need or will go to a 64 bit operating system this year?

One item that could spur the move to Windows 7 is a change in hard drive technology that is not targeted to be supported by Windows XP. Hard drives are moving from 512 byte sectors to 4 kilobyte sectors and will be incompatible with Windows XP. Some of the smarter drives may have a compatibility mode for Windows XP, but at a cost of reduced performance. This will start in early 2011.

Would you be interested in learning more about these emerging technologies and their effect on Cimetrix products? If there is a significant interest, Cimetrix plans to host a webinar on this topic in the near future.

Topics: Semiconductor Industry, Programming Tools

8 things to consider when implementing a GEM Interface

Posted by Cimetrix on Feb 9, 2010 7:57:00 AM

by Matt Mayer,
Principal Software Engineer, Global Services

GEM interface checklist

    1. Establishing Communication- A standardized communications mechanism ensures both equipment and host have agreed, and all requirements necessary for properly collaborating data (between tool and host) based on the SEMI® SECS messaging standards (E5) are compatible during the connected status and after connection could have been disrupted.
    2. Spooling- Spooling is an essential part of keeping synchronization with the tool. Communications (connect status) can be disrupted. In the event of communication disruption, the tool can be configured to spool collection event (S6F11) messages after communications has been restored and the host requests the last know transactions for the lost time span.

      Spooling can be configured to retain a SECS message pooled history of almost any stream and function (SEMI E5 standard). With this enriched functional capability, any condition of the tool can be relayed at anytime after communication has been re-established (e.g.: alarms, events, processing state changes, etc…).

      With that said about spooling, the host is required to take special care of the data received and re-act to the latest available data (spooled messages) in the most appropriate manner. In many cases, this behavior of the host takes special care at documentation and tool manufacturer collaboration.

    3. Alarm Handling- The alarm handling capability provides for host with notifications and management of alarm conditions occurring on the equipment. Typically an alarm is associated with abnormal conditions of the equipment.

      With each alarm a correlating set/clear event notification will be issued to the host. As with each event definition, a report can be defined and linked in order to associate variable data specific to the alarm (see Event Handling).

    4. Event Handling- Event handling provides a dynamic and flexible method for the tool manufacturer to customize the equipment to meet needs specified by the fabrication facilities with respect to data representation and presentation to the host. The event based approach to data collection provides automatic notification to the host and its activities which are useful in monitoring the equipment and in maintaining synchronization with the equipment.

      Reports can be configured by the host application and attached to event report messages (S6F11). These reports are linked to the desired event and are typically associated with variable data relating to the event generated by the equipment.

    5. Variable Handling- The variable handling capability provide both the tool and equipment the ability to share details. Variables are categorized in three groups.

      Groups:

      • Equipment Constants, provides the capability for the host to read and change the value of selected variables of type EC which allow the host to reconfigure the variety of equipment functionality.
      • Status data, the values of a status variable will be current.
      • Discrete data, the values of DVs are only guaranteed to be valid at the occurrence of a collection event.
    6. Process State Model Handling- The processing state model is dependent on the equipment process and technology. However, there are expected common aspects to these models. Many of these equipments use the GEM proposed state model with some variations. An ERROR and MANUAL state can be utilized during initialization and when the state is idle.

      Based on the SEMI E30 standard, the equipment must generate collection events for each processing state transition, as well as provide status variables (ProcessState, PreviousProcessState) which values represent the current processing state and the previous processing state. Other collection event reports can be defined and linked to event triggers.

    7. Remote Command Handling- The capability which provides the host with control over the equipment and its operations. A remote command consists of parameter name/value pair with a particular host command (S2F41). The equipment manufacturer will provide unique names for any supported command parameters. The command parameters are defined by fabrication facilities and equipment manufacturers.

      A typical set of remote commands are listed below. However, the list is not a constraint and any set of remote commands can be specified and used.

      • PPSELECT
      • START
      • STOP
      • PAUSE
      • ABORT
    8. Recipe Upload/Download Handling- Recipe handling provides the means for transferring process (recipe) information between the host and the equipment. The specifications for equipment processing (e.g. recipes) are managed through SECS messages (E5). Recipe uploading and downloading will be accomplished using several formats and combination thereof.

      Formats:

      • Unformatted recipe content
      • Formatted recipe content
      • Value based content transfer
      • File based content transfer

In addition to the above mentioned considerations, Cimetrix's CIMConnect, an object-oriented software development kit for equipment suppliers to quickly develop a GEM interface, also allows for multi-host connections.

Topics: Industry Highlights, SECS/GEM, Cimetrix Products

Sarbanes-Oxley Compliance and Cimetrix

Posted by Cimetrix on Feb 5, 2010 8:59:00 AM

by Peggy Faulkner,
Assistant Controller

Sarbanes Oxley ComplianceWhen I confided to a long-time friend with whom I used to work in the financial arena at General Electric that I was thinking of returning to work after 20 years of raising a family, and that I would be doing Sarbanes-Oxley (SOX) compliance work for Cimetrix, she gasped, and blurted, “I am SO sorry!” I was pretty sure her dismay was not an indictment of me returning to work, nor to Cimetrix—it was all about SOX.

When SOX was federally mandated in 2002, as a financial regulatory response to the Enron and Worldcom (and others) scandals, the intent was to soothe panicked investors and restore confidence that our public companies operate under sufficient financial control, oversight, and transparency. Revenue level or company size matter not—all public companies must comply, and compliance places a disproportionately heavier cost burden on small companies such as Cimetrix. Annual auditing must be performed by an independent, registered public accounting firm, and an extra layer of control in the form of reporting and certification is included in all SEC filings by financial management. Transparency to financial reports is now greater, and penalties for financial fraud or misrepresentation are harsh.

In an economic downturn, such as we are now experiencing, the cost of compliance becomes even more burdensome. Nonetheless, Cimetrix is fully compliant with all SOX regulations, and has been for some time now, due to the diligence of the Finance team. Long before I joined the company, measures were taken to reorganize, analyze, report, and verify financial data at a SOX-mandated level.

Currently, cross-training and report collaboration within the department ensure an additional level of review. Our goal this year is to become paperless—in keeping with environmental concerns, and our connection to the PV industry, perhaps?

Eighteen months after talking with my old friend, when she asks how things are going, I smile and say, “Piece of cake!”

Now, if I could just win the company Soup Cook-off!!

Topics: Customer Support, Doing Business with Cimetrix, Cimetrix Company Culture, Investor News

WCF and CIMControlFramework

Posted by Cimetrix on Feb 1, 2010 7:08:00 AM

by Derek Lindsey,
Principal Software Engineer

When creating new tools for use in the semiconductor industry, most original equipment manufacturers (OEMs) prefer to concentrate on their area of expertise – the processing of wafers. The bother for them is that they have to conform to material handling standards to get the wafers delivered to the correct process module before they can perform process on the wafers. They also have other overhead that takes time and resources away from what they do best. This overhead includes operator interfaces, recipe management, error handling and the list goes on.

With CIMControlFramework™ we set out to create a flexible equipment automation framework that handles much of the overhead associated with wafer processing. This allows OEMs to spend more time on perfecting their processing while still creating a first class application to drive the tool. The framework includes packages for performing recipe management, alarm management, user management, configuration management, message logging, scheduling, factory automation, user interface and material handling.

Data generated at any point on the tool from any of these packages can be quickly and easily accessed by any other module or external application. This is where Windows Communication Foundation (WCF) enters the picture. To paraphrase Reggie Jackson, WCF is the straw that stirs the drink. It allows access to all of the functionality provided in these packages. Cimetrix chose to use WCF for distributing the functionality contained in each of these packages. WCF is as easy as ABC. In order to use WCF services, we need three pieces of information: an Address, a Binding and a Contract (A, B, C).

Each of the packages listed above provides a service with functionality for clients to access. The functionality provided by the service is the contract. An address is where the service is located. A binding is how the client talks to the service (what protocol is used.) These three pieces of information are called an Endpoint. Once a client application knows the endpoint, it can access the vast array of functionality provided by the CIMControlFramework service packages.

Once an OEM taps into CIMControlFramework, they can focus their resources on process technology and product differentiation.

Topics: Equipment Control-Software Products, Programming Tools, Cimetrix Products

Selecting or Designing a Yield Management System

Posted by Cimetrix on Jan 27, 2010 9:43:00 AM

by Sheethong Ho,
Solutions Architect

It is a natural tendency to think that Yield MaYield Managementnagement Integration is simply a data integration job that gathers related manufacturing and test data into a Yield Management System (such as dataPOWER, PDF), and thereafter the engineers and their Yield Management System live happy ever after.

For the fact that a production environment is never static and is evolving constantly makes the maintenance aspects of the Yield Management System a formidable challenge. It is fairly common to see a facility struggling to have its newly implemented Yield Management System keep up with new production needs. Any intentional or unintentional change in manufacturing data may break the loading of a data feed causing its yield analysis capabilities render useless.

The following are some of the key considerations when designing or selecting a solution for the implementation of a Yield Management System.

  1. How flexible is the solution in adapting to changing needs in the manufacturing environment? For instance, a new foundry plant is providing the assembly testing that feeds an existing data source for the Yield Management System. However, its test data does not comply with the expected format and could not be processed and loaded. What will be the cost and effort associated with fixing the assembly test data feed?
  2. How easy is it to manage and administrate the system? Anyone tasked to manage and maintain the data processing and data feed for the Yield Management System will experience a substantial amount of time investigating why a certain data failed to load. Hence, the question: does the solution provide good error reporting and handling? When the system administrator is approached by the yield engineer on a certain high priority lot not appearing in the Yield Management System – what tools are available to help diagnose the problem or to track down the missing lot? Will the system provide any further means to answer these questions:
    • Did the test data for the lot make it to the Yield Management system? Perhaps the lot has not even been tested or data was not made available to the system.
    • What is the cause for the failure? A typical failure is the missing Meta (e.g. Wafer Map Configuration) data that is required for the loading. (Usually the Process Engineers are responsible in keeping the Meta data updated)
    • How the error could be eradicated and the data loading be resumed. What tools are provided to facilitate such activities?
  3. Does the system provide critical alarms and warnings ahead of time such that problems are not identified only when data are discovered to be missing or incorrect during yield analysis? These alarms and warning could also include system resources such as storage space and CPU usage that could affect the processing and loading of yield related data.

In considering a solution for Yield Management System integration, perhaps more than simply concerning about getting the data accurately into the system, the ease of system maintenance is equally important.

Contact Cimetrix Global Services to discover Cimetrix can help with your Yield Management System implementation and integration

Topics: Data Collection/Management, Global Services

Logging - enabling passionate support

Posted by Cimetrix on Jan 19, 2010 9:06:00 AM

by David Warren,
Senior Software Engineer, CCF Solution Architect

Logging ScreenshotIn today’s world, having great software is not enough. To be successful, software must also be supportable. Keeping a record of what the software is doing and has done enables after-the-fact diagnosis and makes remote support much more efficient. As an additional benefit, this information can also be displayed live to the GUI, giving the operator additional insight into what is happening. Having a record makes it possible to determine if the software is working correctly or incorrectly. In Cimetrix’s new tool control software, CIMControlFramework™, this functionality is provided by the Logging package.

The CIMControlFramework Logging package provides an MxN information delivery system—the logging package receives information from multiple sources and delivers it to multiple destinations. These sources may be different software components or instances within the same process. They may even be in other processes on the same or different computers. Likewise, the destinations may also be distributed. Some destinations may store the information for a few seconds or minutes, like printing to a console or displaying on a GUI. Other destinations may store information for many days or indefinitely in a database or file.

Logging is a two-edged sword however. There is a balance between information and performance. Storing too much information can adversely affect performance. Storing too little information boosts performance, but limits the benefits of logging. Too often the mindset is to turn logging off most of the time, and only turn it on when trying to solve a problem. I think it is more effective to turn on as much logging as possible—and then leave it on all the time. It may be necessary to limit the information flow to CPU intensive destinations to maintain acceptable performance, but it is worth it. By leaving logging on all the time, it is possible to find those problems whose descriptions start with “This only happened once, but…”

Logging enables passionate support. Just as surveillance cameras can provide more information than an eyewitness, a log record can provide more information than a customer incident report. The additional information is usually crucial in finding root causes and resolving customer issues quickly. And that’s something we are all interested in.

Topics: Equipment Control-Software Products, Cimetrix Products