data-dictionary

FPSAPP.EQP_TYPES

Data Dictionary

>

FPSAPP Tables

> FPSAPP.EQP_TYPES

Table FPSAPP.EQP_TYPES"

This is our most critical table for equipment configuration with over 100 important fields for batching, throughput, and scheduling. Some of these columns will be populated automatically through ETL either from the MES or another EQP/IE database. Others will be entered manually. See comments on EQP_TOOLS for detailed information about EQP hierarchy.

  • Schema: FPSAPP

  • Tablespace: FPSDATA

  • Referenced by: FPSAPP.CM_W_SCENARIOS_THROUGHPUT (FACILITY, EQP_TYPE) FPSAPP.FR_W_MNT_MESSAGES (FACILITY, EQP_TYPE) FPSAPP.FR_W_MNT_USER_EQP_TYPE (FACILITY, EQP_TYPE) FPSINPUT.EQP_CHAMBER_TYPES (FACILITY, EQP_TYPE) FPSINPUT.EQP_PATTERN_MATCH (FACILITY, EQP_TYPE) FPSINPUT.EQP_SETUP_CHG_MANUAL (FACILITY, EQP_TYPE) FPSINPUT.RTG_ROUTE_STEP_EQPTYPE_OVR (FACILITY, EQP_TYPE)


Column

Type

Nullable

Comment

FACILITY

VARCHAR2(6)

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)

EQP_TYPE

VARCHAR2(50)

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.

ALLOW_RESRV_ON_PREV_DISPATCH

CHAR(1)

to allow to reserve the lot to the tool when the previous step is dispatched

ALWAYS_SBY_AFTER_DOWN

CHAR(1)

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.

ALWAYS_USE_DEFAULT_THP

CHAR(1)

For some tools (primarily metrology tools), logging of begin/end run times are not possible due to lack of automation capabilities - so throughput is based on dispatch/complete signals. This causes variation and frequent overestimation of estimated processing time due to operator dispatch/complete logging patterns. Throughput estimates can be overridden via the THP_MANUAL or THP_EXTERNAL tables but this requires an override at every possible process where the tool could be used. Now if you set the always_use_default_thp column to Y in EQP_TYPES we will always use the default throughput data unless there are overrides in THP_MANUAL or THP_EXTERNAL. For example, if for the VISUAL_INSPECT eqp_type that we set always_use_default_thp to Y and sch_first_unit_sec to 30 and sch_unit_interval_sec to 30 then the processing time will always be estimated at 30 seconds per wafer. So a lot with 25 wafers would have an estimated processing time of 12.5 minutes. This is independent of what step is being inspected.

CAN_MULTIPLE_JOBS_SHARE_DISC

CHAR(1)

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.

CM_THP_PARALLEL_FACTOR

NUMBER(1)

This is number of jobs that can run on the tool in parallel where the throughput logic does not account for cascading. Typically it is used for wet benches or plasma strip tools. This column is not used by the FPS CM but exists for sites to store this information to use for their own CM. In their CM, they will multiply the throughput by this factor.

COST_PER_JOB

NUMBER(6)

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.

COST_PER_UNIT

NUMBER(6)

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.

COUNT_UDT_TO_PM_AS_FTR

CHAR(1)

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.

DEFAULT_DURABLE_CHG_COST

NUMBER(6)

Default durable change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DEFAULT_DURABLE_CHG_SEC

NUMBER(6)

Default durable change time in seconds. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DEFAULT_PROCESS_CHG_COST

NUMBER(6)

Used for Scheduler. Default process change cost.

DEFAULT_PROCESS_CHG_SEC

NUMBER(6)

Used for Scheduler. Default process change seconds.

DEFAULT_RECIPE_CHG_COST

NUMBER(6)

Default recipe change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DEFAULT_RECIPE_CHG_SEC

NUMBER(6)

Default recipe change time in seconds. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DEFAULT_SETUP_CHG_COST

NUMBER(6)

Default setup change cost. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DEFAULT_SETUP_CHG_SEC

NUMBER(6)

