data-dictionary

FPSBASE.EQP_REF_TOOLS_PLUS

Data Dictionary

>

FPSBASE Views

> FPSBASE.WIP_WAFER_HIST_LOOP

View FPSBASE.EQP_REF_TOOLS_PLUS

This view joins all EQP tables to get all info about each entity. EQP_TOOLS_PLUS is the base for all EQP views in all applications and is one of the most frequently used tables in the DWH. For Scheduler, each TOOL has a PROCESS_GROUP then each PROCESS_GROUP has a SCHED_GROUP. All tools in the same PROCESS_GROUP do roughly the same group of processes and PROCESS_GROUP is used for most tool-based Scheduler configuration. All processes and all tools in the same SCHED_GROUP are scheduled together and there may not be any crossover with any other SCHED_GROUP. Also each PROCESS_GROUP has a PROCESS_CLASS and all tools in the same PROCESS_CLASS have the same general purpose like Process or Metrology or Nonwafer. These classes are listed in FPSADMIN.RTG_PROCESS_CLASSES and are the same for all sites. For Equipment Dashboard and maintenance, each EQP_TYPE has a MNT_FAMILY. All tools in the same MNT_FAMILY are similar and on the same maintenance schedule. Each MNT_FAMILY is assigned to a MNT_MODULE which is the module responsible for maintaining them. For Operations Dashboard, each TOOL is assigned to a PROCESS_FAMILY by some relatively complex DWH logic. Then each PROCESS_FAMILY is assigned a PROCESS_MODULE which is the module responsible for operating the tools. See comments in GEN_MODULES for more details. All tools in the same family do roughly the same group of processes but crossover is allowed for alternates. See the comments on RTG_PROCESSES for details on how processes get assigned to PROCESS_FAMILY. The PROCESS_GROUP column is no longer in RTG_PROCESS_FAMILIES as this link is obsolete. We get PROCESS_GROUP from EQP_TOOLS for tools and from RTG_PROCESSES for processes. Different tools which do the same processes (perhaps an older and a newer model of similar tools) would have a different EQP_TYPE and probably a different MNT_FAMILY but all of the tools would be in the same PROCESS_GROUP and all of these tools should be assigned to the same PROCESS_FAMILY. Tools which normally do different processes but occasionally serve as alternates for each other (perhaps a long setup is required to do the other process so we do not expect to use them unless in an emergency) would have a different PROCESS_FAMILY and probably the same PROCESS_GROUP but definitely the same SCHED_GROUP. Tools which are identical but do different processes (perhaps an Etch sink and a Diffusion sink) might have the same EQP_TYPE although it is not required. Please note that while we differentiate between EQP_TYPE, PROCESS_FAMILY, MNT_FAMILY, and PROCESS_GROUP that it will be common for all four to be the same. This view mysteriously gives an "ORA-00600: internal error" when selected from in FPSDEMO but seems to work fine everywhere else so we are just going to keep an eye on this.

Column

Comment

FACILITY

Facility is included in almost every join in the DWH so this represents a definitive split. A route must have all steps on tools in the same facility. A tool must process all lots in the same facility. If your site has multiple buildings where lots run on routes using tools in multiple buildings then everything should be one facility. For example, multiple Fab buildings. But if your site has independent facilities like Fab and Test and Assembly where lot may progress from one to the next but on different routes then these should be different facilities. Since this column is in virtually every table it is critical that the value here is exactly matches what is in the MES if the MES has facility. Use facility_display for the display friendly name displayed in applications. See site_name comment for client/site/facility example. (* inherited from FPSINPUT.GEN_FACILITIES)

TOOL

Tool is generally just the main tool. The exception is when different entities on the tool run completely independently and it is physically impossible to run wafers of the same lot across multiple entities. In this exception case, we may want to assign the entities to different eqp_types and therefore we should define each entity as a tool. Please note that when we do this there is no indication whatsoever that these different entities are on the same tool. (* inherited from FPSINPUT.EQP_TOOLS)

EQP_TYPE

Each tool is assigned an EQP_TYPE and all tools in the same type are identical meaning that they should run at the same throughput when running the same process with the same chamber type count. We also expect similar availability since these tools are identical. However tools in the same EQP_TYPE may have different chamber configurations and may run different groups of processes. (* inherited from FPSINPUT.EQP_TYPES)

PROCESS_FAMILY

See https://help.inficonims.com/display/DW/Guide+to+Process+Families. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES)

NUM_TOOLS_IN_PF

PROCESS_GROUP

Process group is the critical field where tools and processes come together for the purposes of Scheduler. Process group is in both EQP_TOOLS for the tools and in RTG_PROCESSES for processes. Ideally all tools that run the same set of processes with no crossover including back-up and emergency tools would be in the same process group but it is important to note that this is not technically required for Scheduler as long as all process groups are in the same sched group. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

PROCESS_CLASS

Top-level grouping of process groups with same general purpose (i.e. Process or Metrology or Nonwafer). Allowed values are defined by FPS and are listed in FPSADMIN.RTG_PROCESS_CLASSES. This field can also be defined in EQP_TOOLS using the ovr_process_class field if we do not know it for the process group. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

EQP_MODULE

EQP_MODULE is the module responsible for operating the tool. See comments on the module column in GEN_MODULES for info on this column and how it relates to eqp_module and mnt_module. (* inherited from FPSBASE.EQP_TOOLS_PLUS)

EQP_MODULE_DISPLAY

EQP_MODULE_SORT_ORDER

MNT_FAMILY

