No Logistics from Tool or MES? Try Assigning Them from Signal Bin Logic!

Dan Barad – Sr. Applications Engineer, FabGuard Applications and Controls Engineering, Austin TX

Problem Statement

For a tool that cannot give important logistics in an environment where the Automation or the MES also cannot provide the information, it becomes difficult to use filters in Reports and data viewers without making a large set of Signal Bins and separate Figures of Merit. This article presents a work-around to assign logistics based on logic in Signal Bins and triggers so that filters become more useful in this case.

The case study presented here is based on an EpiPro tool, with all trigger and bin data collected via OPC tags. There are no tags available for Recipe ID or Step Name, but there are 3 different processes that run on the chambers. There is no connection allowed with the MES, so FabGuard cannot get these logistics from the fab. The only logic available to decide which Tool Recipe ID was run, is based on the number of Deposition (Dep) versus Etch steps that occurred during the process.

This method can be extended to write any information to an XML document, have it retrievable at any time in the future, and assign it to FabGuard logistics. Another use could be for tracking the last PM date for a chamber and having it available as a filterable logistic.

Method Overview

  1. Create Signal Bins to count the number of Dep and Etch Steps.
  2. Create FabGuard Recipe Real Time Analysis to call Actions A, B, C for Tool Recipe IDs of ETCH, DEP, and ETCH_COAT_ETCH, respectively, after the process is complete and before the Stop.
  3. Create I/O Actions that call an Executable and will assign the appropriate Tool Recipe ID.
  4. Create a Windows batch script to take in the Tool ID, Chamber #/ID, and Recipe ID to save to an XML file named <ToolId>_<ChamberNumber>.xml, the Recipe ID for that Tool/Chamber combination in the Executive’s FabGuard IIS virtual directory.
  5. Modify the Acquisition Stop Current Substrate trigger to obtain the Recipe ID from HTTP to point to the XML file for that Tool/Chamber.
  6. Modify the Recipe Plan >> Advanced for the Tool/Chambers to assign logistics at the end of Acquisition for Recipe ID.

1. Create Signal Bins to count the number of Dep and Etch Steps

Two Signal Bins were created in the FabGuard Recipe for this tool: “Counter – Dep Steps” and “Counter – Etch Steps” (Figures 1 and 2).

Figure 1: Counter – Dep Steps Signal Bin.

Figure 2: Counter – Etch Steps Signal Bin.

2. Create FabGuard Recipe Real Time Analyses to call Actions A, B, C for Tool Recipe IDs of ETCH, DEP, and ETCH_COAT_ETCH, respectively, after the process is complete and before the Stop

Three Real Time Analyses were created to cover the three possible Tool Recipes (Figures 3 – 6). Since the number of Tool Recipes is smaller than the number of Action outputs (5: A, B, C, D, and E), this will work.

The Gates in the Analyses are designed to check the Counters only at the end of the run. Figure 7 plots the trace data from each Recipe execution with its corresponding Recipe ID.

Figure 3: List of Real Time Expert System Analyses for each possible Tool Recipe.

Figure 4: Real Time Expert System Analysis Logic setup for Recipe ID = ETCH.

Figure 5: Real Time Expert System Analysis Logic setup for Recipe ID = DEP.

Figure 6: Real Time Expert System Analysis Logic setup for Recipe ID = ETCH_COAT_ETCH.

Figure 7: A plot of the trace data from several Tool Recipe executions.

 

3. Create I/O Actions that call an Executable and will assign the appropriate Tool Recipe ID

Figure 8: I/O Action configuration details for each Recipe ID.

The setEpiProLogistics.bat file is located in the same folder as where the XML files will be written. It takes in three Parameters: Tool ID, Chamber Number, and the Tool Recipe ID to be assigned (Figure 8).

4. Create a Windows batch script to take in the Tool ID, Chamber #/ID, and Recipe ID to save to an XML file (named <ToolId>_<ChamberNumber>.xml) the Recipe ID for that Tool/Chamber combination in the Executive’s FabGuard IIS virtual directory

Below is the text of the setEpiProLogistics.bat, which is located in the same folder that the XML will be written. The command could be a lot easier if the TimeStampText was not created for monitoring the time of execution.

@ECHO off
SETLOCAL

REM Tool ID is passed in %1
REM Chamber ID or Number is passed in %2
REM Recipe ID is passed in %3

SET FG_LOGISTICS_PATH=cz2-fdc-prodCInficonwebLogisticsCZ2-EpiPro

TYPE "%FG_LOGISTICS_PATH%starterLogistics.xml">"%FG_LOGISTICS_PATH%%1_%2.xml"
ECHO ^<TimeStampText^>%DATE% %TIME%^</TimeStampText^>>>"%FG_LOGISTICS_PATH%%1_%2.xml"
ECHO ^<RecipeId^>%3^</RecipeId^>>>"%FG_LOGISTICS_PATH%%1_%2.xml"
TYPE "%FG_LOGISTICS_PATH%enderLogistics.xml">>"%FG_LOGISTICS_PATH%%1_%2.xml"

ENDLOCAL

As a shortcut, the XML header was saved in starterLogistics.xml and the closing of the XML in enderLogistics.xml.

starterLogistics.xml:

<?xml version="1.0" encoding="utf-8"?>
<Body>
<Context>

enderLogistics.xml:

</Context>
</Body>

For example, if it is an ETCH process (>= 1 Etch Step and 0 Dep Steps)

<?xml version="1.0" encoding="utf-8"?>
<Body>
<Context>
<TimeStampText>2018-03-08 12:22:03.76</TimeStampText>
<RecipeId>ETCH</RecipeId>
</Context>
</Body>

5. Modify the Acquisition Stop Current Substrate trigger to obtain Recipe ID from HTTP to point to the XML file for that Tool/Chamber

A Secondary was added to the existing Acquisition Stop Trigger to get the Recipe ID from HTTP (Figures 9 and 10).

Figure 9: Acquisition Stop Current Substrate trigger configuration details.

Figure 10: Secondary configuration details to obtain the Recipe ID.

6. Modify the Recipe Plan >> Advanced for the Tool/Chambers to assign logistics at the end of Acquisition for Recipe ID

Figure 11: Recipe Plan >> Advanced screen configured to get the logistical information at the end of data acquisition.

The writing of the XML occurs during the run, but before the Stop trigger occurs. This timing works, since the Acquisition Stop Current Substrate is delayed after the step number decreases.

No logistics are available from the tool or MES, so the chamber gets all its logistics at the end of acquisition, as specified in Recipe Plan >> Advanced (Figure 11).

Summary

Using HTTP communication with XML storage of important logistics, FabGuard can assign those logistics to a tool when the Automation or the MES cannot provide the information. Reports and data viewers are able to use database filters without an engineer having to make a large set of Signal Bins and separate Figures of Merit.