Data Dictionary
>
FPSADMIN Tables
> FPSADMIN.THP_EQPTYPE_SUMMARY
Table FPSADMIN.THP_EQPTYPE_SUMMARY"
See comments in THP_REF_EQPTYPE_SUMMARY view.
-
Schema: FPSADMIN
-
Tablespace: FPSDATA
-
Primary key: FACILITY, EQP_TYPE, PROCESS, EST_MACHINE_RECIPE, CH_TYPE_CNT, IS_PARALLEL_OTHER_CH, DURABLE_THP_VARIATION
|
Column |
Type |
Nullable |
Comment |
|---|---|---|---|
|
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) |
|
EQP_TYPE |
VARCHAR2(50) |
N |
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. (* from FPSINPUT.EQP_TYPES) |
|
PROCESS |
VARCHAR2(50) |
N |
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) |
|
EST_MACHINE_RECIPE |
VARCHAR2(100) |
N |
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. (* from FPSINPUT.RTG_TOOL_ASSIGNMENTS) |
|
CH_TYPE_CNT |
VARCHAR2(128) |
N |
This value is a summarizing of ch_used which we use for grouping of throughput. The assumption is that throughput will be the same if the same number of chambers of the same type are used. (* from FPSINPUT.THP_EXTERNAL) |
|
IS_PARALLEL_OTHER_CH |
CHAR(1) |
N |
NOTE: Currently this is not set and is always N! This flag is for chamber tools where the job is running on some chambers while another job is running on entirely different chambers. For example, we expect a job on chambers AB to be faster running alone than when running in parallel with another job on chambers CD. (* from FPSBASE.THP_TOOL_WEEK_HIST) |
|
DURABLE_THP_VARIATION |
VARCHAR2(64) |
N |
When this column is populated that means that we have a choice of durable families and that processing time for the lot/recipe depends on which durable family is chosen. The most common use case is 8 pin and 16 pin probe cards. This will be blank for reticles and other cases where the throughput is not dependent on the durable. This is part of the primary key of our throughput logic where nulls are filled in as NA since PK columns cannot be null. In our first example, we have a recipe WAFER_TEST_1 that we use for a whole bunch of different prds. Each prd requires its own probe card but for throughput purposes we do not care about the prd. We just care about the recipe which is WAFER_TEST_1 and we would set duration_thp_variation to 8pin or 16pin. Then we would group all prds that use WAFER_TEST_1 and ran with an 8 pin probe card together in the same THP record. Our second example is similar to the first but for throughput purposes each prd will be different. We would set duration_thp_variation to the durable family for this case. In our third example, the recipe is different for each prd. In this case, we would set duration_thp_variation to either 8pin and 16pin or to the durable family and get the same result. (* from FPSINPUT.RTG_DURABLE_FAMILIES) |
|
AUTO_TRUSTED_PCT_DIFF |
NUMBER(*,3) |
||
|
AVG_DISCS_PER_JOB |
NUMBER(3,1) |
||
|
AVG_QTY_PER_CARR_FOR_UPH |
NUMBER(7) |
N |
Throughput calculations like EET, MPU, and UPH all include wafer_interval_sec which must be multiplied by wafer qty. When calculating for a specific lot, we can use its qty but when calculating generically we use this value which should be set close to the average lot size for the facility. This value can be overridden for an eqp type with exp_qty_per_job. (* from FPSINPUT.GEN_FACILITIES) |
|
AVG_QTY_PER_JOB |
NUMBER(8,1) |
||
|
CALC_TYPE |
VARCHAR2(5) |
||
|
CALC_TYPE_DISPLAY |
VARCHAR2(17) |
||
|
CASCADE_LENGTH_DISPLAY |
VARCHAR2(92) |
||
|
CH_TYPE_FOR_THP_DISPLAY |
VARCHAR2(9) |
||
|
COMMENT_TRUSTED |
VARCHAR2(256) |
||
|
ENDED_AVG_SEC |
NUMBER(6) |
||
|
ENDED_STD_DEV |
NUMBER(9,3) |
||
|
ET_CV_NUM_JOBS_USED |
NUMBER(6) |
||
|
ET_FIRSTU_CV |
NUMBER(*,3) |
||
|
ET_INT_CV |
NUMBER(*,3) |
||
|
ET_MPU_CV |
NUMBER(*,3) |
||
|
ET_PRCS_EMR_CH_FIRSTU_CV |
NUMBER(*,3) |
||
|
ET_PRCS_EMR_CH_INT_CV |
NUMBER(*,3) |
||
|
ET_PRCS_EMR_CH_MPU_CV |
NUMBER(*,3) |
||
|
ET_PRCS_FIRSTU_CV |
NUMBER(*,3) |
||
|
ET_PRCS_INT_CV |
NUMBER(*,3) |
||
|
ET_PRCS_MPU_CV |
NUMBER(*,3) |
||
|
ET_PRCS_NUM_JOBS |
NUMBER(6) |
||
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
FIRST_UNIT_SEC_AUTO |
NUMBER(9,3) |
||
|
FIRST_UNIT_SEC_LCL |
NUMBER(9,3) |
Lower control limit for first unit seconds used in our Throughput monitoring. Obviously this must be less than the manual first unit value. (* from FPSINPUT.THP_MANUAL) |
|
|
FIRST_UNIT_SEC_TRUSTED |
NUMBER(9,3) |
||
|
FIRST_UNIT_SEC_UCL |
NUMBER(9,3) |
Upper control limit for first unit seconds used in our Throughput monitoring. Obviously this must be greater than the manual first unit value. (* from FPSINPUT.THP_MANUAL) |
|
|
FIRST_UNIT_STD_DEV |
NUMBER(9,3) |
||
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
HIDE_ON_THP_PAGE |
CHAR(1) |
N |
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. (* from FPSINPUT.EQP_TYPES) |
|
INTERVAL_SEC_AUTO |
NUMBER(9,3) |
||
|
INTERVAL_SEC_LCL |
NUMBER(9,3) |
Lower control limit for interval seconds used in our Throughput monitoring. Obviously this must be less than the manual interval value. (* from FPSINPUT.THP_MANUAL) |
|
|
INTERVAL_SEC_TRUSTED |
NUMBER(9,3) |
||
|
INTERVAL_SEC_UCL |
NUMBER(9,3) |
Upper control limit for interval seconds used in our Throughput monitoring. Obviously this must be greater than the manual interval value. (* from FPSINPUT.THP_MANUAL) |
|
|
INTERVAL_STD_DEV |
NUMBER(9,3) |
||
|
IS_BATCH_THP |
CHAR(1) |
N |
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. (* from FPSINPUT.EQP_TYPES) |
|
IS_BEST_CTC_FOR_PRCS_RCP_ETYPE |
CHAR(1) |
||
|
IS_ENDED_VALID |
CHAR(1) |
||
|
IS_FIRST_UNIT_VALID |
CHAR(1) |
||
|
IS_INTERVAL_VALID |
CHAR(1) |
||
|
IS_VALID |
CHAR(1) |
We consider a lot valid for our finished lot calculations when the lot moved through the first step and the last step on the main route for its product. There are some variations such as the lot moved through the first step on an older version of the route or finished with an event specifically marked as a ship event or the route did not have any steps. (* from FPSBASE.ECT_FINISHED_LOT_HIST) |
|
|
LOAD_SEC |
NUMBER(4) |
N |
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) |
|
MAX_BATCH_SIZE_CARRIERS |
NUMBER(2) |
N |
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. (* from FPSINPUT.EQP_TYPES) |
|
MAX_BATCH_SIZE_LOTS |
NUMBER(2) |
The maximum number of lots allowed in one batch (* from FPSINPUT.EQP_TYPES) |
|
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
MEMO_TRUSTED |
VARCHAR2(512) |
||
|
MPU_AUTO |
NUMBER(8,4) |
||
|
MPU_CASCADE_QTY |
NUMBER(7) |
||
|
MPU_LCL |
NUMBER(8,4) |
Lower control limit for MPU used in our Throughput monitoring. Obviously this must be less than the manual MPU value. (* from FPSINPUT.THP_MANUAL) |
|
|
MPU_QTY_PER_JOB_OR_BATCH |
NUMBER(7) |
||
|
MPU_TRUSTED |
NUMBER(8,4) |
||
|
MPU_UCL |
NUMBER(8,4) |
Upper control limit for MPU seconds used in our Throughput monitoring. Obviously this must be greater than the manual MPU value. (* from FPSINPUT.THP_MANUAL) |
|
|
NUM_DISCS_FOR_JOB |
NUMBER(2) |
Number of discs used in the job as estimated by our throughput logic. (* from FPSBASE.WIP_LOT_HIST) |
|
|
NUM_JOBS |
NUMBER(6) |
||
|
NUM_WFR_INTERVALS |
NUMBER(7) |
||
|
RCP_BATCH_LONG_MSG |
VARCHAR2(200) |
||
|
RCP_BATCH_SHORT_MSG |
VARCHAR2(100) |
||
|
UNLOAD_SEC |
NUMBER(4) |
N |
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) |
|
UPH_AUTO |
NUMBER(9,3) |
||
|
USERNAME_TRUSTED |
VARCHAR2(64) |
||
|
USE_ONLY_TRUSTED_FOR_THP_AVG |
CHAR(1) |
N |
By default, the Auto MPU for each eqp_type shown on our Throughput Tracker is the weighted average of the automated calculated MPU for all processes. But the Auto-Trusted Delta compares the weighted average of the auto MPU only for processes where a trusted value is defined. Therefore if only selected processes have trusted values, we will show something confusing like Auto 7, Trusted 5, A-T Delta 1. If this flag is set then we will show the weighted average only for processes where a trusted value is defined to match the A-T Delta calculation. Then we will show Auto 6, Trusted 5, A-T Delta 1. (* from FPSINPUT.GEN_FACILITIES) |
|
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. (* from FPSINPUT.EQP_TYPES) |
|
|
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) |