MNT_FAMILY is assigned to each EQP_TYPE. Tools in the same MNT_FAMILY are similar and share the same maintenance schedule. (* inherited from FPSINPUT.EQP_MNT_FAMILIES)

MNT_MODULE

MNT_MODULE is the module responsible for maintaining the tool and is a property of MNT_FAMILY. See comments on the module column in GEN_MODULES for how it relates to eqp_module and mnt_module. (* inherited from FPSINPUT.EQP_MNT_FAMILIES)

MNT_MODULE_DISPLAY

MNT_MODULE_SORT_ORDER

ACTIVE_DATE

The date when a new tool will become active and available for production. There is nothing wrong with keeping this set to a value in the past after the tool is active but this is irrelevant. (* inherited from FPSINPUT.EQP_TOOLS)

ARRIVAL_DATE

The date when a new tool is expected to arrive into the fab. There is nothing wrong with keeping this set to a value in the past after the tool arrives but this is irrelevant. (* inherited from FPSINPUT.EQP_TOOLS)

BAY

A bay is a physical area within the building. The bay is important for estimating travel time for a carrier to reach its destination as we usually store these estimates as a matrix of bay-to-bay and assume that the estimated time from any location within one bay to any location within another bay is approximately the same. (* inherited from FPSINPUT.MHS_BAYS)

COORD_X

This is the x coordinate position of the location within its station, in other words horizontal position. The maximum coord_x is the width of the station. This is optional and is often used for racks and sometimes for carts so we can determine the exact position of the carrier to make it easier to find. (* inherited from FPSINPUT.MHS_RACK_LOCATIONS)

COORD_Y

This is the y coordinate position of the location within its station, in other words vertical position or shelf number. The maximum coord_y is the height of the station. This is optional and is often used for racks and sometimes for carts so we can determine the exact position of the carrier to make it easier to find. (* inherited from FPSINPUT.MHS_RACK_LOCATIONS)

DESCRIPTION

Tool desciption. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS)

DETECTION_SEC_AVG_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average time to detect under the lower limit value. The time to detect is the gap between each measurement, only considering measurments that clear a counter. (* inherited from FPSINPUT.EQP_TOOLS)

DETECTION_SEC_AVG_UPPER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average time to detect under the upper limit value. The time to detect is the gap between each measurement, only considering measurments that clear a counter. (* inherited from FPSINPUT.EQP_TOOLS)

DETECTION_SEC_MAX_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have a max time to detect under the lower limit value. The time to detect is the gap between each measurement, only considering measurments that clear a counter. (* inherited from FPSINPUT.EQP_TOOLS)

DETECTION_SEC_MAX_UPPER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have a max time to detect under the upper limit value. The time to detect is the gap between each measurement, only considering measurments that clear a counter. (* inherited from FPSINPUT.EQP_TOOLS)

FIRMWARE_VERSION

Firmware/Hardware version the tool us running. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS)

HIDE_IN_DASH

Set to Y to hide this tool from the Dashboard and most other reports. (* inherited from FPSINPUT.EQP_TOOLS)

HIDE_IN_MSO

Set to Y to hide this tool from the MSO Dashboard and MSO UI. This should be used on tools where no metrology or tracking is required. (* inherited from FPSINPUT.EQP_TOOLS)

IGNORE_BATCH_FOR_INC_BATCH_PCT

This flag will allow batch thp tools to not report any incomplete batch pct for ETP if set to Y. This should rarely be used for tools that should schedule as batch tools but not report any ETP loss because of the batch size. This configuration is created specifically for the Mattson Asher tools (* inherited from FPSINPUT.EQP_TOOLS)

IGNORE_MAIN_ALWAYS

This flag indicates to ignore the state of the main entity. When this flag is set and the main entity is down and a chamber is up that we schedule lots to that chamber and we consider the tool to be partially up in our ETP calculation. The only known use cases for this are Photo cells that can run track only lots when the track is up and the main cell is down. (* inherited from FPSINPUT.EQP_TOOLS)

IGNORE_MAIN_IF_PRD

Set to Y to ignore main tool in cluster calculations when in a PRD state. This is configurable because some tools log better information for main tool and some for chambers. (* inherited from FPSINPUT.EQP_TOOLS)

IS_CRITICAL_IN_NMV

Used by NextMove to highlight critical tools in BayView. Ideally the client would update this column via ETL (* inherited from FPSINPUT.EQP_TOOLS)

LABOR_AREA

LABOR_AREA allows the ability to create custom groups of tools that are not necessarily in the same bay. This allows you to assign tools to custom work areas that match the way they run the fab. (* inherited from FPSINPUT.EQP_TOOLS)

LABOR_EFFICIENCY_PCT

This is a percentage that will be used to remove the time operators spend doing things other than loading tools from their total available time. This value is tool specific because the location of the tool matters for the delivery time. (* inherited from FPSINPUT.EQP_TOOLS)

LOTS_AT_RISK_AVG_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average lots at risk under the lower limit value. The lots at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

LOTS_AT_RISK_AVG_UPPER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average lots at risk under the upper limit value. The lots at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

LOTS_AT_RISK_MAX_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have a max lots at risk under the lower limit value. The lots at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

LOTS_AT_RISK_MAX_UPPER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have a max lots at risk under the upper limit value. The lots at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

MAX_CARRIERS_TO_RESERVE

Maximum number of carriers the tool is allowed to reserve. This is tool specific and the process might have a different restriction and we take the min. (* inherited from FPSINPUT.EQP_TOOLS)

