Hello,
my
name
is
Margaret
Wilson-Moses,
and
I
work
at
Inpria
Corporation
as
a
Senior
Product
Engineer.
Inpria
Corporation
is
up
in
Corvallis,
Oregon.
Inpria
designs
and
manufactures
metal
oxide
photoresists
to
unlock
the
full
potential
of
extreme
ultraviolet
or
EUV
photolithography.
At
its
most
basic
level,
Inpria
is
made
up
of
chemists
and
engineers.
The
chemists
at
Inpria
are
the
ones
developing
and
designing
the
chemistries,
testing
them
and
refining
them
to
behave
how
they
want,
and
then
taking
those
small
formulations
and
giving
the
best
designs
to
the
engineers.
The
engineers
scale
up
those
designs
to
manufacture
in
our
high-
volume
manufacturing
facility
where
we
have
tighter
control
over
processing
and
higher
purity,
and
that
finished
product
goes
to
our
customers.
Both
the
chemists
and
the
engineers
at
Inpria
use
JMP
extensively.
The
chemists
use
JMP
to
design
their
experiments
to
analyze
the
results
of
those
experiments,
often
using
hypothesis
testing.
They
also
use
JMP
to
build
models,
so
they're
better
able
to
predict
how
certain
parameters
will
affect
the
response
variables
they're
seeking.
They
also
use
JMP
to
present
their
findings
within
their
teams
and
across
Inpria.
Engineers
use
JMP
to
work
up
our
process
data.
We
have
sensors
on
our
manufacturing
facility
that
are
collecting
data
every
two
seconds.
We
have
a
large
amount
of
data
and
we
use
automated
scripts
from
JMP
to
pull
out
the
pieces
of
that
data
that
we
need
to
be
able
to
analyze
processing
much
more
simply.
We
use
control
charts
to
look
at
process
parameters
for
different
batches
and
also
analyze
QC
metrics
of
our
product
over
time
for
different
formulations.
Those
QC
metrics
end
up
on
our
certificates
of
analyzes.
We
also
use
measurement
system
analyzes
or
MSA
to
perform
gage
studies
on
the
tools
that
we
use
to
collect
the
quality
control
metrics.
We
also
join
data
from
various
sources,
as
do
the
chemists,
because
different
groups
at
Inpria
are
always
collecting
data,
so
it's
good
to
be
able
to
have
a
way
to
join
the
data
and
look
for
correlations
between
those
data
sets.
Finally,
we
also
use
JMP
to
present
our
data
both
internally
and
to
our
customers.
A
couple
of
years
ago,
when
we
were
bringing
up
our
high-
volume
manufacturing
facility,
I
was
tasked
with
the
goal
of
developing
a
cleaning
scheme
for
our
manufacturing
facility.
Inpri
a,
at
that
time,
and
in
a
way
today,
cleans
our
manufacturing
systems
by
dilution
to
ensure
lot-to-lot
segregation.
To
ensure
that
lot
A
does
not
end
up
in
lot
B
or
it's
limited
to
a
very
small
amount.
I've
modeled
that
here.
The
top
left,
we
have
our
finished
product.
When
we
transfer
that
to
bottles
and
we're
done
wasting,
we've
taken
all
we
can
take
out,
we're
left
with
a
little
bit
of
heel
in
our
system.
That
heel
cannot
be
drained
or
flushed
out.
It's
just
unreachable
by
the
pumps.
To
that
heel,
we
add
a
flush
that
doesn't
contain
any
of
the
starting
material
and
we
end
up
with
a
diluted
heel.
We
waste
as
much
as
we
can
and
end
up
with
the
same
volume
of
heel,
but
at
a
lower
concentration
of
X.
We
repeat
this
process,
flushing
and
wasting,
flushing
and
wasting
until
we
have
the
concentration
that
we
need
at
the
end.
Further
on,
I'll
model
this
by
calling
Xâ,
the
concentration
of
X
in
the
finished
product
or
whatever
the
heel
starts
at,
so
which
is
going
to
match
the
final
product.
Then
Xâ
is
the
concentration
of
X
after
the
first
flush.
Xâ
is
the
concentration
after
the
second
flush,
and
so
on
up
through
Xâ.
The
flush
volume
here,
called
F,
is
the
same
volume
repeatedly
throughout
the
process.
My
objective
when
approaching
this
problem
was
to
develop
a
dynamic
and
user-friendly
visual
model
to
show
to
my
team
how
different
variables
in
this
problem
a
ffect
the
potential
cleaning
schemes
we
could
use
with
the
overall
goal
of
supporting
selection
of
a
scheme
that
would
fulfill
all
our
criteria.
Flushing.
Cleaning
by
dilution
can
be
modeled
with
this
equation
here,
which
I
just
pulled
from
the
math
that
comes
out
of
the
previous
slide
taken
to
N
flushes.
Xâ,
the
amount
of
X
remaining
after
N
flushes
e
quals
to
the
variables
on
the
right.
So
where
H
is
the
volume
of
heel,
F
is
the
volume
per
flush
in
the
cleaning,
N
is
the
number
of
flushes,
and
Xâ
is
the
initial
amount
of
X.
This
equation
does
importantly
assume
that
every
flush
and
heel
are
perfectly
mixed
per
flush,
but
we
do
have
experiential
data
that
supports
that
that
is
indeed
the
case,
thankfully.
We
are
also
assuming
that
the
heel
volume
is
consistent
every
time,
so
we're
wasting
to
the
same
exact
heel,
and
that
the
flush
volume
is
the
same
exact
volume
every
single
flush.
But
again,
we
have
experiential
data
that
supports
that,
so
we're
okay
with
these
assumptions.
Functionally,
we
are
actually
more
interested
in
translating
this
equation
to
be
a
function
of
N,
the
number
of
flushes,
and
F,
the
volume
per
flush,
because
the
other
variables
in
this
equation
are
pretty
much
set.
Heel
or
H
is
constant
per
manufacturing
system.
It
may
vary
per
system,
but
it
is
known
through
the
data
we've
collected
in
the
past
to
calculate
what
it
is.
Xâ
and
Xâ
vary
per
cleaning,
but
again,
we
have
analytical
methods
to
understand
both
Xâ
and
Xâ
per
cleaning.
Those
are
our
known
variables.
Flush
volume
and
number
of
flushes
are
the
two
variables
that
we're
varying
to
figure
out
a
cleaning
scheme.
Those
are
the
ones
to
be
determined.
We
have
a
few
boundary
conditions
also.
The
total
amount
of
solvent
used
must
be
as
low
as
possible.
We
didn't
come
into
this
with
a
hard
limit,
but
more
solvent
used
is
higher
cost
both
in
raw
materials
and
waste,
so
we
want
to
limit
it
as
much
as
possible.
Another
boundary
condition
is
that
we
want
to
keep
the
number
of
flushes
less
than
or
equal
to
20
in
order
to
be
operational.
That's
because
we
want
to
fit
our
cleaning
within
our
production
cadence.
Lower
flushes
is
better
operationally,
but
we
have
a
hard
limit
at
20.
Flush
volume
also
has
a
boundary
condition.
It
has
to
be
less
than
or
equal
to
the
capacity
of
the
system.
In
this
case,
I've
set
our
capacity
equal
to
60
gallons.
The
maximum
flush
volume
you
could
have
is
clearly
60.
If
you
take
the
equation
I
showed
on
the
previous
slide
and
these
boundary
conditions
along
with
the
fact
that
we
know
H,
X,
not
an
N,
you
can
actually
solve
this
equation.
You
can
find
F
and
N
to
satisfy
the
boundary
conditions.
But
that
misses
the
goal
that
I
had
when
I
came
into
this
process.
To
explain
a
little
bit
more
about
that,
there's
many
ways
why
going
with
a
visual
model
through
JMP
was
more
advantageous
for
me
when
I
approach
this
problem
than
just
working
with
this
stagnant
equation.
First
off,
this
equation
is
not
intuitive.
I'm
pretty
good
at
math,
and
I
can't
see
what
this
equation
means
in
a
graph
form
by
just
looking
at
it,
versus
when
you
have
a
visual
model,
you
can
see
how
different
variables
affect
each
other.
The
equation
is
limited.
You
may
have
one
H,
where
you
may
have
one
H,
when you
want
to
have
one
yield
value
per
manufacturing
system,
but
you
have
different
manufacturing
systems.
You
may
want
to
vary
H
and
see
what
the
different
cleaning
schemes
are.
This
equation
really
fits.
You
get
one
answer
per
one
set
of
input
variables.
With
a
visual
model,
you
have
a
very
versatile
relationship
that
you
can
see
and
it
covers
infinite
different
cleaning
schemes.
The
equation
is
also
very
individual.
I
crunch
this
math,
I
make
the
assumptions,
I
put
the
input
values
in,
and
then
I
tell
my
team
how
many
flushes
we
should
use
and
what
the
volume
per
flush
should
be.
They
can
check
my
math,
but
they're
not
involved
in
that
process
at
all.
They
just
say,
"Okay."
Versus
the
visual
model
that
I
built
is
user-friendly
and
dynamic,
so
they
can
tinker
around
with
themselves
and
see
how
the
variables
affect
each
other
and
come
to
their
own
conclusions,
which
also
leads
to
more
buy-in
from
the
team
when
we
end
up
choosing
a
cleaning
scheme.
Lastly,
an
equation
is
boring.
I
like
math,
and
it's
still
more
fun
for
me
to
play
around
with
the
graph
than
it
is
to
use
an
equation.
The
visual
is
much
more
interactive.
I'm
going
to
move
from
here
to
sharing
my
model.
I
started
with
just
a
simple
data
table
with
three
table
variables.
I
have
X
â
here
and
Xâ
both
in
ppm.
And
I've
started
Xâ
to
be
1 million
ppm,
and
Xâ
is
the
target
end
goal
for
the
cleaning,
and
heel
is
the
heel
of
the
system.
The
number
of
flushes
here
is
just
an
independent
variable,
so
it's
just
an
integer
value
between
1
and
35.
I
did
go
beyond
the
maximum
number
of
flushes
just
to
get
a
better
view
of
the
relationship.
Then
the
flush
volume
column
here
is
built
off
the
equation
that
I
showed
previously.
I
open
up
this
formula,
you
can
see
that
this
is
the
same
equation
I
shared
in
the
slide,
and
it's
a
function
of
the
table
variables.
It's
a
function
of
these
table
variables
here
that
are
brought
into
the
equation.
I've
also
rounded
it
to
one
decimal
place
because
our
control
system
only
has
that
amount
of
sensitivity
when
adding
flush
volume.
Finally,
I
have
a
third
column
here
which
is
the
total
solvent
used.
This
is
simply
a
product
of
the
first
two
columns.
It
will
show
you
how
much
solvent
you've
used
per
cleaning
scheme.
It
just
multiplies
the
number
of
flushes
by
the
flush
volume
to
give
the
total
amount
of
solvent
used.
When
I
go
into
my
cleaning
model,
it's
built
around
Graph
Builder.
I'm
going
to
set
my
standard
here
to
be
1
million
ppm
as
the
starting
value.
Let's
say
our
target
is
10
ppm
of
residual
X
at
the
end
of
cleaning
and
our
heel
is
five
gallons.
You
can
see
here
that
we
have
an
X
on
the
graph
of
number
of
flushes
and
then
there's
two
different
Y
values.
There's
the
flush
volume
in
gallons
and
the
total
solvent
used
in
gallons.
I
also
have
a
reference
line
here
at
20
to
show
the
maximum
flushes
that
are
operable.
Each
of
these
points
reflected
here
is
a
full
cleaning
scheme.
If
I
select
this
point
right
here,
this
is
saying
10
flushes.
With
this
starting
value
of
X,
this
goal
end
of
X
at
this
heel
value,
and
you're
going
to
have
the
flush
volume
of
10.8
gallons
per
flush
in
that
cleaning
scheme.
When
you
look
at
this
graph,
all
of
the
red
points
to
the
left
of
this
black
line
are
valid
cleaning
schemes.
Some
of
them
use
more
solvent,
total
solvent,
and
some
of
them
use
less,
but
they're
all
valid
per
our
boundary
conditions.
Then
I
have
at
the
right
here
the
table
variables
in
slider
form,
these
top
three
things,
which
are
editable
either
by
a
slider
or
by
the
number
edit
box
here
that
are
connected
to
the
table
variable.
Then
I
have
a
button
box
here
which
will
take
all
this
information
and
compute
it
and
give
you
a
simple
answer
for
the
total
solvent
use.
If
I
click
that
right
here,
I
get
a
box
that
says,
"Okay,
if
you
have
20
flushes,
the
volume
per
flush
will
be
3.9
and
you're
going
to
use
a
total
of
78
gallons
in
this
cleaning
flush."
There's
a
few
things
we
can
get
without
really
even
tinkering
with
the
slider
variables
over
here
with
this
visual
model
that
we
couldn't
get
from
the
equation,
like
I
said
before.
First
off,
you
do
see
this
negative
correlation
between
number
of
flushes
and
total
solvent
use.
When
I
said
that
you
could
solve
the
equation
using
the
boundary
conditions
and
our
known
table
variables,
I
meant
that
if
you
are
trying
to
use
the
least
amount
of
total
solvent
and
you
have
a
maximum
of
20
flushes,
then
your
best
scheme,
assuming
you're
trying
to
minimize
solvent
used,
is
going
to
be
at
20
flushes.
That's
due
to
this
negative
correlation
here.
The
more
flushes
you
used,
the
less
total
volume
you're
using
because
it's
negative
correlation.
You
also
see
with
this
visual
that
it's
an
exponential
decay.
While
20
flushes
may
be
the
least
amount
of
total
solvent
you're
using
with
these
boundary
conditions,
18
flushes
only
uses
81
gallons,
which
is
only
three
gallons
more
than
you
use
at
20
flushes.
This
is
where
it
becomes
important
to
have
this
visual
here
because
it
might
be
the
case
that
the
time
we
save
in
operations
by
reducing
flushes
from
20
to
18
is
actually
worth
the
three
gallons
we
lose
in
total
solvent
used.
All
right,
so
with
the
sliders,
now
we
can
start
looking
at
the
sliders,
with
the
sliders,
you
can
see
how
these
variables
affect
the
possible
cleaning
schemes.
The
sliders
here
are
in
the
range
of,
maybe
not
as
possible,
but
what's
reasonable
for
this
model.
So
you
can
see.
You're
looking
at
how
these
red
dots
change
with
relationship
to
the
Y-axis.
You're
looking
at
both
the
steepness
of
this
curve
because
that'll
show
you
how
important
it
is
to
maximize
your
flushes
within
these
bounds.
You're
also
looking
at
the
overall
level.
You
want
to
reduce
total
solvent.
The
lower
down
your
red
dots
are,
the
better
off
you're
going
to
be.
By
manipulating
these,
I
can
show
how
much
it
matters
to
start
at
a
lower
or
higher
concentration.
You
can
see
that,
yes,
the
red
dots
are
moving
a
little
bit,
but
it
takes
quite
a
while
before
they
have
an
effect
on
the
height
of
those
red
dots
in
the
lower
graph.
Xâ
,
you
can
see
how
much
it
matters
to
have
a
goal
of
residual
solvent
in
there.
If
your
goal
is
a
higher
amount
of
solvent,
if
you
have
more
buffer
to
reach
your
goal,
then
you're
going
to
need
less
solvent.
Whereas
if
you
have
higher
criteria
for
residual
solvent,
so
a
lower
goal,
you're
going
to
use
quite
a
bit
of
solvent.
You
can
see
here
you
have
fewer
and
fewer
cleaning
schemes
that
are
viable
when
you
have
that
lower
goal
of
residual
solvent.
Let
me
just
back
to
10.
Then
with
heel,
you
can
tink
around
this
and
see
how
much
the
heel
of
a
system
affects
how
much
solvent
and
what
cleaning
schemes
are
possible.
A
greater
heel
means
you
have
to
use
more
and
more
solvent
to
achieve
your
goal
criteria.
A
smaller
heel
mean
you
need
to
use
less
and
less
solvent.
Beyond
just
selecting
a
cleaning
scheme,
this
visual
model
allowed
our
team
to
look
for
what
we
should
focus
on
if
we're
trying
to
reduce
the
overall
amount
of
solvent
when
we're
cleaning.
We
did
that
by
looking
at
if
we
had
some
options
to
change
our
variables
of
Xâ
,
Xâ,
and
heel,
which
one
would
give
us
the
most
bang
for
our
buck?
Which
one
could
we
change
with
reasonable
effort
on
our
part
to
get
the
biggest
reduction
in
total
solvent
used
per
cleaning?
Here,
I'll
say
we
had
three
options.
I'll
say
that
we
had
an
option
to
reduce
the
starting
value
by
50%.
Say
we
could
arrange
our
batch
schedule.
Cleanings
would
only
start
at
50%
of
what
they
originally
started
at.
We
could
change
our
goal
from
10
ppm
to
50
ppm,
so
multiply
it
by
five.
That's
because
we
had
different
sensitivity
techniques
or
different
restrictions
for
material
following
a
certain
batch.
Then
we
could
also
reduce
our gal, our
heel
by
one
gallon
by
engineering
improvements
to
the
actual
manufacturing
systems.
Really
quickly,
we'll
look
for
using
this
graph,
we'll
see
what
happens
when
you
change
from
this
standard
set
of
input
variables
and
keep
the
number
of
flush
to
the
20
to
the
overall
volume
of
cleaning,
solven
t
needed.
Again,
our
standard
level
is
78
gallons.
If
you
change
from
100%
of
X i
n
your
system
at
the
beginning
to
only
50%,
so
500,000
ppm,
and
I'll
set
the
variable
values
there,
we're
now
only
using
72
gallons
to
clean
out.
But
that's
only
a
reduction
of
six
gallons
for
cleaning.
That
really
didn't
move
the
needle
very
much.
Next,
we'll
look
at
changing
our
Xâ
to
50
and
then
setting
our
variable
values
again.
That
says
that
we
will
need
64
gallons
of
solvent
to
clean
at
the
end.
That's
a
better
improvement
for
the
total
solvent
needed.
Finally,
we'll
look
at
reducing
the
heel
in
the
system
from
five
gallons
to
four
gallons
and
see
that
the
total
solvent
needed
is
62
gallons
here.
That's
the
greatest
reduction
in
solvent
needed
to
clean.
With
this
information,
and
it
was
similar
information
that
we
used
to
actually
pursue
this
option,
we
did
look
at
ways
to
reduce
the
heel
in
our
system
to
reduce
the
overall
solvent
needed
because
we
saw
that
variable
is
going
to
affect
the
total
solvent
used
most
with
the
amount
that
we
can
change
any
of
these
variables.
That
is
reflected
here.
These
were
the
three
options
I
just
went
over.
You
can
see
that
option
A,
the
reduction
in
starting
level,
you
only
are
gaining
yourself
six
gallons.
Option
B,
the
increase
of
the
end
level,
you
have
14
extra
gallons,
and
option
C
was
16
extra
gallons.
But
really
looking
at
these
values,
again,
it's
important
that
a
team
is
involved
in
this
because
that's
only
two
gallons
different
between
option
B
and
option
C.
If
option
B
were
very
easy
compared
to
option
C,
we
probably
would
have
gone
with
option
B.
But
a
heel
reduction
of
one
gallon
would
be
most
effective
in
these
three
options
at
reducing
total
volume
for
cleaning.
Some
concluding
remarks
I
have.
Basically,
I
just
want
to
circle
back
to
what
I
brought
up
originally.
It
could
be
that
mathematically-minded
people
would
look
at
the
equation
on
the
left
and
automatically
know
that
changing
the
heel
is
going
to
have
the
greatest
effect
on
the
goal of solvent
used.
That's
not
instinctive
to
me,
to
know
that
just
looking
at
this
equation.
I
know
that
the
people
I
work
with,
that's
not
instinctive
to
them
either.
In
the
case
where
I'm
in
a
team
trying
to
come
to
a
conclusion
with
consensus
of
all
of
us,
it's
very
helpful
to
have
a
visual
model
in
JMP
where
people
can
manipulate
the
variables
themselves
and
see
how
a
variable
like
total
solvent
used
is
changed
by
changing
variables
that
we
know
what
they
mean.
I
can
see
many
applications
of
using
a
visual
model
with
slider
variables,
even
in
my
company.
Any
multivariable
process
where
the
relationship
between
those
variables
is
known
has
the
potential
to
make
use
of
a
model
with
the
slider
variables
to
give
a
visual
model
of
how
the
process
reacts
to
changes
in
those
variables.
I'm
thinking
of
there's
predictable
ways
that
fluid
temperature
affects
how
hard
a
pump
has
to
push
fluid
to
reach
a
certain
flow
rate.
That
could
be
helpful
in
selecting
filters
for
a
given
process.
I
believe
it
could
be
useful
for
many
other
applications
as
well.
Ease
of
generation.
I
am
not
a
coder
and
I
was
able
to
build
this
model
relatively
easily
with
help
from
Jordan
Hiller,
oh,
shout
out
Jordan
Hiller,
thank
you,
also
from
the
scripting
index,
which
had
many
great
examples,
and
the
JMP
user
community.
Because
I
was
able
to
look
through
historical
questions
and
piece
together
how
I
wanted
to
go
about
a
certain
problem.
It
was
relatively
simple
to
make
this
model.
Having
made
this
model,
it
would
be
very
easy
to
manipulate
in
the
future
for
other
purposes.
Room
for
improvement.
Again,
there
may
be
a
place
that
I
missed
where
it
was
possible
to
do
this,
but
in
my
exploration,
I
couldn't
find
a
way
to
make
a
reference
line
that
connected,
basically
intersected
the
graph
at
this
point
and
moved
along
with
the
graph
to
different
points.
A
reference
line
that
is
a
function.
I
wasn't
able
to
do
that.
I
know
I
saw
different
examples
of
it,
but
I
wasn't
able
to
do
it
with
using
table
variables
as
part
of
that
function.
But
again,
that's
probably
due
to
my
not
being
a
coder,
but
it
would
be
helpful
if
that
were
a
simpler,
more
accessible
feature
in
modeling
in
JMP.
But
really,
I
do
think
that
the
model
I
created,
it
was
very
helpful
for
our
purposes,
and
it
will
be
helpful
for
other
applications
in
the
future.
I
hope
it's
helpful
to
other
people.
Thank
you.