Default setup change time in seconds. See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on when this is used.

DESCRIPTION

VARCHAR2(256)

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

DISPATCH_RULE

VARCHAR2(64)

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.

EXP_CASCADE_BATCHES

NUMBER(2)

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.

EXP_CASCADE_QTY

NUMBER(3)

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.

EXP_QTY_PER_BATCH

NUMBER(3)

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.

EXP_QTY_PER_JOB

NUMBER(7)

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.

FIXED_CARRIER_SEC

NUMBER(4)

Seconds between units in two different carriers in additional to the normal unit interval. This time is added to the EET, MPU, and UPH.

FTR_U_MIN_MFG_SECS

NUMBER(7)

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

HIDE_ON_THP_PAGE

CHAR(1)

Some eqp types we just simply do not care about their throughput so we can use this flag to hide them from our Throughput Tracker.

IGNORE_BATCH_FOR_ETP

CHAR(1)

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.

IGNORE_HOLD_FOR_PROC_STATE

CHAR(1)

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.

INCLUDE_IN_DASH_DOWN

CHAR(1)

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

INHIBIT_E_FOR_SCH

CHAR(1)

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.

IS_ANY_WAFER_SIZE

CHAR(1)

A value of null for wafer_size means that these tools can run all wafer sizes. This column is only to eliminate confusion for ETL maintenance purposes. A value of Y means these tools are known to run all wafer sizes while the default value of N means we have no wafer size information for these tools.

IS_BATCH_THP

CHAR(1)

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.

IS_CAP_ENT_BY_TOOL

CHAR(1)

Used if you do not want to allow eqp_entities to determine this with internal logic and force it to be based on the tool

IS_CASCADING_IMPOSSIBLE

CHAR(1)

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.

IS_REAL_TOOL

CHAR(1)

Flag indicating whether tool physically exists. An example where this is not set would be lot start or visual inspect.

KEEP_IN_PRD_WHILE_JOBS_EXIST

CHAR(1)

This flag is used to keep tools in a PRD etp state if jobs are still active for any entity of this tool. If the value is set to Y then there must be no records in WIP_CURR_JOBS for the entity when an end event type occurs.

LABOR_ROLE

VARCHAR2(36)

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. (* from FPSINPUT.EQP_LABOR_ROLES)

LABOR_SEC_PCT_FROM_LOAD

NUMBER(3)

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

LABOR_SEC_PER_BATCH

NUMBER(8,3)

Required labor seconds for this labor role to run a batch

LABOR_SEC_PER_CARR

NUMBER(8,3)

Required labor seconds for this labor role to run a carrier

LABOR_SEC_PER_UNIT

NUMBER(8,3)

Required labor seconds for this labor role to run a wafer

LOAD_SEC

NUMBER(4)

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.

LOGS_LOT_BEG_END_FROM_EQP_CHG

CHAR(1)

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.

MANUFACTURER

VARCHAR2(36)

Manufacturer of the tool used for display purposes only.

MAX_BATCH_SIZE_CARRIERS

NUMBER(2)

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.

MAX_BATCH_SIZE_LOTS

NUMBER(2)

The maximum number of lots allowed in one batch

MAX_BATCH_SIZE_UNITS

NUMBER(7)

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.

MAX_MERGE_NUM_LOTS

NUMBER(2)

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

MAX_QTY_IN_JOB

NUMBER(7)

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.

MAX_RCP_CHG_SEC

NUMBER(4)

Maximum time allotted for recipe change. If standby time between lots of different recipes exceeds this time then the remainder counts as standby.

MINS_TO_USE_ENT_AS_BEG_IF_ZERO

NUMBER(3)

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.

MIN_BATCH_SIZE_CARRIERS

NUMBER(2)

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.

MIN_BATCH_SIZE_LOTS

NUMBER(2)

The minimum number of lots required in one batch

MIN_BATCH_SIZE_UNITS

NUMBER(7)

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.

MIN_BATCH_WAIT_MINS

NUMBER(5)

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.

MIN_CASCADE_BATCHES

NUMBER(2)

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.