MODEL_NUMBER

Model of tool provided by manufacturer. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS)

PREFERRED_EQP_MODULE

The EQP_MODULE of a tool is automatically calculated based on the module of its primary process family. It is highly discouraged to have tools that are commonly used with multiple process families, but if this case exists you can prefer one module by setting this field. This should normally be blank. Please note this column has nothing to do with the MNT_MODULE for this tool which is assigned in EQP_MNT_FAMILIES, and is always uniquely specified by tool -> eqp_type -> mnt_family -> mnt_module. (* inherited from FPSINPUT.EQP_TOOLS)

REMOVAL_DATE

Date the tool will be removed from the fab used for future capacity modeling. Currently we do not filter tools from current use if this date is in the past as we expect the tool to be deleted from this table. However this is something to consider. (* inherited from FPSINPUT.EQP_TOOLS)

SERIAL_NUMBER

Tool serial number. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS)

SHARED_PARENT_TOOL

This indicates that multiple tools share the same physical parent tool even though they operate completely independently. It is critical that the shared_parent_tool not have the same name as the tool or any other tool. Tubes in a furnace are one example. Chambers that are completely independent are another example but we need to be very careful when we define chambers or groups of chambers as separate tools. This should be done when there is no possibility that a lot might run across what we define as tools. (* inherited from FPSINPUT.EQP_TOOLS)

SINGLE_CH_TYPE

When a tool only has one chamber then we do not include the chamber in EQP_CHAMBERS, however, for purposes of our throughput calculations we need to log the correct ch_type so that jobs can be accurately compared to other tools of the same eqp_type and ch_type. For example, if we have ET101 with one etch chamber A and ET102 with two etch chambers A and B then we estimate that a job processing on ET101 (obviously using only ET101CHA) has the same throughput as a job processing on only ET101CHA. (* inherited from FPSINPUT.EQP_TOOLS)

SOFTWARE_VERSION

Software version the tool is running. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS)

TOOL_MSO_GROUP

TOOL_MSO_GROUP is the grouping of tools used for Metrology Sampling Optimizer. This grouping is used in the Sampling Dashboard and for assigning event based sampling rules for a tool group. This group is similar to process family but allows a tool grouping specific to the MSO. (* inherited from FPSINPUT.EQP_TOOL_MSO_GROUPS)

USE_LOT_COMP_OVR

Flag to indicate whether lot process completion requires is_complete to be set to Y in fpsinput.wip_lots_ovr_est_end_inst for a specific tool. (* inherited from FPSINPUT.EQP_TOOLS)

WAFERS_AT_RISK_AVG_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average wafers at risk under the lower limit value. The wafers at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

WAFERS_AT_RISK_AVG_UPPER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have an average wafers at risk under the upper limit value. The wafers at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

WAFERS_AT_RISK_MAX_LOWER_LIMIT

Tool level limit that is used to highlight in the dashboard how many tools have a max wafers at risk under the lower limit value. The wafers at risk is a increments each time a lot runs at the main process tool until a measurement triggers the counter to reset. (* inherited from FPSINPUT.EQP_TOOLS)

WAFERS_AT_RISK_MAX_UPPER_LIMIT

ALWAYS_SBY_AFTER_DOWN

Normally when an entity comes up after a down state we set the ETP state to the proc_state if a lot is processing so that we return to PRD when the entity alarms during processing. However this introduces a risk if the lot aborts when the tool goes down and fails to properly log an abort in which case we will return to PRD when the lot is no longer processing. This flag allows you to avoid this risk for eqp types where you know that abort are not logged properly but it also means that these tools will never return to PRD after a short alarm so we prefer to have this set to N. (* inherited from FPSINPUT.EQP_TYPES)

CAN_MULTIPLE_JOBS_SHARE_DISC

For tools that run per disc, we need to know if a disc can combine wafers from multiple jobs (job is usually lot). If N, this means we can divide job qty by wafers per disc to get number of discs used for the lot. For the common case of 25 wafers per carrier and 13 wafers per disc then any lot with 1-13 wafers will use 1 disc and 14-25 wafers will use 2. If Y, it is more complicated. In the same common case, the first lot will use two discs 13+12 then a second cascading lot of the same recipe will use three discs 1+13+11 then third also three discs 2+13+10 and so on. This must be set along with WAFERS_PER_DISC. (* inherited from FPSINPUT.EQP_TYPES)

COST_PER_JOB

Cost to process each job on a tool in this eqp type. In WIP_STEP_HIST we use this and cost per unit to record cost per lot after each complete on a tool. (* inherited from FPSINPUT.EQP_TYPES)

COST_PER_UNIT

Cost to process each unit on a tool in this eqp type. In WIP_STEP_HIST we use this and cost per job to record cost per lot after each complete on a tool. (* inherited from FPSINPUT.EQP_TYPES)

COUNT_UDT_TO_PM_AS_FTR

When determining if a PM was performed first time right this flag will change if determine if a PM that is done to resolve a UDT counts as part of FTR or not. Specifically the GTG window has to start in a UDT state and then go directly to an SDT state that is a PM. Y means that the SDT PM will be evaluated for FTR, if N then FTR will be null, aka not evaluated. (* inherited from FPSINPUT.EQP_TYPES)

DEFAULT_DURABLE_CHG_COST

Default durable change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used. (* inherited from FPSINPUT.EQP_TYPES)

DEFAULT_DURABLE_CHG_SEC

This column is part of the Area Scheduler configuration. Please see Area Scheduler documentation for details. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

