data-dictionary

FPSBASE.WIP_REF_LOTS_COLS_W_DD_PRTN

Data Dictionary

>

FPSBASE Views

> FPSBASE.WIP_WAFER_HIST_LOOP

View FPSBASE.WIP_REF_LOTS_COLS_W_DD_PRTN

This is the second refreshed table in our WIP_LOTS hierarchy. This view includes columns which either depend on data_date or which use a "partition by" clause. That means that when we refresh this table repeatedly in the RealTime job that nearly all records will be updated even those for lots which had no activity. Fortunately this table has a small number of columns so it should refresh relatively quickly. All columns which do not depend on data_date and which do not use a "partition by" clause are in WIP_LOTS_COLS_NO_DD_PRTN. Since nearly every record in this table will be different on each refresh, there is a question to use DBPR or DBPM. We found that DBPR is faster (13 sec to 18 sec) but also uses quite a bit more CPU according to ADM_TOP_SQL_SNAPSHOT. We generally use DBPR but either is acceptable, especially since we improved ADM_LOAD_EVENT_HIST_VIA_APD to call this with ADM_TABLE_MATCH_COMMIT in DWH-2755. The four tables WIP_LOTS_REALTIME, WIP_LOTS_STATIC, WIP_LOTS_COLS_NO_DD_PRTN, and WIP_LOTS_COLS_W_DD_PRTN are joined together in the WIP_LOTS_PLUS view which is used by nearly everything including DASH_P_WIP_LOTS. The initial logic in this view gives a rough estimate of when lots which have not started processing will complete their current step. This rough estimate only applies to lots which do not have an estimated completion from an external reservation nor from Scheduler. Obviously when we have either of those more accurate estimates we will use them. This rough estimate is not expected to perfect but the main goal is to smooth out WIP bubbles so that we do not estimate that all lots waiting at a step will arrive to the next step at the same time. Here is how this rough estimate logic works: 1) We find all lots which have estimated complete times. These include lots which are processing, which have an external estimate, or which have a Scheduler end time. 2) We find the latest of these estimated complete times for the process family and consider that time to be the starting point for lots without estimates. 3) We estimate the interval at which lots will move out of this process family. Note this has nothing to do with tools because we do not know the tool. In fact, this estimate move interval for the process family is approximately the estimated complete interval for each tool divided by the number of tools. Then we adjust this estimate specifically for each lot based on its throughput and on the current availability of tools in the process family. This is not perfect nor is it intended to be but it is reasonable. 4) We cumulate this estimated move interval for all lots in the process family sorted by status (dispatched first, hold last), priority, and age. 5) We add this cumulate after the last estimate from #1. EXAMPLE: Lot A1 is processing on tool A and estimated to complete at 1:00. Lot A2 is also processing on tool A estimated to complete at 2:00. Lot B1 is processing on tool B and estimate to complete at 1:30. Lot B2 is dispatched to tool B with no estimated complete. Lots 4 and 5 are waiting. The last estimated complete for the process family is 2:00. Estimated move interval for the process family is 25 minutes per lot so the cumulated interval is 25 for lot B2, 50 for lot 4, and 75 for lot 5. We add this cum to the last estimated complete of 2:00 so we get an estimated complete of 2:25 for lot B2, 2:50 for lot 4, and 3:15 for lot 5. Note how we do not care which tool lots B2, 4, and 5 will use. In fact, B2's estimate is based on the last estimated complete of 2:00 from tool A even though we know the lot is dispatched to B.

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)

CRITICAL_RATIO

The critical ratio (days until due / days of CT left) for the lot (* inherited from FPSAPP.SCH_W_H_S_LOTS)

CURR_STEP_EARLIEST_COMP_INST

CURR_STEP_EST_COMP_INST

CURR_STEP_EST_COMP_REASON

DAYS_BEHIND

EST_BEG_INST_TOOL_FOR_TTS

EST_COMP_INST_BANK

EST_COMP_INST_CUM_MOVE

EST_COMP_INST_HOLD

EST_COMP_INST_IF_BEG_NOW

EST_COMP_INST_SCHED

EST_COMP_INST_SLOW

EST_COMP_INST_STAGING

EST_COMP_INST_TOOL

EST_DISP_INST_TOOL_FOR_TTS

EST_END_INST_TOOL

EST_END_INST_TOOL_FOR_TTS

EST_END_TOOL_REASON

EST_NEXT_BEG_TOOL_REASON

EST_NEXT_BEG_INST_TOOL

EST_RELEASE_INST

EXP_OUT_BY_ROUTE_DAYS_BEHIND

EXP_OUT_BY_ROUTE_INST

EXP_OUT_BY_ROUTE_START_WEEK

EXP_OUT_BY_ROUTE_WEEK

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)

IS_NMV_NOW

IS_QUEUE_TIMER_EXPIRED

LAST_END_PROC_INST_FOR_TTS

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)

NEXT_BEG_INST_TOOL_FOR_TTS

NMV_SORT_INST

NUM_WFRS_BEG

NUM_WFRS_ENDED

OUT_INST_EXPECTED

OVR_PROCESS_STATE_DETAILS

This column will override the process state details for the Dashboard if populated. It is important to note that this column is technically independent from the process_state which is calculated based on events from WIP_EVENT_HIST. For example, immediately after a lot is dispatched, this column might still have a message about WAIT when the process state just changed to DISP. To reduce the duration of these discrepancies, you should refresh WIP_LOTS_VERIFY in the RealTime job or at least every 1-2 minutes if you populate this column. (* inherited from FPSINPUT.WIP_LOTS_VERIFY)

OVR_STEP_COMP_INST

Specify a time when the lot will complete the step. We will use this mainly for banks and staging steps with a release plan. For steps that require processing on a tool, please use ovr_est_end_inst instead. (* inherited from FPSINPUT.WIP_LOTS_VERIFY)

PULL_POINT_DETAILS_W_FILLIN

PULL_POINT_INST_W_FILLIN

PULL_POINT_PACE_DETAILS

PULL_POINT_PACE_INST

QUEUE_TIMER_DESCRIPTION

QUEUE_TIMER_DISPLAY

QUEUE_TIMER_REMAIN_SEC

RN_BY_TOOL_FOR_TTS

SCHEDULE_STATUS

SCHEDULE_STATUS_COLOR

SHOULD_HIGHLIGHT_AGE_FOR_HOLD

STEP_HOLD_SEC

STEP_HOLD_SEC_CURR_DAY

STEP_HOLD_SEC_CURR_SHIFT

Time on hold at the current step during the current shift (* inherited from FPSBASE.WIP_STEP_HIST)

STEP_SEC_CURR_DAY

STEP_SEC_CURR_SHIFT

TIME_TO_NEXT_MOVE

WAIT_SEC_TO_SCHED

The lot may be scheduled but must not be allowed to dispatch or start until this number of seconds has elapsed. (* inherited from FPSINPUT.WIP_LOTS_STATIC)

WAIT_TO_SCHED_REASON