MIN_CASCADE_QTY

NUMBER(3)

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.

MIN_DISP_SEC_RQD_FOR_COMP

NUMBER(3)

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.

MNT_FAMILY

VARCHAR2(50)

N

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

NMV_USE_DISP_INST

CHAR(1)

A flag that will help decided whether to use the start time or dispatch time.

NON_TW_RQD_FOR_GTG

CHAR(1)

Flag used to determine if PRD unites are required to close a Green-to-Green window.

NUM_CAP_ENTS_OVR

NUMBER(5,2)

Override for the number of cap entities in this eqp_type, to be used by the line balance calculation.

OVR_PLAN_AVAIL_MAIN_TOOL

NUMBER(3)

Normally the planned availability set for each eqp_type applies to all chambers but for custom reporting only we can override the planned availability of the main tool with this column. Typically it will be much higher.

OVR_SAME_JOB_IF_WITHIN_SEC

NUMBER(3)

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.

OVR_UTIL_OF_AVAIL_FOR_MAQT

NUMBER(4,3)

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.

PLAN_AVAIL

NUMBER(5,2)

Planned availability used in goal planner and capacity model. Plan_avail + plan_sched + plan_unsched = 100.

PLAN_EFF_LOSS

NUMBER(4,2)

Percentage of the total time planned to be lost to unavoidable efficiency loss. This percentage is part of availability but not part of utilization. If this column is populated with a value greater than 0 then plan_util + plan_eff_loss + plan_eng + plan_tw must equal plan_avail. This column is not used by the FPS CM but exists for sites to store this information to use for their own CM.

PLAN_ENG

NUMBER(4,2)

Percentage of the total time allocated to engineering. This percentage is part of availability but not part of utilization. If this column is populated with a value greater than 0 then plan_util + plan_eff_loss + plan_eng + plan_tw must equal plan_avail. This column is not used by the FPS CM but exists for sites to store this information to use for their own CM.

PLAN_REWORK

NUMBER(4,2)

Percentage of the total time allocated to processing rework lots. The tool is utilized during this time but this additional capacity for rework lots must be allocated in addition to the standard capacity needed based on starts. Since this percentage is part of plan_util, it is different than plan_eff_loss, plan_eng, and plan_tw. This column is currently not used by the FPS CM but is planned for a future version. Currently it exists for sites to store this information to use for their own CM.

PLAN_SCHED

NUMBER(5,2)

Planned scheduled downtime used in goal planner and capacity model.

PLAN_TW

NUMBER(4,2)

Percentage of the total time allocated to processing test wafers. This percentage is part of availability but not part of utilization. If this column is populated with a value greater than 0 then plan_util + plan_eff_loss + plan_eng + plan_tw must equal plan_avail. This column is not used by the FPS CM but exists for sites to store this information to use for their own CM.

PLAN_UNSCHED

NUMBER(5,2)

Planned unscheduled downtime used in goal planner and capacity model.

PLAN_UTIL

NUMBER(5,2)

Planned utilization used in goal planner and capacity model. Must be less than plan_avail.

PLAN_UTIL_MAX

NUMBER(5,2)

Optional column to define the maximum utilization possible. If populated, it must be between plan_util and plan_avail. This column is not used by the FPS CM but exists for sites to store this information to use for their own CM.

PREP_SEC

NUMBER(4)

The time in seconds required to prepare the lot before track in.

PRE_SCHED_ORDER_HOURS

NUMBER(5)

Defines how many hours the lot scheduled will be assigned this prev-sched-order score

PRE_SCHED_ORDER_ON_DOWN_TOOL

CHAR(1)

Defines if it should assign the prev-sched-order score to the lots scheduled on the down tools. by default, it will be N, meaning it will not give any pre-sched-order score to the lots scheduled on the down tools

PRE_SCHED_ORDER_STEPS_AWAY

NUMBER(5)

Defines how many steps away will be assigned this prev-sched-order score

SCH_ADD_SEC_SCHED_END

NUMBER(5)