DEFAULT_RECIPE_CHG_COST

Default recipe change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used. (* inherited from FPSINPUT.EQP_TYPES)

DEFAULT_RECIPE_CHG_SEC

This column is part of the Area Scheduler configuration. Please see Area Scheduler documentation for details. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

DEFAULT_SETUP_CHG_COST

Default setup change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used. (* inherited from FPSINPUT.EQP_TYPES)

DEFAULT_SETUP_CHG_SEC

This column is part of the Area Scheduler configuration. Please see Area Scheduler documentation for details. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

EQP_TYPE_DESC

DISPATCH_RULE

Optional field to store the dispatch rule used for the equipment type if known. This is not used in our DWH logic. This field could be set for informational purposes from the dispatching configuration file/table or this could be the real source of the dispatch rule and the dispatch system could query this table. (* inherited from FPSINPUT.EQP_TYPES)

EXP_CASCADE_BATCHES

Expected cascade batches is only for cascading batch tools. It is used in throughput calculations to determine how many batch_intervals to count after each first_unit_sec. If this is not populated we assume the batch tool does not cascade. This value could also be used in dispatching/scheduling to specify how many batches should be cascaded before a setup change is allowed. Historical data should be compared to this value regularly to verify it. (* inherited from FPSINPUT.EQP_TYPES)

EXP_CASCADE_QTY

Expected number of wafers in a cascade is only for cascading tools which are not batch tools. It is used in throughput calculations to determine how many unit_intervals to count after each first_unit_sec. If this is not populated we use the exp_qty_per_carr_for_wph as the default meaning we cascade just one carrier. This value could also be used in dispatching/scheduling to specify how many wafers should be cascaded before a setup change is allowed. Historical data should be compared to this value regularly to verify it. (* inherited from FPSINPUT.EQP_TYPES)

EXP_QTY_PER_BATCH

Expected wafers in a batch used in throughput calculations and for inc_batch_pct calculation. This value is required to be populated for batch tools. (* inherited from FPSINPUT.EQP_TYPES)

EXP_QTY_PER_JOB

If populated this value is used for the EET/TCT calculation for this eqp type instead of avg_qty_per_carr_for_wph which is the default for the facility. (* inherited from FPSINPUT.EQP_TYPES)

FIXED_CARRIER_SEC

Seconds between units in two different carriers in additional to the normal unit interval. This time is added to the EET, MPU, and UPH. (* inherited from FPSINPUT.EQP_TYPES)

FTR_U_MIN_MFG_SECS

This value is the minimum time a entity must be in an MFG state (SBY and PRD) in order to close an FTRu window. (* inherited from FPSINPUT.EQP_TYPES)

IGNORE_BATCH_FOR_ETP

Some unusual tools load lots as a batch but then process each lot individually like a non-batch tool. On these tools we need to treat them as batch tools for Dashboard and Scheduler but ETP should treat each lot individually. This flag tells ETP to do just that. (* inherited from FPSINPUT.EQP_TYPES)

IGNORE_HOLD_FOR_PROC_STATE

When a metrology tool detects an error on a wafer, it often automatically places the lot on hold even though the job is still processing on the metrology tool. When this happens, we want to consider this as a "running hold" which means that the lot continues processing and then will be on hold as soon as it finishes. There are two ways to indicate a running hold if put on hold during processing, either by the is_running_hold_if_proc column for a hold_type or by this column for all tools in an eqp_type. This is an "or" condition so if a hold_type is Y that applies to all tools and if a tool is Y that applies to all hold types. When a lot goes on a running hold, we will set the ECT state of the lot to PRD-RUNHOLD and keep the ETP state of the tool in PRD. Then when the lot ends or moves to the next step, we will set the ECT state of the lot to HOLD and set the ETP state of the tool using our normal END logic which will set to Standby unless a newer job has started. (* inherited from FPSINPUT.EQP_TYPES)

INCLUDE_IN_DASH_DOWN

This column will hide tools from the Down tools section of the Equipment Dashboard if set to N for this opportunity state (* inherited from FPSADMIN.ETP_L4_OPPORTUNITY_STATES)

INHIBIT_E_FOR_SCH

In the curr_rank logic used for ETP, perm_rank E (Emergency) automatically becomes U (Use Emergency) when all other allowed tools are down or blocked. The idea of this logic is that we will only want to run lots of rank E when there is no better available allowed tool. When this column is set to Y then we replicate this behavior for Scheduler and only send lots with perm_rank E to the Scheduler when all other allowed tools are down or blocked. If this is set to Y and the lot has at least one other tool of a better rank like P or A then we will not show this tool as an option for this lot on Scheduler. (* inherited from FPSINPUT.EQP_TYPES)

SCH_INHIBIT_SEC_FOR_DOWN

Used for Scheduler. This flag prevents lots from scheduling to down entities if the expected downtime of the entity is equal to or longer than this flag. This flag should be null if you never want to inhibit lots from scheduling (this is the default). Setting to 0 will always inhibit lots from scheduling to down entities (* inherited from FPSINPUT.EQP_TYPES)

IS_BATCH_THP

This is a critical value for throughput calculations. Throughput for batch tools is the same regardless of the qty in the batch. Throughput for non-batch tools varies based on the qty in the job. Usually this is Y when max_batch_size_carriers > 1 but not always. We can have tools who load multiple carriers together but whose throughput is calculated per unit. We can also have tools who load only single carriers but whose throughput is calculated per batch. (* inherited from FPSINPUT.EQP_TYPES)

IS_CASCADING_IMPOSSIBLE

