Data Dictionary
>
FPSBASE Views
> FPSBASE.WIP_WAFER_HIST_LOOP
View FPSBASE.EQP_ENTITIES_PLUS
A view to join all EQP tables to get all info about each entity. This is the base for all EQP views in all FPSAPP applications, either directly or through EQP_TOOLS_PLUS which uses 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) |
|
ENTITY |
The lowest level of the equipment hierarchy that an event can be logged against. Tools, subtools, shared parent tools, chambers, ports are all entities. Load locks are also included although we consider them as ports. (* inherited from FPSINPUT.EQP_STATUS_VERIFY) |
|
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) |
|
CHAMBER |
Chambers belong to a main tool, have a state which is independent of the main tool and other chambers on the same tool, and can have events logged against it. The difference between a chamber and a port is that a chamber processes lots while port is just a location. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
CH_SHORT_DISPLAY |
Short display for the chamber displayed on Dashboard and reports as part of a list of chambers used. This should not include the tool name but only the chamber on the tool so if the chambers on ET11 are ET11CHA and ET11CHB1 and ET11CHB2 then this field should be A, B1, and B2. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
CH |
A single character to identify the chamber which must be unique with the tool. We concatenate the CH to get the string for CH_USED so it is helpful for diagnostic purposes if this single character is representative of the chamber (i.e. A for ET12CHA or 1 for MD27C1) because then the CH_USED string makes sense. However it is not required and if the chamber naming is inconsistent we might get use 1, 2, 3, etc. for the CH. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
LOG_TYPE |
|
|
CH_TYPE |
This column is critical for sequential chamber tools where a wafer goes through multiple chambers. It identifies the type of chamber so two chambers with the same ch_type are identical and wafers can use either one. See comment on mfg_pct_per_ch column for an example. For independent chamber tools where all chambers are the same and each wafer goes to only one chamber then ch_type should be set to the default value CH so that ch_type_cnt is 1CH, 2CH, 3CH, etc. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
CH_TYPE_NOT_NULL |
|
|
SORT_ORDER_WITHIN_TOOL |
|
|
CAP_ENTITY |
|
|
SUBTOOL |
A subtool is an entity in the MES to which events can be logged that is between TOOL and CHAMBER. Subtool is rarely used. One example is when a chamber is part of a side which is part of a main tool and it is possible to log the side down which means you cannot use any chambers on that side. The side would be a subtool. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
MFG_PCT_PER_CH |
This optional value is the mfg_pct of the tool when this chamber is the only chamber of its ch_type that is MFG (PRD or SBY) while all chambers of all other ch_types are MFG. This column applies to sequential chamber tools which have chambers of more than one ch_type and have multiple chambers with the same ch_type. The default if this column is not set is to assume that all ch_types are bottlenecks of the tool so if 3 of 4 chambers of one type are MFG then the mfg_pct for that type is 75. If 2 of 3 then 66.7% and so on. But typically one ch_type is the bottleneck which means that if a chamber of another type is NONMFG (ENG or UDT or SDT) then the mfg_pct of tool is better than the ratio. Let us say a tool has two clean chambers C1+C2 and three deposition chambers C3+C4+C5. C1+C2 have ch_type CLEAN while C3+C4+C5 are all DEP. If both C1+C2 are NONMFG then the mfg_pct of the tool is 0% regardless of the status of the DEP chambers because it has no CLEAN chamber. Similarly if all three of C3+C4+C5 are NONMFG then it is also 0%. Of course if all chambers are MFG then it is 100%. But if at least one chamber is MFG while at least one of the CLEAN chambers and at least one of the DEP chambers is MFG then the tool can still run albeit with a degraded throughput. By default if only one of C1+C2 is MFG then the mfg_pct of the ch_type CLEAN is 50%. Similarly if one of C3+C4+C5 is MFG then the mfg_pct of DEP is 33.3% and if two then 66.7%. Technically the default calculation is 100/n where n is the number of chambers of the ch_type. But if the CLEAN chambers are the bottleneck and only one DEP chamber is NONMFG then the throughput will exceed the default of 67% and this mfg_pct_per_ch value is an estimate of this. If the mfg_pct_per_ch for DEP is 40 that means the throughput will be 40% with one DEP chamber up and 80% with two DEP chambers up. So the mfg_pct of the ch_type is p * number of MFG chambers (but no more than 100 of course) and the mfg_pct of the tool is the minimum of the mfg_pct of each ch_type. One final note is that mfg_pct_per_ch is an approximation of the contribution of each chamber for all recipes but in reality each recipe can be different. If we know the throughput for the chamber combination for the recipe then we use that instead of the mfg_pct_per_ch. For example, if C4 is NONMFG, mfg_pct_per_ch tells us the tool mfg_pct is 80% and we use that 80% number if the tool is standby or if we do not know the throughput on C1+C2+C3+C5 for the recipe running. But if we know that recipe runs at 30 UPH with all five chambers but 27 UPH with C1+C2+C3+C5 then we set the tool mfg_pct to 90%. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
TOOL_MFG_PCT_ALL_TYPE_NONMFG |
This column indicates tool mfg_pct if all chambers of the ch_type are NONMFG. It works in combination with ch_type, mfg_pct_per_ch, and subtool to allow us to calculate tool_pct for what we currently believe are all cases of chamber combinations. The common example here is a Litho cell which can still run in track-only mode if stepper is NONMFG but cannot run anything if track is NONMFG. Our default is to take the minimum mfg_pct of each type which would result is 0% for the tool if stepper was NONMFG. This column overrides that so if we set it to 60 for the stepper then we would consider the tool 60% even though only the track was MFG. Technically we would assign a tool_pct of 60 to the MFG track and then the remaining 40% to the NONMFG stepper. Another use for this column is when we have an extra chamber of a different ch_type that has limited use, perhaps just for R+D. Here we would set tool_mfg_pct_all_type_nonmfg to 100% and essentially ignore the chamber when it is NONMFG. In this special case, we can also set mfg_pct_per_ch to 0 to completely ignore it in any state. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
IS_SEC_FOR_BEG_END |
Set to Y to store begin and end events logged to this entity in the SEC_BEGIN_INST and SEC_END_INST columns in WIP_STEP_HIST. The common example is for steppers where the begin and end for the lot will be from the track but we also want to store the begin and end for the stepper. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
IS_ASSIST_CHAMBER |
This indicates that the chamber assists the other primary chambers. If an assist chamber is in ch_allowed then at one least chamber of the ch_type must be up but as long as this is true then we ignore the assist chambers. We send only the non-assist chambers to the schedule as ch_to_sched. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
IS_TOOL_SEQUENTIAL_CH |
|
|
USE_CH_PRD_SBY_EVENTS_FOR_ETP |
The default behavior for ETP is to set the chamber productive state during a job based on BEGIN and END events in WIP_WAFER_HIST. However on some chambers these events are not available so can set this flag to use PRD and SBY events from EQP_EVENT_HIST instead. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
IS_VIRTUAL_CHAMBER |
This flag determines whether a chamber is a virtual chamber on a tool. Virtual chambers are used for scheduling but are not tracked like real processing chambers or assist chambers in other applications. Virtual chambers exist in ETP but always contribute 0% towards the cluster calculation for the tool. An example of this usage would be to model each of the sources for an implanter as a virtual chamber, so the area would be able to log these chambers up and down as needed. When a source needs replacement, it can be logged down and the scheduler will not schedule lots needing that source, instead switching to one of the available sources. Another example would be modeling the robot as a virtual chamber on a tool. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
IS_WIP_ENTITY |
|
|
IS_MAIN_TOOL |
|
|
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) |
|
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) |
|
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) |
|
NUM_ENTS_FOR_TOOL_NOT_AST |
|
|
NUM_ENTS_FOR_TOOL_INCL_AST |
|
|
USE_FOR_FIRST_LAST_WFR |
This flag determines whether wafer events logged to the chamber should be considered for the first/last wafer begin/end columns which are calculated in WIP_LOTS_REALTIME and then saved to WIP_STEP_HIST upon completion of the step and then used in THP calculations. An example where this is set to Y for all chambers is a parallel chamber tool with all chambers of the same type where each wafer of the job goes to a different chamber. In this case we want the first_wafer_end_inst to be the first wafer end on any chamber. An example where this is set to N would be the stepper on a typical Litho cell where we want the first_wafer_end_inst to be the first wafer end on the track. If we mistakenly set this to Y for both the stepper and track then the first_wafer_end_inst would be the first wafer end on the stepper and the last_wafer_end_inst would be the last wafer end on the track and our average wafer interval would be way too long. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
ASSUME_ALL_CH_USED_ON_BEG |
Normally when we log a BEGIN event in WIP_EVENT_HIST to a chamber, we assume that only that chamber is used and we set only that chamber to PRD and keep the other chambers on the tool in SBY. However in some rare cases, usually on Litho cells, we want to treat the BEGIN like it was logged to the main tool and assume all chambers used and set all chambers to PRD. This flag allows us to do that. Note this flag has to be set for the chamber that logs the BEGIN event rather than the other chambers that we are assuming will be used. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
SET_FILLIN_ALLOWED_IF_MFG |
For chamber tools with multiple ch_types, we use either the RTG_TOOL_ASGN_LOT_xxx_PATHS table or ch_allowed to determine what ch_types are required for each lot/recipe. If we do not have paths or ch_allowed then our default logic is to assume that at least one chamber of each ch_type on the tool is required. That means that a lot/recipe would be blocked if all chambers of one ch_type are down. This can be inaccurate in either of two cases: 1) ch_type values are not set correctly in EQP_CHAMBERS, or 2) lot/recipe does not require all ch_types on the tool. If we are using Scheduler for this tool, we really need to configure the PATHS table or ch_allowed. But if not then setting this flag to Y for a chamber means that if we have no paths and no ch_allowed and this chamber is up that the lot will be allowed to process regardless of the status of other chambers on the tool. The est_ch_used in this case would be all chambers with this flag set which are up. Typically we would want to set this to Y for all non-assist chambers on a particular tool but we could also set just for the most important ch_type. (* inherited from FPSINPUT.EQP_CHAMBERS) |
|
DESCRIPTION |
Tool desciption. This value is only used to display in the Dashboard. (* inherited from FPSINPUT.EQP_TOOLS) |
|
PROCESS_FAMILY |
See https://help.inficonims.com/display/DW/Guide+to+Process+Families. (* inherited from FPSINPUT.RTG_PROCESS_FAMILIES) |
|
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) |
|
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) |
|
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) |
|
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) |
|
NUM_LOAD_PORTS |
|
|
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) |
|
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_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) |
|
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) |
|
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_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_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_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_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) |
|
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) |
|
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) |
|
OVR_SCH_RESERVE_MIN_AFTER_DOWN |
|
|
CURR_SETUP |
The current setup of the entity. This can be set by a lot processing event from WIP_EVENT_HIST or by an event on the entity from EQP_EVENT_HIST. For example if an Implant tool processes a Boron lot then the curr_setup will be Boron. Or if an event is logged to the tool that says the setup changed to Boron then the curr_setup will be Boron. Please note that the curr_setup value populated in EQP_EVENT_HIST must match exactly with the rqd_setup value in RTG_TOOL_ASSIGNMENTS in order for the setup penalty logic to apply correctly. (* inherited from FPSINPUT.EQP_EVENT_HIST) |
|
EXPIRED_SETUP |
|
|
CURR_SETUP_INST |
This DWH timestamp of the last setup change for this entity (* inherited from FPSAPP.SCH_W_H_S_ENTITIES) |
|
CURR_SETUP_EVENT |
|
|
CURR_SETUP_OPERATOR |
|
|
CURR_SETUP_COMMENT |
|
|
CURR_SETUP_EXPIRE_INST |
|
|
CURR_SETUP_QTY |
|
|
CURR_RECIPE |
The current/last used recipe for the scheduler, incorporating the ignore capability from EQP_PROCESS_CHG_TO_IGNORE (* inherited from FPSBASE.ETP_STATUS) |
|
CURR_RECIPE_INST |
The beg processing timestamp associated with CURR_RECIPE (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_STATE |
Client equipment state taken directly from their MES or from their existing tool state model. For EQP_MNT_FUTURE, this is the state that we estimate the entity will be in during the maintenance which is often set to a generic PM state if we do not have detailed information. (* inherited from FPSINPUT.EQP_L6_DETAILED_STATES) |
|
EQP_STATE_DISPLAY |
Display name for the equipment state which will be displayed on all Dashboards and reports. (* inherited from FPSINPUT.EQP_L6_DETAILED_STATES) |
|
EQP_STATE_CHG_INST |
Time when the eqp_state changed for this particular entity. If another entity on the same main tool changes state, eqp_inst will change for all entities on the tool even those whose state does not change. Therefore if eqp_inst is after state_chg_inst that means another entity changed state at eqp_inst but this entity has not changed since state_chg_inst. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_STATE_CHG_EVENT |
Event that last changed the eqp_state. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_STATE_SHORT_DISPLAY |
|
|
EQP_TOOL_PCT |
Percentage contribution of this entity to the full tool using cluster tool calculations for eqp_state built in to DWH. This adds to 100 for all entities on a tool at each eqp_inst. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_INC_BATCH_PCT |
If the input data already knows the incomplete batch percent then we can input it in this value with the event and we will use it for eqp_state calculations. Normally this is blank and we calculate etp_inc_batch_pct from the lot events. (* inherited from FPSINPUT.EQP_EVENT_HIST) |
|
EQP_STATE_SORT_ORDER |
|
|
EQP_STATE_BG_COLOR |
|
|
EQP_E10_STATE |
|
|
EQP_E10_INST |
Time when the e10_state of the eqp_state last changed. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_STATE_CHG_OPERATOR |
Operator who logged the event that last changed the eqp_state. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_STATE_CHG_COMMENT |
Comment with the event that last changed the eqp_state. (* inherited from FPSBASE.ETP_STATUS) |
|
EQP_OPPORTUNITY_STATE |
|
|
EQP_OPP_STATE_DISPLAY |
|
|
EQP_OPP_STATE_INST |
|
|
EQP_OPP_STATE_BG_COLOR |
|
|
CONSIDER_NONMFG_AS_UP_FOR_MAQT |
There are some NONMFG states like QUAL and ALARM that we want to consider as up for the purposes of the Multi Area Queue Timer logic because we expect the entity to come up in the near future. (* inherited from FPSINPUT.EQP_L5_TRANSITION_STATES) |
|
ETP_STATE |
If entity is down then use eqp_state directly. If entity is up then determine etp_state from proc_state and sby_state. (* inherited from FPSBASE.ETP_STATUS) |
|
ETP_STATE_DISPLAY |
|
|
ETP_STATE_CHG_INST |
Time when the etp_state changed for this entity. (* inherited from FPSBASE.ETP_STATUS) |
|
ETP_STATE_CHG_EVENT |
|
|
ETP_STATE_SHORT_DISPLAY |
|
|
ETP_TOOL_PCT |
Percentage contribution of this entity to the full tool using cluster tool calculations for etp_state built in to DWH. The main difference from eqp_tool_pct is this includes throughput estimates for partial chambers. This adds to 100 for all entities on a tool at each eqp_inst. (* inherited from FPSBASE.ETP_STATUS) |
|
ETP_INC_BATCH_PCT |
Incomplete batch percentage is only set for processing states. In the final calculation, the time processing an incomplete batch is divided into the production state and an incomplete batch state. (* inherited from FPSBASE.ETP_STATUS) |
|
ETP_STATE_SORT_ORDER |
|
|
ETP_STATE_BG_COLOR |
|
|
ETP_E10_STATE |
|
|
ETP_E10_INST |
|
|
ETP_STATE_CHG_OPERATOR |
|
|
ETP_STATE_CHG_COMMENT |
|
|
ETP_OPPORTUNITY_STATE |
|
|
ETP_OPP_STATE_DISPLAY |
|
|
ETP_OPP_STATE_INST |
|
|
ETP_OPP_STATE_BG_COLOR |
|
|
86400 |
|
|
86400 |
|
|
END |
|
|
EST_SECONDS_UNTIL_UP |
|
|
AVAILABILITY |
|
|
AVAIL_INST |
Time when the availability last changed, either came up or went down. (* inherited from FPSBASE.ETP_STATUS) |
|
MFG_GROUP |
|
|
MFG_GROUP_INST |
Time when the mfg_group last changed. (* inherited from FPSBASE.ETP_STATUS) |
|
INCLUDE_EQP_STATE_IN_DASH_ETP |
This column will add the MES state of the tool to the end of the ETP_STATE_NAME for Dashboard users to see the MES state of the tool after the ETP state. If set to N then only the ETP state will be shown. (* inherited from FPSINPUT.GEN_FACILITIES) |
|
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) |
|
LAST_DOWN_COMMENT |
|
|
EQP_STATUS_COMMENT |
An optional comment on the status of the entity that can be displayed in various application interfaces. (* inherited from FPSINPUT.EQP_STATUS_VERIFY) |
|
CHAMBER_MSO_GROUP |