data-dictionary

FPSBASE.WIP_LOTS_TOOLS_REALTIME

Data Dictionary

>

FPSBASE Views

> FPSBASE.WIP_WAFER_HIST_LOOP

View FPSBASE.WIP_LOTS_TOOLS_REALTIME

This view includes the critical logic for determining beg_proc_inst and end_proc_inst which goes into WIP_STEP_HIST. For the beg_proc_inst, we look for the following events in this order: 1) Automatically logged begin event (event_type BEGIN) for the lot from WIP_EVENT_HIST. 2) Automatically logged begin event (event_type BEGIN) for the first wafer from WIP_WAFER_HIST. This is the first_wfr_beg_inst column regardless. 3) Manually logged begin event (event_type BEGIN_M) for the lot from WIP_EVENT_HIST. For the end_proc_inst (which is also modified in WIP_LOTS_REALTIME_UPDATE_BEF when we know the COMP event): 1) Automatically logged end event (event_type END) for the lot from WIP_EVENT_HIST. 2) Automatically logged end event (event_type END) for the last wafer from WIP_WAFER_HIST. This is the last_wfr_end_inst column regardless. 3) Manually logged end event (event_type END_M) for the lot from WIP_EVENT_HIST. 4) Complete event for the lot (event_type COMP which moves to next step) from WIP_EVENT_HIST only if this event has a tool logged.

Column

Comment

LOT

A lot is a group of units that process together. Usually lot_id or lot_number in MES. All units in a lot are in the same carrier but there may be multiple lots in a carrier. (* inherited from FPSINPUT.WIP_LOTS_STATIC)

STEP

A single processing step within a route representing a single tool visit. Step is often a very complex string and should rarely be displayed. Instead we should use process_display. (* inherited from FPSINPUT.RTG_ROUTE_STEPS)

STEP_ENT_INST

Time when the lot entered the step. (* inherited from FPSBASE.WIP_LOT_HIST)

ROUTE

Route that has threading requirements (* inherited from FPSINPUT.RTG_STEP_THREADING)

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)

END_PROC_INST_IF_NOT_COMP

END_PROC_INST_IF_COMP

END_PROC_INST_AUTO_IF_NOT_COMP

END_PROC_INST_AUTO_IF_COMP

BEG_PROC_INST

time when the lot started processing on the main tool. (* inherited from FPSINPUT.WIP_STEP_HIST_MANUAL)

BEG_PROC_INST_AUTO

IS_EVENT_AUTO

ABORT_INST

When a lot has begun processing on a tool and an event with event_type of ABORT is logged, abort_inst captures the time of the abort. If multiple aborts happen to the same lot, the last abort_inst is used. See description of ABORT ect_state for more details. (* inherited from FPSBASE.WIP_STEP_HIST)

PAUSE_INST

When a lot has begun processing on a tool and an event with event_type of PAUSE is logged, pause_inst captures the time of the pause. If multiple pauses happen to the same lot, the last pause_inst is used. See description of PAUSE ect_state for more details. (* inherited from FPSBASE.WIP_STEP_HIST)

DISPATCHED_BY

DISPATCH_INST

Time when the lot indicated in the MES that it will process on the tool. As opposed to reserve, dispatch cannot be automatically undone. (* inherited from FPSBASE.WIP_STEP_HIST)

READY_INST

Time when the lot was ready to be processed (e.g. after recipe downloaded). (* inherited from FPSBASE.WIP_STEP_HIST)

MADE_CASCADE

FIRST_WFR_BEG_INST

Time when the first wafer of the job started processing. (* inherited from FPSBASE.WIP_STEP_HIST)

FIRST_WFR_END_INST

Time when the first wafer of the job finished processing. (* inherited from FPSBASE.WIP_STEP_HIST)

LAST_WFR_BEG_INST

Time when the last wafer of the job started processing. (* inherited from FPSBASE.WIP_STEP_HIST)

LAST_WFR_END_INST

Time when the last wafer of the job finished processing. (* inherited from FPSBASE.WIP_STEP_HIST)

NUM_WFRS_BEG

NUM_WFRS_ENDED

ACTUAL_DURABLE_USED

Actual durable used as logged by the tool during processing of the lot. This can be a comma delimited string if multiple durables are used. (* inherited from FPSINPUT.WIP_EVENT_HIST)

ACTUAL_CH_USED

Here is where we can log the actual_ch_used directly if we know it. We have three ways to determine actual_ch_used in WIP_LOTS_REALTIME which populates WIP_STEP_HIST: 1) Log it directly in this colum for an event where the logged_entity is the main tool. 2) Log events to each of the chambers used in WIP_EVENT_HIST. 3) Log events to each of the chambers used in WIP_WAFER_HIST. (* inherited from FPSINPUT.WIP_EVENT_HIST)

ACTUAL_MACHINE_RECIPE

Machine recipe used to process the lot as logged during processing by the tool. (* inherited from FPSINPUT.WIP_EVENT_HIST)

RECIPE_VERSION

This field is for historical tracking purposes only and is not used in any FPS calculation. (* inherited from FPSINPUT.WIP_EVENT_HIST)

LOGICAL_RECIPE