There are some chamber tools where we know cascading is not possible but running in parallel can confuse the THP logic so this flag addresses that. (* inherited from FPSINPUT.EQP_TYPES)

IS_REAL_TOOL

Flag indicating whether tool physically exists. An example where this is not set would be lot start or visual inspect. (* inherited from FPSINPUT.EQP_TYPES)

LABOR_ROLE

Labor roles indicate who can support processing on a particular eqp_type. For example, a metrology tool might require a more experienced technician to do the inspection than a processing tool which just needs to be loaded. (* inherited from FPSINPUT.EQP_LABOR_ROLES)

LABOR_SEC_PCT_FROM_LOAD

Specifies the amount of LABOR_SEC_PER_CARR that is associated with loading vs unloading. The default of 50 means that load and unload take the same time each half of the total. Then if load took 60 sec and unload took 40 sec we would enter 100 sec in for the labor_sec_per_carr and enter (60/100)100=60 as the percentage (* inherited from FPSINPUT.EQP_TYPES)

LABOR_SEC_PER_BATCH

Required labor seconds for this labor role to run a batch (* inherited from FPSINPUT.EQP_TYPES)

LABOR_SEC_PER_CARR

Required labor seconds for this labor role to run a carrier (* inherited from FPSINPUT.EQP_TYPES)

LABOR_SEC_PER_UNIT

Required labor seconds for this labor role to run a wafer (* inherited from FPSINPUT.EQP_TYPES)

LOAD_SEC

For throughput purposes, we would like the begin event to be logged when the first wafer of the lot enters the tool so that we can accurately track theoretical cycle time (TCT) which starts at this point. If the tool logs as desired then this column will be 0 and it usually is. But some tools do not log the begin event until some amount of time later, for example after the pumping time. This column exists to account for this delay and it is the number of seconds from when the first wafer enters until the begin is logged. We simply add this time to the processing time to get the TCT. This is by eqp_type as we estimate that all recipes of all tools in the same eqp_type will be consistent in this behavior. Please note that unload_sec is similar for any time after the end event until the lot can be unloaded. (* inherited from FPSINPUT.EQP_TYPES)

LOGS_LOT_BEG_END_FROM_EQP_CHG

This flag is for some older simple tools that automatically log that the tool started and finished processing but do not know the lot. When this is set to Y then when the eqp_state changes to PRD we look up the most recently dispatched lot and log a BEGIN event for that lot. Similarly when the eqp_state changes from PRD then we log an END event. For batch tools, we assume all dispatched lots are in the batch when we log BEGIN and we assume all processing lots are in the batch when we log END. If you set this to to Y for any tool then you must insert both BEGIN_FROM_EEH and END_FROM_EEH into your WIP_EVENTS table. (* inherited from FPSINPUT.EQP_TYPES)

MANUFACTURER

Manufacturer of the tool used for display purposes only. (* inherited from FPSINPUT.EQP_TYPES)

MAX_BATCH_SIZE_CARRIERS

Maximum number of carriers which can be loaded together in a batch. This column must be populated and is used for ETP and for scheduling to determines whether the tool loads in batches. Non-batch tools will have a value of 1 and batch tools limited by units will be populated according to the comment in max_batch_size_units. This is not used for throughput calculation because we can have tools which load multiple carriers at once but whose throughput is calculated per unit. (* inherited from FPSINPUT.EQP_TYPES)

MAX_BATCH_SIZE_LOTS

The maximum number of lots allowed in one batch (* inherited from FPSINPUT.EQP_TYPES)

MAX_BATCH_SIZE_UNITS

Maximum number of units which can be loaded together in a batch for a tool where the batch size is limited by the number of units. This value should nearly always be greater than the standard lot size. If it is less, that means that standard lots must be split in order to run on this tool. This is rare but possible therefore we have no constraint and allow this value to be as small as 1. This column will be null for non-batch tools. For batch tools,There are three cases to consider here. The first case is where the limit is only on carriers which is most common. For example, a furnace can load up to 6 carriers regardless of the units in each carrier. In this case, max_bs_carriers is 6 and max_bs_units is null. The second case is where the limit is only on units. For example, the tool can load 100 wafers regardless of the number of carriers. In this case, max_bs_units and max_bs_carriers should both be 100 which indicates that we could theoretically load a full batch of 100 carriers each with one unit. The third case is where the limit is on both carriers and units. For example, you can load up to 4 carriers and up to 80 units (meaning you cannot load 4 carriers of 25 units each nor can you load 5 carriers of 15 wafers each). In this case, max_bs_carriers is 4 and max_bs_units is 80. (* inherited from FPSINPUT.EQP_TYPES)

MAX_MERGE_NUM_LOTS

At some sites we schedule lots to be merged there can be limitations to the total number of additional lots that can be merged together in a single carrier. This limit maybe met without reaching the maximum number of wafers in the lot. If this number is set to 1 then another lot can be merged into the same carrier with this lot. 0 or null here means no lots can merge into this carrier (* inherited from FPSINPUT.EQP_TYPES)

MAX_QTY_IN_JOB

Normally we assume that the maximum qty in a job for a non-batch tool is the max_qty_per_carrier for the facility. However sometimes the maximum per job is less than that and this column allows us to override. For example, the max_qty_per_carrier for the facility is 25 but a certain eqp type can do no more than 13 units per job. In this case, if the carrier has 13 wafers or less then we schedule normally but if it has more than 13 then we must ask for a split. (* inherited from FPSINPUT.EQP_TYPES)