This is used for the scheduler, to add seconds to the sched_end time if lot is still in PROC

SCH_BACKLOAD_SEC

NUMBER(5)

Use for the Scheduler to determine how early from the end of the previous job, the next batch/lot can start without missing the cascade. For Example: The previous job finishes at 4 pm. If the backload sec is set for 10800 seconds. The next job can start at 1 pm if it can arrive in time. If the cannot arrive by 1 pm then the lot must start after the previous lot unloads from the tool. In other words it must start after the sched end.

SCH_BATCH_BUFFER_IN_MINS

NUMBER(5,1)

A buffer in minutes used for case where future batch has at least one lotstep that is not yet at operation and the previous step for that lotstep is not scheduled. The estimated start time of the batch will be delayed by this much beyond the expected arrival inst of the incoming lot.

SCH_BATCH_INT_SEC

NUMBER(6)

This column is used to set the default value of the batch interval time, the time between the end time from the previous batch and the end time from the next batch. The BATCH_INT_SEC is defined as the additional time to process each batch.

SCH_BATCH_MATCH_QTY_THRESHOLD

NUMBER(3,1)

If not null, this value determines the break point between linear and 1/delta scoring for the batching rule based on variation in lot wafer quantity within the batch. The threshold is based on the standard deviation of the lot quantities. If the standard deviation in lot wafer quantity is less than or equal to SCH_BATCH_MATCH_QTY_THRESHOLD then the scoring decreases linearly (e.g. 10-delta). If it is more than SCH_BATCH_MATCH_QTY_THRESHOLD then it will be scored as a an inverse relationship (e.g. 10/(delta+1)). If the value of SCH_BATCH_MATCH_QTY_THRESHOLD is null, then the rule will not score for that tool and return a default score (currently zero).

SCH_BREAK_CASCADE_PROC_CHANGE

CHAR(1)

When this flag is set to Y, process change times will not be applied until after the required resources (chambers, tools) are idle. When set to N, the change times will begin at the time the scheduler would normally allow another lot to be started (i.e. cascade)

SCH_CHG_CAL_METHOD_COST

VARCHAR2(4)

This is used for the scheduler, to determine how to calculate the cost for process/setup/recipe when there are multiple changes. The default value will be SUM, this means, if there are more than 2 setups that require changes, it will add up total cost

SCH_CHG_CAL_METHOD_SEC

VARCHAR2(4)

This is used for the scheduler, to determine how to calculate the time for process/setup/recipe when there are multiple changes. The default value will be MAX, this means, if there are more than 2 setups that require changes, it will take longer time for the entier changes

SCH_DISPATCH_CAPACITY

NUMBER(4)

This is used for the scheduler, to indicate how many lots allowed to dispatch

SCH_DISPATCH_NUM_STEPS_AWAY

NUMBER(2)

This is used for the scheduler, to indicate how many steps away the lots allowed to dispatch

SCH_DISPATCH_SEC

NUMBER(6)

This is used for the scheduler, to indicate how far the lots allowed to dispatch

SCH_ENABLE_BATCH_SAME_NUM_STEP

CHAR(1)

Used for Scheduler. This flag enables the scheduler only batch the lots with the same num_steps_away if it is within num_steps_away to reserve

SCH_ENABLE_CAST_PORT_TO_SCHED

CHAR(1)

This is used for the scheduler, to enable/disable if it will need to schedule on the cast ports

SCH_ENABLE_CHAMBER_TO_SCHED

CHAR(1)

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.

SCH_ENABLE_POD_PORT_TO_SCHED

CHAR(1)

This is used for the scheduler, to enable/disable if it will need to schedule on the pod ports

SCH_FIRST_UNIT_SEC

NUMBER(9,3)

This column is used to set the default value of the first unit time to process a lot on this EQP_TYPE. The FIRST_UNIT_SEC is defined as the time to process the first unit on the tool starting in a standby state.

SCH_HOURS_TO_LOAD_WSH

NUMBER(5)

This is used for the scheduler, hours to load the wip step hist info

SCH_INHIBIT_SEC_FOR_DOWN