Used for infomational purpose and is populated if known otherwise it will match the recipe. (* inherited from FPSINPUT.WIP_EVENT_HIST)

PROC_PORT

PROC_PORT_MODE

THP_IGNORE_REASON_WEH

QTY_MEAS

Quantity of units measured at this metrology step. This is less than or equal to the qty_in_job. The standard case is where we have a 25 wafer lot so the qty_in_job is 25 but we only measure 3 wafers on the metrology tool so qty_meas is 3. (* inherited from FPSINPUT.WIP_EVENT_HIST)

MEAS_RESULT

Result of measurement. For facilities not using FPS Sampling this value is for display purposes only and can be pass/fail or a number or anything. For facilities using FPS Sampling this field is used to dynamically adjust the sampling rules and must be a letter grade A-F. (* inherited from FPSINPUT.WIP_EVENT_HIST)

CURR_RANK

Current rank is dynamically calculated based on the permanent rank, temporary rank, external rank, and current conditions like tool status and current setup. Cases when it is greater than permanent rank include when the required setup does not match or when APC thread is not qualified. The only way it could be less are when either the temporary rank or external rank are set. Curr_rank is populated in WIP_EVENT_HIST for each event logged to a tool by trigger with the value from WIP_STEP_FUT_ASSIGNMENTS at the time of the event. (* inherited from FPSBASE.WIP_LOT_HIST)

PERM_RANK

Permanent rank is typically loaded by ETL from a combination of the MES, recipe management system, and existing preference logic already used at the site. Possible values are in FPSADMIN.RTG_PERM_RANKS. (* inherited from FPSINPUT.RTG_TOOL_ASSIGNMENTS)

EST_CH_USED

Estimate of which chambers will used to process this lot based on assignments and status (* inherited from FPSBASE.WIP_LOT_HIST)

EST_DURABLE_USED

This field is populated with our estimate of what durable will be used based on information from the MES and/or Recipe Management System combined with the location and status of each durable. (* inherited from FPSBASE.WIP_LOT_HIST)

EST_MACHINE_RECIPE

Estimated machine recipe what we estimate will be the machine recipe based on information from the Recipe Management System. It is used in combination with process for throughput calculations and setup change penalty calculations. It is not necessary to estimate for all processes since this is always used in combination however it needs to be NA rather than blank since it is part of the primary key of most THP tables. Hopefully when this is not NA it should match the actual machine recipe logged for each lot during processing. (* inherited from FPSINPUT.RTG_TOOL_ASSIGNMENTS)

RQD_SETUP

Rqd_setup is determined by ovr_rqd_setup in RTG_TOOL_ASSIGNMENTS and use_process_as_rqd_setup and use_est_mach_rcp_as_rqd_setup from EQP_TYPES. The latter two columns allow us to easily specify for an eqp_type that setup times should be calculated by process or est_machine_recipe. For traditional setups that are a group of recipes we use ovr_rqd_setup. (* inherited from FPSBASE.WIP_LOT_HIST)

BATCH_CRITERIA

Lots that can run on the same batch TOOL and have the same value of BATCH_CRITERIA can run together in a batch. Therefore this is a critical column for scheduling on batch tools. If BATCH_CRITERIA is not populated, Scheduler defaults to the assumption that any WIP with the same EST_MACHINE_RECIPE can be batched together. Keep in mind that many MESs have additional constraints on batching (for example, that all WIP in a batch has the same SCRIPT_ID) and these must be incorporated into BATCH_CRITERIA to ensure that the batches are allowed by the MES. (* inherited from FPSINPUT.RTG_TOOL_ASSIGNMENTS)

IS_EXPT_STEP

Flag set to Y if the experiment requires abnormal processing at this step. (* inherited from FPSBASE.WIP_LOT_HIST)

IS_NONSTD

Our column to indicate non-standard processing at the step. For example, an experiment or a chain that is only active at a particular step or set of steps and then goes back to being normal for the route. If an experiment is severe enough that it affects the final product and has to be planned separately then it will be its own prd or planprd. (* inherited from FPSBASE.WIP_LOT_HIST)

RCP_EXP_QTY_PER_BATCH

RCP_MAX_BATCH_SIZE_UNITS

RCP_MAX_BATCH_SIZE_CARRIERS

RCP_MAX_BATCH_SIZE_LOTS

PREV_PROCESS

Process of the previous job on the tool before the job including this lot. Used in combination with prev_recipe to determine if this job cascaded and if it required a setup change. (* inherited from FPSBASE.WIP_LOT_HIST)

PREV_RECIPE

Recipe of the previous job on the tool before the job including this lot. Used in combination with prev_process to determine if this job cascaded and if it required a setup change. (* inherited from FPSBASE.WIP_LOT_HIST)

PREV_END_PROC_INST

End_proc_inst of the previous job on the tool before the job including this lot. Subtracting this from the end_proc_inst of this job gives us the end-to-end time (EET) which is critical for throughput calculations. (* inherited from FPSBASE.WIP_LOT_HIST)

INST_FOR_TOOL

BEG_PROC_INST_MANL

END_PROC_INST_MANL_IF_NOT_COMP

END_PROC_INST_MANL_IF_COMP

COMP_INST