MAX_RCP_CHG_SEC

Maximum time allotted for recipe change. If standby time between lots of different recipes exceeds this time then the remainder counts as standby. (* inherited from FPSINPUT.EQP_TYPES)

MINS_TO_USE_ENT_AS_BEG_IF_ZERO

If this value is set and end_proc_inst is logged less than 60 seconds after beg_proc_inst and end_proc_inst is less than this many minutes after step_ent_inst then we will use step_ent_inst as beg_proc_inst for throughput calculations. This is typically used at metrology operations. (* inherited from FPSINPUT.EQP_TYPES)

MIN_BATCH_SIZE_CARRIERS

Minimum number of carriers which should be loaded together in a batch. Scheduler will do everything possible to wait for at least this many carriers before scheduling. (* inherited from FPSINPUT.EQP_TYPES)

MIN_BATCH_SIZE_LOTS

The minimum number of lots required in one batch (* inherited from FPSINPUT.EQP_TYPES)

MIN_BATCH_SIZE_UNITS

Minimum number of units which should be loaded together in a batch. Scheduler will do everything possible to wait for at least this many units before scheduling. (* inherited from FPSINPUT.EQP_TYPES)

MIN_BATCH_WAIT_MINS

Minimum amount of time that a group of lots MUST wait before scheduling a group of lots below the minimum batch size. This value must be populated for the Scheduler to apply minimum batch logic. Null means Scheduler will not evaluate minimum batch constraints. (* inherited from FPSINPUT.EQP_TYPES)

MIN_CASCADE_BATCHES

Minimum number of batches allowed in a cascade is used for dispatching/scheduling. If a tool is below the minimum it should run a lower priority lot to maintain the cascade. (* inherited from FPSINPUT.EQP_TYPES)

MIN_CASCADE_QTY

Minimum number of wafers allowed in a cascade is used for dispatching/scheduling. If a tool is below the minimum it should run a lower priority lot to maintain the cascade. (* inherited from FPSINPUT.EQP_TYPES)

MIN_DISP_SEC_RQD_FOR_COMP

This parameter allows us to configure the minimum seconds required from DISP to COMP in order to set move_type to COMP. It is typically set only for metrology tools where pass-through moves are common. It only applies if a tool is required for COMP and events have been logged to a tool but no automatic BEGIN nor END events. (* inherited from FPSINPUT.EQP_TYPES)

NMV_USE_DISP_INST

A flag that will help decided whether to use the start time or dispatch time. (* inherited from FPSINPUT.EQP_TYPES)

NON_TW_RQD_FOR_GTG

Flag used to determine if PRD unites are required to close a Green-to-Green window. (* inherited from FPSINPUT.EQP_TYPES)

OVR_SAME_JOB_IF_WITHIN_SEC

Our default behavior is to consider a subsequent begin event to a batch tool in the same batch if within 20 seconds. For a non-batch tool the default is to only consider in the same job if in the same second. This flag can be used to adjust this if necessary. (* inherited from FPSINPUT.EQP_TYPES)

OVR_UTIL_OF_AVAIL_FOR_MAQT

This is the override value used in the multi area queue timer wip ETL (RTG_REF_QUEUE_MULTI_AREA_WIP) for the utilization of availability used in determining the % of the available tools in the timer to process the WIP. If left null, the ETL will use the plan avail * plan util. This was created as the plan avail and plan util columns are used for the Dashboard targets on the tool state history charts and some clients want to use non target values for the queue timer evaluation. (* inherited from FPSINPUT.EQP_TYPES)

PLAN_AVAIL

Planned availability used in goal planner and capacity model. Plan_avail + plan_sched + plan_unsched = 100. (* inherited from FPSINPUT.EQP_TYPES)

PLAN_SCHED

Planned scheduled downtime used in goal planner and capacity model. (* inherited from FPSINPUT.EQP_TYPES)

PLAN_UNSCHED

Planned unscheduled downtime used in goal planner and capacity model. (* inherited from FPSINPUT.EQP_TYPES)

PLAN_UTIL

Planned utilization used in goal planner and capacity model. Must be less than plan_avail. (* inherited from FPSINPUT.EQP_TYPES)

PREP_SEC

The time in seconds required to prepare the lot before track in. (* inherited from FPSINPUT.EQP_TYPES)

SETUP_EXPIRES_AFTER_MINS

If tool has been in Standby for longer than this number of minutes then we consider that setup to be expired and do not apply penalties based on this setup to decide which job to schedule next on the tool. We use this field to populate curr_setup_expire_inst in ETP_STATUS when a job ends and then we consider the setup expired when this time is in the past. (* inherited from FPSINPUT.EQP_TYPES)

SCH_WAIT_SEC_VERIFY_SHORT_DOWN

When a tool goes down, highlighted priorities will wait this many seconds after the down event to break the reservation. (* inherited from FPSINPUT.EQP_TYPES)

SCH_WAIT_SEC_VERIFY_LONG_DOWN

When a tool goes down, non highlighted priorities will wait this many seconds after the down event to break the reservation. (* inherited from FPSINPUT.EQP_TYPES)

SCH_ENABLE_CHAMBER_TO_SCHED

This is used for the scheduler, to enable/disable if it will need to schedule on the chamber level; by default, it is set to schedule on chamber level. (* inherited from FPSINPUT.EQP_TYPES)

SCH_USE_TOOL_THP_ESTIMATES