NUMBER(6)

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

SCH_IS_DISP_INST_AFT_SETUP

CHAR(1)

Used for Scheduler. This flag is to indicate if the dispatch inst should be before the setup or after the setup. normally, it should be before the setup since it needs the lot to be tracked in to trigger the setup. but there will be some cases the dispatch time will be after setup

SCH_MAX_BATCH_DISP_INT_SEC

NUMBER(5)

The max dispatch interval in seconds for a process job

SCH_MAX_PREV_SCHED_ORDER

NUMBER(5)

Defines the maximum previous sched order that will return a nonzero score from previous schedule order rules. For example, if set to 5, then the first 5 lots on the schedule from the previous scheduler run will generate a score, but the 6th and later lots will score zero

SCH_MAX_SEC_TO_KEEP_POD

NUMBER(5)

To indicate how long the cell tool is willing to keep the same pod to run on the tool. for example, if it sets to 3600, then it means it will try to keep the same pod running on the tool for an hour. after one hour, it is free to switch another pod to ru

SCH_MAX_THP_PCT

NUMBER(6)

This column sets the maximum percentage of the default process time for the eqp type over which long processing times are ignored by the Scheduler. The processing times used in the Scheduler are calculated statistically using historical data. Occasionally we see processes, usually on rework routes, where our calculated processing times are way too long which impacts the schedule by pushing out the start time of all following lots. In order to reduce the impact of this, you can set this value to ignore long times relative to the default for the eqp_type. This value is a percentage so 200 means that values twice as long as the default are ignored and the default is used instead. This default processing time (or TCT which stands for Theoretical Cycle Time) is based on the sch_first_unit_sec, sch_unit_int_sec, and sch_batch_int_sec columns which are also configured in this EQP_TYPES table. For example on a given eqp type, sch_first_unit_sec is 200 and sch_unit_int_sec is 100 so a normal 25 unit lot has a default tct_sec of 2600 seconds. This column sch_max_thp_pct is set to 200 therefore only historical tct_sec under 5200 seconds (2500 X 200/100) is valid. Any tct_sec greater than 5200 seconds is ignored and the Scheduler will use the default of 2500 seconds as TCT_SEC for this process.

SCH_MAX_TRANSIT_SEC_TO_DISP

NUMBER(4)

To indicate the how far the lot is eligible to be dispatch to the sched-tool

SCH_MAX_WAIT_SEC_FOR_TIMER

NUMBER(7)

The Scheduler will not consider a tool eligible for schedulign timer lots if the WAIT_SEC_TO_SCHED is greater than this value in seconds.

SCH_MIN_DISP_SEC

NUMBER(6)

This is used for the scheduler, default minimum dispatch sec

SCH_MIN_SEC_TO_FILL_SCHED

NUMBER(5)

The scheduler will not attempt to fill a gap in the scheduler (whitespace) if the duration of the schedule gap is less than this value.

SCH_PATTERN_INVALID_COST

NUMBER(6)

The cost applied in the scheduler scoring when a lot or job fails pattern match

SCH_PATTERN_INVALID_SEC

NUMBER(9)

The setup change time / delay applied in the scheduler when a lot or job fails pattern match

SCH_POD_SWITCH_WINDOW

NUMBER(5)

To indicate how far to look ahead and behind when determining the severity of a pod switch. for example, if it is set to 3600, then the pod switch rule will look for processJobs an hour ahead and behind the current processJob being evaluated

SCH_PREFER_START_IN_HOURS

NUMBER(5,1)

When given a choice between a tool with a start time before this many hours or after, the scheduler will prefer the one within this many hours - even if it has a lower tool score.

SCH_PROC_TIME_LOOK_AHEAD_PCT

NUMBER(3)

Used by the scheduler to determine the maximum percent of processing time that a lot should be allowed to wait for incoming lots to form a complete batch. If incoming lots would result in a partial batch, the wait percent is scaled accordingly.

SCH_RESCHED_MIN_CAP_SCORE_PCT

NUMBER(4)

