cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
jpol
Level IV

Is there a way to determine how well a curve meets specification?

Hi,

 

I have a need to determine how well a curve meets specification. 

 

This simulated case is from wafer manufacturing where there is a targeted wafer bow profile. A flat wafer is not good. Neither is a profile having excessive bow.

 

Having processed a wafer I would like to determine how well the profile meets my specification, in this case a template created using natural tolerance limits set at +/- 2 sigma (0.025 and 97.5 percentiles).

 

Profiles for 500 wafers processed in the past look like this:  

jpol_0-1733311114638.png

 

I calculate from these profiles (aggregating over every 10 mm across the wafer), an ideal profile (Median) and Upper and Lower tolerances (0.025 and 97.5 percentiles) resp.. to get the following:

 

jpol_1-1733311446984.png

 

 

So, having determined my tolerance window, I would like to measure how well a wafer's bow profile meets spec. 

The best case would be that the just measured bow profile would be exactly the same as the "ideal" profile, however this is not typically the case. I would like to know how well the latest bow profile sits inside the tolerance window, indicating distance from tolerance limit(s) and distance from ideal. Something like a Ppk value.

 

jpol_2-1733312077377.png

 

I would expect the best value for wafer '257' above and worst for wafers '263' and '260'

 

Can this be done using FDE perhaps?

 

Your comments and suggestions are most welcome.

 

Data and Table Script attached

 

- Philip

 

 

 

 

 

 

 

 

2 REPLIES 2
Victor_G
Super User

Re: Is there a way to determine how well a curve meets specification?

Hi @jpol,

 

I'm quite confident there can be multiple ways to achieve this goal, here is an option using Functional Data Explorer in several steps :

  1. Stack the data, so that Ideal, Lower Template and Upper Template profiles have their values with the rest of the curves.
  2. Use the FDE, and launch it with this configuration :
    Victor_G_0-1733406292672.png
    I created a new ID column by concatenating Lot ID and Wafer number to differentiate some curves, as lot ID groups several curves. 
  3. In the FDE platform, in Data Processing Options, load the "Ideal" profile as your Target curve.
  4. Choose your curve-fitting model : in your case, as the curves are smooth and simple (quadratic fit), I choose a B-Splines model :
    Victor_G_1-1733406534710.png
    Due to the relatively easy shape of your functions, only one Functional Principal Component is needed for this model type.
  5. In the red triangle next to Function Summaries Options, click on "Save Summaries" to extract the summaries table.
  6. You can then visualize the FPC1 values for your curves, enter the FPC1 values calculated for Upper and Lower Template as upper and lower spec for "Bow (um) FPC 1", and analyze your process :
    Victor_G_3-1733407469414.png

    Or using Ideal as your reference point for FPC1 value, calculate for each curve the distance to this reference point, and see if it goes beyond your upper and lower limit. Once the data is processed and simplified, you can do a lot of things !

 

I'm quite sure there might be even more simple options using Fit Curve platform, but didn't try it yet on your example.
Please find attached the datatable with the scripts used to reproduce the results.

Hope this first option might help you,

 

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
Victor_G
Super User

Re: Is there a way to determine how well a curve meets specification?

Hi @jpol,

 

There might be indeed at least a second way to do it, using the Platforms Fit Y by X or Fit Curve and specifying quadratic models.

  1. Use one of these platforms, specifying Position as X and Bow as Y, and use ID as "By" to have one model for each curve.
  2. Specify a quadratic model for the curves.
  3. Go in the Parameters Estimates table of your curves model, and "Make Combined Table".
  4. Using the parameters table, you can set spec limits based on the results from Target and Upper and Lower Templates. There are various option to process the data, using PCA, PCA Model Driven Multivariate Control Chart, graphs... I have highlighted NON-CONFORM curves in red based on results from PCA Model Driven Multivariate Control Chart, but maybe this is not the right way to analyze the data to evaluate CONFORMITY/NON-CONFORMITY in this case. I have also added NON-CONFORMITY column based on results from the Principal Component 1 which seems more reliable.

It's important to notice that these two methods (Fit Y by X / Fit Curve and FDE) don't bring the same results in terms of "conformity" of the curves. The FDE platform is able to identify quite precisely which curves are not in specs :

Victor_G_0-1733471550255.png

The constrained modeling of Fit Curve and Fit Y by X with a quadratic equation and the use of the first principal component PC1 (calculated with the curves parameters) seems less precise, but works ok : 

Victor_G_2-1733472472456.png

 

The more flexible modeling and more straightforward and easier ways to process the data from the FDE make me think this would be a more flexible and more accurate method for your needs.

It's a little harder to use Fit Y by X / Fit Curve for this example, as you have more parameters extracted (intercept, quadratic, slope), and it's sometimes hard to define specs as this doesn't correspond to the values ordering from your ideal target and upper/lower template values. For example, I have a higher value for slope parameters for target than for upper or lower template, so it's hard to set the specifications. Even when using Principal Components, I can only set specs for the first PC, the second one has a similar problem (Ideal PC2 value is higher than the ones from upper and lower template).

 

You can also check the results with a Confusion matrix, you'll see that the methods tend to agree most of the time :

Victor_G_3-1733472689683.png

 

Attached you can find the dataset with all the new scripts added for the testing of platforms Fit Curve and Fit Y by X.

Hope this answer will help you,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)