This column has a default value of Y but by setting this to N you can configure the Scheduler to not use tool-specific throughput estimates. The use case is when you know that one tool in the eqp_type has been faster than another tool in recent weeks but we do not want the faster tool to get any preference in Scheduler. Technically speaking, when this flag is set then calls to GET_THP_VALUES from Scheduler objects will not lookup estimated values in THP_TOOL_AUTO but will get all estimated values by eqp_type from THP_EQPTYPE_AUTO. This flag does not apply to lots which have already started processing on the tool and have an actual_machine_recipe since at this point the tool is already chosen and getting the most accurate data is more important than avoiding preferring one tool over another. In addition to one tool actually processing lots faster, please note that faster throughput estimates can also be caused by loading one tool significantly more efficiently than another tool and therefore cascading better. This is because our throughput estimates attempt to estimate the throughput on a perfectly cascading tool but the only reasonable way to define "perfect cascading" is to use the best cascading that we observed on the tool from the history. (* inherited from FPSINPUT.EQP_TYPES)

THP_CUTOFF_INST

This column should be set after we make a significant fix to logic or configuration for a particular eqp_type that impacts the throughput calculations. When this value is set and we have at least one week of good data after this time then we will only count weeks after this time as valid for our throughput calculations in THP_EQPTYPE_AUTO or THP_TOOL_AUTO. Without this capability, the throughput would be wrong for up to four more weeks and now we could see improvements as soon as the next week. (* inherited from FPSINPUT.EQP_TYPES)

THP_IGNORE_LESS_THAN_JOB_QTY

If qty_in_job is less than this value then we will set thp_ignore_reason to QTY and therefore ignore this job for our throughput calculations. (* inherited from FPSINPUT.EQP_TYPES)

TOOL_OWNER_NAME

Name of the engineer who is responsible for the tools of this type (* inherited from FPSINPUT.EQP_TYPES)

UNLOAD_SEC

Seconds after the end is logged until the lot is available to be unloaded. This will often be 0. Unload_sec is added to the first_wafer_sec in throughput calculations. (* inherited from FPSINPUT.EQP_TYPES)

USE_EQP_CH_RECIPE

This flag is currently not used. Its purpose is to indicate whether tools in this eqp type will update the curr_recipe column for the chamber in ETP_STATUS table with the actual_machine_recipe after each wafer-chamber begin event in WIP_WAFER_HIST. If this functionality is needed then we can address. (* inherited from FPSINPUT.EQP_TYPES)

USE_EST_MACH_RCP_AS_RQD_SETUP

For some eqp types we just want to calculate setup penalty based on est_machine_recipe and setting this flag does this for the entire eqp type without having to actually set the ovr_rqd_setup field for each record in RTG_TOOL_ASSIGNMENTS. (* inherited from FPSINPUT.EQP_TYPES)

USE_LOAD_PORT_FULL_PCT_FOR_ETP

If set to Y this tells our ETP logic to set the tool_prd_pct to the greatest of the ch_prd_pct and the load_port_full_pct. This only applies to tools with at least 2 chambers and at least 2 ports. The ch_prd_pct is our current logic based on the number of productive chambers and their chamber types. The new calculation for load_port_full_pct is simply the percentage of load ports occupied by lots that are processing. Our first example is a tool that has 4 chambers and 2 load ports. We would normally run lots through all chambers but instead we run two lots that are single chamber processes. So lot L1 is processing on CHA and lot L2 is processing on CHB and CHC and CHD are sitting idle. Tool_prd_pct is 50% so our previous logic (which is unchanged if use_load_port_full_pct_for_etp is set to N) reports this tool as 50% PRD and 50% SBY using the logic that only 2 of the 4 chambers are processing. With the new logic, load_port_full_pct is 100% which means that if use_load_port_full_pct_for_etp is set to Y that we will report this tool as 100% PRD using the logic that both load locks are occupied so the operator has no possibility to improve the productivity of the tool. A second example is the same tool with only one load lock occupied. This lot is processing only on CHA which is PRD so CHB+C+D are SBY. Tool_prd_pct is 25% and load_port_full_pct is 50%. If use_load_port_full_pct_for_etp is N then the tool is 25% PRD 75% SBY . If Y then it is 50% PRD 50% SBY. (* inherited from FPSINPUT.EQP_TYPES)

USE_MAX_QTY_ANY_CARR_FOR_THP

Some tools like Mattson Ashers process lots two at a time in parallel but wafer by wafer. For these tools, processing time estimates for the batch is based on the maximum number of wafers in any carrier in the batch. For example, batches consisting of two 25 wafer lots or a 25 wafer lot and a 22 wafer lot or a 25 wafer lot and a 1 wafer lot would all have the same throughput estimate which is based on 25 wafers as the maximum qty in any carrier. (* inherited from FPSINPUT.EQP_TYPES)

USE_PROCESS_AS_RQD_SETUP

For some eqp types we just want to calculate setup penalty based on process and setting this flag does this for the entire eqp type without having to actually set the ovr_rqd_setup field for each record in RTG_TOOL_ASSIGNMENTS. (* inherited from FPSINPUT.EQP_TYPES)

USE_SETUP_CHG_AUTO_FOR_SCH

If USE_SETUP_CHG_MANUAL_FOR_SCH and USE_SETUP_CHG_MANUAL_FOR_SCH are both set to Y then we use both manual and auto values from EQP_SETUP_CHG_FINAL. If both columns are set to N then we use the default value for all setup costs and setup seconds. If manual is Y and auto is N then we use manual values but not auto values. It is not allowed to set manual to N and auto to Y. (* inherited from FPSINPUT.EQP_TYPES)