how much better on the tool score to determine if it should break the current reservation to reschedule to another tool.

SCH_RESCHED_MIN_CAP_SEC

NUMBER(6)

How much better on sched-start-time on the lot to determine if it should break the current reservation to reschedule to another tool.

SCH_RESERVE_ONLY_AFTER_SCHED

CHAR(1)

Used for scheduler queue manager. If set to Y, the queue manager will only reserve a lot if the scheduler has started and completed once after the lot arrived at the operation.

SCH_RSV_LOT_BUFFER

NUMBER(2)

Defines the buffer on un-reserving lots by capacity. Jobs with start order outside the reserve capacity plus this buffer will be unreserved by the queue manager

SCH_RSV_SEC_BUFFER

NUMBER(6)

Defines the buffer on un-reserving lots by time. Lots with start times outside the reservation window plus this buffer will be unreserved by the queue manager

SCH_RSV_SEC_DURABLE

NUMBER(6)

This column is part of the Area Scheduler configuration. How far in advance in terms of time should durables be reserved - non-priority lots.

SCH_RSV_SEC_LOT

NUMBER(6)

This column determines how many seconds a lot may be reserved from the current time. If 10800 is set, each tool within this eqp_type will have a reservation window of 3 hours - for non-priority lots. Which means that if the lot falls within the step limit and the lot would start processing within the 3 hour limit, it may be reserved on the tool.

SCH_RSV_SEC_PRTY_DURABLE

NUMBER(6)

This column is part of the Area Scheduler configuration. How far in advance in terms of time should durables be reserved - priority lots

SCH_RSV_SEC_PRTY_LOT

NUMBER(6)

This column is part of the Area Scheduler configuration. How far in advance in terms of time should lots be reserved, starting from Now - for priority lots

SCH_RSV_STEPS_DURABLE

NUMBER(4)

This column is part of the Area Scheduler configuration. The number of steps in advance to reserve a durable - non-priority lots.

SCH_RSV_STEPS_LOT

NUMBER(4)

By default, it will be set to 0 on this column since most of time it should only reserve the lots that are currently at the operation and ready to be processed. Once the lot is reserved, unless something unexpected happens, otherwise, the scheduler will not change the decision on this reservation.

SCH_RSV_STEPS_PRTY_DURABLE

NUMBER(4)

This column is part of the Area Scheduler configuration. The number of steps in advance to reserve a durable - priority lots.

SCH_RSV_STEPS_PRTY_LOT

NUMBER(4)

This column is part of the Area Scheduler configuration. the Number of Steps to reserve - for priority lots.

SCH_SCHED_WEIGHTS_IN_RSV_WNDW

NUMBER(4)

To indicate the sched weights for this eqp_type in the reservation window

SCH_SHOW_GANTT_CHART_CAST_PORT

CHAR(1)

This is used for the scheduler, to enable/disable if it will display sched-bar for cast ports on gantt chart

SCH_SHOW_GANTT_CHART_CHAMBER

CHAR(1)

This is used for the scheduler, to enable/disable if it will display sched-bar for chambers on gantt chart

SCH_TIMER_EXP_PREFER_TOOL_HRS

NUMBER(5,1)

When selecting the best tool at a timer end step, the scheduler will prefer a tool that beats the timer expiration by at least this many hours over tools that have later start times. This takes precedence over the tool scores.

SCH_TOOL_IDLE_SCORE_JOBS

NUMBER(4)

To get a score for the Tool Idle Time rule, the lot must be one of the first jobs (ordered by start time) scheduled to the tool.

SCH_TOOL_IDLE_SCORE_SEC

NUMBER(6)

To get a score for the Tool Idle Time rule, the lot must be scheduled to begin processing within this time window from the start of the scheduler run

SCH_UNIT_INT_SEC

NUMBER(9,3)

This column is used to set the default value of the unit interval time, the time between the end time from the previous unit and the end time from the next unit, to process a lot with more than 1 units on this EQP_TYPE. The UNIT_INT_SEC is defined as the additional time to process each unit. Usually this value is greater than 0 for a non-batch tool and 0 for a batch tool.

