Experimental design
Experimental Design for Process Engineers: A Plating DOE Example
How to turn an engineering question into an experiment that can answer it, with the wafers and tool time you actually have.
Quick answer
Design of experiments (DOE) is a way to answer a process question with the fewest runs that still give a trustworthy answer. Most experiments that fail do not fail in the analysis. They fail earlier: the question was never stated clearly, the factor levels did not cover the range that matters, or the runs were ordered in a way that let something else creep into the result.
This guide walks through one experiment on the fictional copper-pillar plating process from the root cause analysis guide. All numbers are teaching values.
Start from the question, not the factors
The root cause analysis ended with a verified cause: an anode shield displaced by 6 mm produced an 8 µm shortfall in edge pillar height. That closed the investigation, but it opened a new question.
| What the team knows | What the team does not know |
|---|---|
| 6 mm displacement produces an 8 µm shortfall. | How much displacement the process can tolerate before edge height leaves the 48–52 µm window. |
| The shortfall appears at the wafer edge. | Whether the sensitivity to displacement changes when current density or flow changes. |
An experiment has to be aimed at a specific question. "Optimize the plating process" is not one. Here is the same question written so an experiment can answer it:
Across the operating range of current density and flow, how does edge pillar height change with anode shield displacement, and at what displacement does edge height fall below 48 µm?
That sentence names the response (edge pillar height), the factor of main interest (shield displacement), the other factors whose influence matters (current density, flow), and the decision the answer feeds (a tolerance for shield position).
Choose the response, factors, and levels
Response
The response is what you measure. It should be the quantity the question is about, measured with a system you trust.
| Response | Definition | Why this one |
|---|---|---|
| Edge pillar height | Mean of five edge sites per wafer, µm | This is where the shortfall appeared. |
| Center-to-edge difference | Mean center height minus mean edge height, µm | Separates a uniformity change from a total-thickness change. |
Before the first wafer runs, confirm the gauge can resolve the differences you expect. If the experiment is looking for 2–3 µm effects and the gauge's repeatability is 2 µm, the experiment cannot see what it is looking for. A Gage R&R settles this.
Factors and levels
A factor is something you deliberately change. A level is one of the settings you give it.
| Factor | Levels | Why these levels |
|---|---|---|
| Shield displacement | 0, 3, 6 mm | 0 is the setpoint; 6 is the displacement found in the root cause case; 3 is in between, so the result shows the shape of the relationship, not just two endpoints. |
| Current density | Nominal, +10% | The recipe allows this range; the question asks whether sensitivity changes within it. |
| Flow setting | Low, high | Same reason. These are the two settings used in production. |
The levels need to cover the range that actually occurs. Testing shield displacement at 0 and 1 mm would be safe and uninformative. Testing at 0 and 6 mm would show the endpoints but not where the problem starts. Three levels for the factor of main interest, two for the others, is a common compromise.
Held constant and left uncontrolled
Everything else falls into one of two groups.
| Held constant | Not controlled, but can affect the result |
|---|---|
| Product, recipe revision, bath lot, photoresist lot, plating tool (tool B only) | Bath drift over time, shift, operator, ambient temperature |
The second column is the one that wrecks experiments. Those are the sources of variation the design has to handle, which is what the rest of this guide is about.
Pick a design that fits the constraint
Three factors at 3, 2, and 2 levels give 3 × 2 × 2 = 12 combinations. Running every combination is a full factorial design. Each combination is called a treatment.
Why not change one factor at a time? Because one-factor-at-a-time (OFAT) tests shield displacement only at one current density and one flow. If the sensitivity to displacement is different at +10% current, OFAT never sees it. A factorial design tests every displacement at every current density, so the comparison is built in. When one factor's effect depends on another factor's level, that is an interaction; the interaction effects guide covers how to read one.
How many wafers
Twelve treatments, one wafer each, is 12 wafers. That gives one measurement per treatment and no way to tell whether a difference between two treatments is a real effect or wafer-to-wafer noise.
Replication means running the same treatment more than once on separate wafers. Two wafers per treatment doubles the count to 24 and gives an estimate of noise at every point in the design.
| Design | Wafers | What you get |
|---|---|---|
| 12 treatments × 1 wafer | 12 | Every combination once. No noise estimate. |
| 12 treatments × 2 wafers | 24 | Every combination twice. Noise estimate from the pairs. |
| 12 treatments × 3 wafers | 36 | Tighter noise estimate. Often more than the question needs. |
For this example, the team has 24 test wafers. Two replicates it is.
If the budget were 12 wafers and no more, the honest choice is a design that gives up something explicitly: drop a factor, drop a level, or accept no replication and plan a confirmation run afterward. Fractional factorial designs exist for larger factor counts; they are outside this guide.
Control what you cannot study: randomization, replication, blocking
This is the section that separates an experiment from a demonstration.
Randomization
The natural way to run this would be: all 0 mm wafers, then all 3 mm, then all 6 mm. Setting the shield once per group saves time.
The problem: bath composition drifts over a shift. If the bath is slowly losing additive, the 6 mm wafers run last and plate thinner for a reason that has nothing to do with the shield. The experiment would then attribute bath drift to shield displacement, and there is no way to untangle them afterward.
Randomizing the run order breaks that link. Drift still happens, but it lands on treatments at random instead of lining up with one factor. Randomization costs time (the shield gets moved more often). That cost is the price of a result you can trust.
Replication, real and fake
Two wafers in the same treatment, plated separately, are real replicates. Five height measurements on one wafer are not. The five sites tell you about measurement and within-wafer uniformity; they do not tell you how much the next wafer under the same conditions would differ.
Averaging five sites to one edge-height value per wafer is correct. Treating the five sites as five independent runs is the mistake called pseudo-replication, and it makes effects look more certain than they are.
Blocking
Twenty-four wafers do not fit in one shift. Say the tool can run 12 in a shift. The experiment spans two shifts, possibly two operators, and a bath that is a day older on the second shift.
Blocking handles this. Put one full replicate (all 12 treatments) in shift 1 and the second replicate in shift 2. Randomize the order within each shift. Now any shift-to-shift difference affects every treatment equally and can be separated out in the analysis instead of being mixed into the factor effects.
| Block | Run order | Shield (mm) | Current | Flow |
|---|---|---|---|---|
| Shift 1 | 1 | 3 | +10% | Low |
| Shift 1 | 2 | 0 | Nominal | High |
| Shift 1 | 3 | 6 | Nominal | Low |
| Shift 1 | 4 | 0 | +10% | Low |
| … | … | … | … | … |
| Shift 1 | 12 | 3 | Nominal | High |
| Shift 2 | 13 | 6 | +10% | High |
| Shift 2 | 14 | 0 | Nominal | Low |
| … | … | … | … | … |
| Shift 2 | 24 | 3 | +10% | Low |
Each block contains every treatment once. The order within a block is random.
A related situation is splitting a single production lot across conditions to compare them; that is a split-lot experiment, and it has its own structure that this guide does not cover.
Read the result before the statistics
Plot the raw data before running any test. For this example, the fictional outcome:
| Shield displacement (mm) | Edge height at nominal current (µm) | Edge height at +10% current (µm) |
|---|---|---|
| 0 | 50.0 | 50.1 |
| 3 | 48.2 | 46.4 |
| 6 | 42.1 | 39.8 |
Three things the table already tells the team:
- At the nominal current, 3 mm displacement is right at the lower limit. At +10%, it is below. The tolerance has to be tighter than 3 mm.
- The two lines are not parallel. Sensitivity to displacement is higher at the higher current density. That is an interaction, and it means the shield tolerance cannot be set without knowing which current density production will use.
- Flow can be left out of the tolerance decision.
The statistics come next. An analysis of variance tells you whether the differences in the table are large relative to the wafer-to-wafer noise, and whether the block (shift) had an effect. It confirms or questions what the table shows. It does not replace looking.
Back to the question
The experiment set out to find how much shield displacement the process tolerates. What the data support directly:
- At 0 mm, edge height is centered in the window at both current densities.
- At 3 mm, edge height is at the lower limit at nominal current and below it at +10%.
- At 6 mm, edge height is well below the limit at both.
So the tolerance must be tighter than 3 mm. Where exactly the limit is crossed, the experiment did not test. Drawing a straight line between the 0 mm and 3 mm points suggests the limit is not crossed before 3 mm at nominal current and is crossed at roughly 1.7 mm at +10%, but the drop from 3 to 6 mm is much steeper than from 0 to 3, so the relationship is not a straight line, and the interpolation is a guess informed by the data rather than a result.
The next step is a small confirmation run at the proposed tolerance (for example, 2 mm at nominal current, and 1 mm and 2 mm at +10% current, two wafers each). If those wafers stay inside the window with margin, the team can set the maintenance tolerance at the confirmed value, add a position check to the post-maintenance checklist, and record shield position as a characteristic in the control plan. The PFMEA for the step gets the occurrence evidence it was missing.
A factorial experiment maps the shape of the response across the design space. Setting a specification from that map usually takes one more targeted run at the proposed limit.
Common mistakes
| Mistake | What it looks like | Better practice |
|---|---|---|
| No stated question | "Let's run a DOE on the plating process." | Write the question first. The design follows from it. |
| Levels too narrow | Shield tested at 0 and 1 mm because 6 mm "would obviously fail." | Cover the range where the answer changes, including the known-bad point. |
| Running in convenient order | All 0 mm first, all 6 mm last. | Randomize. Accept the extra setup time. |
| Pseudo-replication | Five sites per wafer analyzed as five runs. | One value per wafer. Replicate with separate wafers. |
| Ignoring the block | Shift 1 and shift 2 runs pooled as if they were one day. | Block by shift and keep it in the analysis. |
| Confounding tool with treatment | 0 mm runs on tool A, 6 mm runs on tool B. | One tool, or tool as a block with every treatment on each. |
| Changing the design midway | A fourth factor added after six runs. | Finish the design as planned. Start a second experiment for the new factor. |
| Looking only at means | Treatment means compared with no view of spread. | Plot every wafer. A large effect with large scatter needs more replication. |
| Reading a specification off an interpolation | Tolerance set at 2 mm at nominal current and 1 mm at +10% because both sit inside the points where the line between the 0 mm and 3 mm points crosses 48 µm, which seems to leave margin. | Run a confirmation at the proposed limit. The design tested 0, 3, and 6 mm; it did not test 2. |
| Skipping the measurement check | Gauge assumed adequate. | Confirm the gauge resolves the smallest effect you care about. |
Before you run
- The question is written in one sentence and names the response and the decision it feeds.
- The response is defined, including how sites are averaged, and the gauge has been checked.
- Factor levels cover the range where the answer could change.
- Conditions held constant are listed; uncontrolled sources of variation are named.
- The design is chosen and the wafer count is justified, including replication.
- Run order is randomized within each block, and blocks match the practical constraint (shift, bath age, tool).
- Material, tool time, and authority to run off-nominal conditions are confirmed.
An experiment answers the question it was designed to answer. Design it for the question you have, not the data you hope to collect.
Sources and further reading
- NIST/SEMATECH Engineering Statistics Handbook — Process Improvement. Covers experimental design concepts, factorial designs, randomization, replication, and blocking. (itl.nist.gov)
- ASQ — Design of Experiments. Overview of DOE purpose and basic principles. (asq.org)
- Box, Hunter & Hunter, Statistics for Experimenters, 2nd ed. (Wiley, 2005). Standard reference for factorial design and the reasoning behind randomization and blocking.