USE_SETUP_CHG_MANUAL_FOR_SCH

See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on this column. (* inherited from FPSINPUT.EQP_TYPES)

USE_SETUP_INST_AS_START

When this is set to Y and sched_setup_start is populated and at least two seconds before sched_start then we will use sched_setup_start as the est_beg_inst for Dashboard and NextMove. (* inherited from FPSINPUT.EQP_TYPES)

USE_WFR_EVENTS_FOR_THP

This flag determines whether wafer events should be considered for THP calculations for this eqp type. The default value is Y, meaning that they should be considered, but on tools where we find that the wafer events are inconsistent then we can set to N to ignore wafer events and only use lot events in THP calculations. (* inherited from FPSINPUT.EQP_TYPES)

WAFERS_PER_DISC

This number is specifically used to calculate throughput on tools that run per disc rather than per unit or per batch. It is most commonly set to 13 or 17 for Implant tools. It must be set along with CAN_MULTIPLE_LOTS_SHARE_DISC. (* inherited from FPSINPUT.EQP_TYPES)

WAFER_SIZE

If the facility only has one wafer size then this column should be null in both RTG_PRDS and EQP_TYPES. If the facility has more than one wafer size then a value of null in EQP_TYPES means that those tools can run all wafer sizes. See column IS_ANY_WAFER_SIZE for details. (* inherited from FPSINPUT.GEN_WAFER_SIZES)

WHY_IGNORE_CH_TYPE_WARN

Our throughput calculations are unhappy if two tools in the same eqp_type have different chamber types used for throughput. If you research this and find that this is really true that one tool really has different chamber types than another tool in the same eqp_type then these tools should not be in the same eqp_type! But if the site currently does not care then write the reason why this check can be ignored for this eqp_type in this column. (* inherited from FPSINPUT.EQP_TYPES)

DEFAULT_QTY_MEAS

Default number of wafers measured in a lot on the tool in the family. This is used if the number of wafers measured is not specified for a particular lot. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES)

MIN_PROC_TIME_SEC

Normally we ignore process times less than 60 seconds when calculating throughput to avoid the dreaded case when the operator logs begin and end together. However some tools actually process jobs in less than 60 seconds so we need to override this with a smaller number. If desired we could also override with a larger number. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES)

MAX_PROC_TIME_SEC

We typically have decent logic to ignore certain cases and only take 10-50% but this is another way to eliminate bad data. We do not recommend setting this unless you investigate certain cases of throughput oddities and decide there is no other method. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES)

SCHED_GROUP

This is the grouping of tools and processes which the FPS Scheduler schedules together. Since this is a parent of tool via tool->process_group and a parent of process via process->process_group, by definition each tool and each process can only be in one sched group. We need all related tools and processes to be in the same sched group for efficient scheduling. One example is sinks and furnaces because of queue times and batching. Another example is for smaller facilities like Assembly or Test where we might schedule the entire facility together. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

BOTTLENECK_TIER

This field is used for scheduling to determine which group should be scheduled first. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

DEFAULT_UNAVAILABLE_SEC

This column is part of the Area Scheduler configuration. Please see Area Scheduler documentation for details. (* inherited from FPSINPUT.RTG_PROCESS_GROUPS)

HOURS_TO_SCHEDULE

This column is used to determine how many hours to look ahead and schedule the lots that might come into this area/SCHED-GROUP even it is still several steps away. (* inherited from FPSINPUT.RTG_SCHED_GROUPS)

PROCESS_CLASS_SORT_ORDER

BUILDING

Building is the top of our MHS hierarchy at each site. It is independent of facility which is at the top of our EQP/RTG hierarchy. It is possible for a building to include multiple facilities and for a facility to include multiple buildings but we do not even need to define these relationships because EQP_TOOLS determines this by the combination of the facility and bay columns (since bay points to building). (* inherited from FPSINPUT.MHS_BUILDINGS)

ALL_CH_ON_TOOL

CH_TYPE_FOR_THP

NUM_ENTS_FOR_TOOL_INCL_AST

NUM_ENTS_FOR_TOOL_NOT_AST

FILTER_FROM_EQP_SUMMARIES

If this is Y then tools in this MNT_FAMILY will not be included in the EQP/ETP state summary bar charts on the facility and module level. This applies to bar charts on the Operations, Equipment, and Performance tabs of the Dashboard. EQP/ETP state summaries will still be available for these tools on the process family and tool level. (* inherited from FPSINPUT.EQP_MNT_FAMILIES)

ALPHA_NUM_SORT_TOOL

IS_DURABLE_ASSIGNED

NUM_LOAD_PORTS

NUM_INTERNAL_PORTS

TOOL_MSO_MODULE

TOOL_MSO_MODULE is the module responsible for the tool_mso_groups used for the Metrology Sampling Optimizer. The module is used for building the tool hierarchy for the Sampling Dashboard. (* inherited from FPSINPUT.EQP_TOOL_MSO_GROUPS)

TOOL_MSO_MODULE_DISPLAY

LOGS_AUTO_BEGIN

For tools that log auto begin events we want the manual begin (i.e. the MES lot start or batch start or track in) to count as a DISPATCH event. But for tools which do not log auto begin events, we want the manual begin to count as a BEGIN_M event. We automatically calculate logs_auto_begin for each tool and then we set events which are configured as BEGIN_M in WIP_EVENTS to DISPATCH where logs_auto_begin is Y. (* inherited from FPSBASE.EQP_TOOLS_PLUS)