SCH_UNRESERVE_DIFF_SETUP

CHAR(1)

Is used to determine if the queue-manager will need to remove the reserved lots if the new tracked-in lots have different setup.

SCH_USE_TOOL_THP_ESTIMATES

CHAR(1)

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.

SCH_WAIT_SEC_VERIFY_LONG_DOWN

NUMBER(6)

When a tool goes down, non highlighted priorities will wait this many seconds after the down event to break the reservation.

SCH_WAIT_SEC_VERIFY_SHORT_DOWN

NUMBER(6)

When a tool goes down, highlighted priorities will wait this many seconds after the down event to break the reservation.

SETUP_EXPIRES_AFTER_MINS

NUMBER(4)

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.

THP_CUTOFF_INST

DATE

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.

THP_IGNORE_LESS_THAN_JOB_QTY

NUMBER(6)

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.

TOOL_OWNER_NAME

VARCHAR2(64)

Name of the engineer who is responsible for the tools of this type

UNLOAD_SEC

NUMBER(4)

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.

UPDATED_INST

DATE

Time when the record was updated according to the source data. Note this is not the time when the record was actually updated in this table - it will almost always be earlier. (* from FPSINPUT.GEN_FACILITIES)

UPDATE_LOC_AFT_WEH_BEGIN

CHAR(1)

See comments for UPDATE_LOC_AFT_WEH_LOAD_UNLD.

UPDATE_LOC_AFT_WEH_BEGIN_M

CHAR(1)

See comments for UPDATE_LOC_AFT_WEH_LOAD_UNLD.

UPDATE_LOC_AFT_WEH_END_M_COMP

CHAR(1)

See comments for UPDATE_LOC_AFT_WEH_LOAD_UNLD.

UPDATE_LOC_AFT_WEH_LOAD_UNLD

CHAR(1)

These four flags are used by WIP_EVENT_HIST_INSERT_BEF trigger to decide whether or not to update the location in MHS_CARRIERS to the tool when a LOAD/BEGIN/BEGIN_M event is logged or to null when an END_M/COMP/UNLOAD event is logged. At some sites this causes a mutation because we use MHS_CARRIERS in the ETL to get WIP_EVENT_HIST.

USE_EQP_CH_RECIPE

CHAR(1)

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.

USE_EST_MACH_RCP_AS_RQD_SETUP

CHAR(1)

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.

USE_LOAD_PORT_FULL_PCT_FOR_ETP

CHAR(1)

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.

USE_MAX_QTY_ANY_CARR_FOR_THP

CHAR(1)

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.

USE_PROCESS_AS_RQD_SETUP

CHAR(1)

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.

USE_SETUP_CHG_AUTO_FOR_SCH

CHAR(1)

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.

USE_SETUP_CHG_MANUAL_FOR_SCH

CHAR(1)

See comments on USE_SETUP_CHG_AUTO_FOR_SCH for details on this column.

USE_SETUP_INST_AS_START

CHAR(1)

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.

USE_TOOL_PRD_SBY_EVENT_FOR_ETP

CHAR(1)

This rarely used flag is for tools that log PRD and SBY states but do not log any lot events, not even track in/out. For these tools, we set the ETP state to PRD-CHBEG when the eqp state changes to PRD and we set the ETP state to SBY-MAIN when the eqp state changes to SBY. We cannot simply set the etp_state to the eqp_state because the PRD/SBY eqp_state values are not valid etp_state values so we use PRD-CHBEG and SBY-MAIN as the most generic etp_state values available.

USE_WFR_EVENTS_FOR_THP

CHAR(1)

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.

VARIATION_FACTOR

NUMBER(4,1)

The variation factor to be used in the queueing model calculation to determine target cycle time and WIP for line balance.

WAFERS_PER_DISC

NUMBER(2)

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.

WAFER_SIZE

VARCHAR2(8)

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. (* from FPSINPUT.GEN_WAFER_SIZES)

WHY_IGNORE_CH_TYPE_WARN

VARCHAR2(100)

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.