Data Dictionary
>
FPSAPP Tables
> FPSAPP.SCH_W_H_S_CH_PATH_ASSIGNMENTS
Table FPSAPP.SCH_W_H_S_CH_PATH_ASSIGNMENTS"
This table is used to store the historical run data on ch-path assignments for each lot where they can run
-
Schema: FPSAPP
-
Tablespace: FPSSCHEDHIST
|
Column |
Type |
Nullable |
Comment |
|---|---|---|---|
|
ASSIGNMENT_RANK |
VARCHAR2(1) |
This assignment rank is on the chamber path level and will override the tool assignment rank if populated. If null, the scheduler will use the tool assignment rank |
|
|
BATCH_INT_SEC |
NUMBER |
||
|
CH_PATH |
VARCHAR2(24) |
N |
A path of chambers which can be used to process the lot on this tool. This is a concatenation of the single character CH from EQP_CHAMBERS similar to CH_ALLOWED. It is desired to list the chambers in order if there is an order however currently the order is not necessary and not used by Scheduler. (* from FPSINPUT.RTG_TOOL_ASGN_LOT_RS_PATH) |
|
CREATE_INST |
DATE |
||
|
FACILITY |
VARCHAR2(6) |
N |
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. (* from FPSINPUT.GEN_FACILITIES) |
|
FIRST_UNIT_SEC |
NUMBER |
Time for one unit to process when the tool starts from a standby state. On a batch tool -- defined as a tool where all units process together and take the same time regardless of qty -- this is the time for the batch. See our complete throughput documentation for more details. (* from FPSINPUT.THP_EXTERNAL) |
|
|
LOAD_SEC |
NUMBER |
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. (* from FPSINPUT.EQP_TYPES) |
|
|
LOT |
VARCHAR2(32) |
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. (* from FPSINPUT.WIP_LOTS_STATIC) |
|
|
NUM_STEPS_AWAY |
NUMBER(4) |
Number of steps away not including steps which we know will be skipped nor those which we estimate will be skipped at least x pct of the time. This x value is configurable in GEN_FACILITIES using the smp_pct_for_num_steps_away column. (* from FPSBASE.WIP_STEP_FUTURE) |
|
|
PROCESS |
VARCHAR2(50) |
Process defines what occurs at a step. Different steps can share the same process if they are identical. Process should normally determine allowed tools and recipe although it can be overridden by step, route, prd, lot, and experiment for exceptions. Each process is dynamically assigned to one or more eqp_type-process_family combinations with use_pct. One process_family is determined to be primary. If grouping is done correctly, a process should only be one eqp_group with no crossover. (* from FPSINPUT.RTG_PROCESSES) |
|
|
PROCESS_GROUP |
VARCHAR2(36) |
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. (* from FPSINPUT.RTG_PROCESS_GROUPS) |
|
|
RECIPE |
VARCHAR2(100) |
N |
the recipe; the est_machine_recipe (* from FPSINPUT.EQP_RECIPES) |
|
ROUTE |
VARCHAR2(256) |
N |
Route that has threading requirements (* from FPSINPUT.RTG_STEP_THREADING) |
|
RUN_ID |
VARCHAR2(50) |
N |
the run id from the last successful scheduler (* from FPSAPP.SCH_W_SCHED_GROUP_STATUS) |
|
SCHED_GROUP |
VARCHAR2(36) |
N |
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. (* from FPSINPUT.RTG_PROCESS_GROUPS) |
|
SCHED_WEIGHTS |
NUMBER |
This is how much weight to give the chamber path rank. When populated, this will override the weights for chamber path rank and tool assignment rank. If null, then Scheduler will take the value from the configuration table SCH_C_GROUP_PERM_RANKS. example 1: ovr_sched_weights is 40 -> the chamber path rank will have a weight of 40, regardless of what ovr_ch_path_rank is. example 2: ovr_sched_weights is null and ovr_ch_path_rank == "A" -> the chamber path rank will get the weight for "A" from SCH_C_GROUP_PERM_RANKS example 3: ovr_sched_weights is null and ovr_ch_path_rank is null-> the chamber path rank will use the tool assignment rank and get the weight from SCH_C_GROUP_PERM_RANKS |
|
|
SHOULD_USE |
CHAR(1) |
This flag determines if the scheduler should use this data or not |
|
|
STEP |
VARCHAR2(256) |
N |
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. (* from FPSINPUT.RTG_ROUTE_STEPS) |
|
THP_MEMO |
VARCHAR2(512) |
||
|
THP_VALUES_OVR |
VARCHAR2(512) |
||
|
TOOL |
VARCHAR2(16) |
N |
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. (* from FPSINPUT.EQP_TOOLS) |
|
UNIT_INT_SEC |
NUMBER |
||
|
UNLOAD_SEC |
NUMBER |
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. (* from FPSINPUT.EQP_TYPES) |