如何确定半导体晶圆缺陷簇/排序模式?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我最近刚刚安装了 JMP 12。
我这样做的主要原因之一是通过可能使用 JMP 12 中引入的“聚类改进”来提高我们的数据挖掘能力。
我的基本需求是将晶圆图案分为几组,以便进行共性分析,目的是找到变异的来源。
正如 JMP 12 发行说明中所述:
“在半导体和其他行业中,确定晶圆缺陷图案簇非常重要。 之前这意味着创建一个变量来生成 XY 坐标,然后在此维度上进行分割、聚类并合并聚类。 现在,JMP 一步完成了这一目标。”
有一个插图显示了我想做的事情的示例:

我需要经常进行这样的分析。 本周的一个例子如下:

我需要确定存在多少个相似的图案以及每个图案属于多少晶圆?
有人做过这样的分析吗?
到处都有好的教程/指南吗?
我确信这是半导体和 MEM 设备制造商的主要兴趣。
该案例可能是即将举行的 JMP Discovery 峰会的一个很好的候选案例
感谢所有建议和意见。
- 菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?最简单的方法是什么在表格中填写“好的”骰子位置?
我想有一种比这个更简单的方法......
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );
dt << Select Where( :Defects == 0 ) << Delete Rows;
xmin = -21;
ymin = -21;
xmax = 21;
ymax = 21;
dx= xmax-xmin;
dy= ymax-ymin;
nItems= (dx +1)*(dy + 1)-1;
tmp = New Table();
tmp<< Add Rows( nItems );
tmp: column1 << Data Type( Character ) << set name("Lot");
tmp << new column("Wafer");
tmp << new column("x", Set Each Value(xmin + Floor((row()-1)/dx)));
tmp << new column("y", Set Each Value(ymin +Mod((row()-1),dy)));
label= new column("label",Character, Set Each Value(Char(:x)||" "||Char(:y)));
tmp << new column("missing");
myEntries = tmp:label << get values();
entriesAsCols = tmp << Split(
Split By( :x, :y ),
Split( :missing ),
Group( :lot, :wafer ),
OutPut Table("split")
);
myMatrix = entriesAsCols << Join(
With( dt ),
Merge Same Name Columns,
Match Flag(0),
By Matching Columns( :Lot = :Lot, :Wafer=:Wafer ),
Drop multiples( 0, 1 ),
Include Nonmatches( 0, 1 ),
OutputTable("Matrix")
);
// Stack data table
// → Data Table( "Untitled 26" )
cols = Transform each ({col},As List( myEntries),Column(myMatrix,Char(col)));
myMatrixStacked = myMatrix << Stack(
columns(cols),
Source Label Column( "label" ),
Stacked Data Column( "Data" ),
"Non-stacked columns"n( Keep( :Lot, :Wafer ) ),
Output Table("stacked")
);
myMatrixStacked << new Column ("Defects", Set Each Value(.));
colX = myMatrixStacked << new column ("X_Die",Set Each Value(Num(Word(1,:label," "))));
colY = myMatrixStacked << new column ("Y_Die",Set Each Value(Num(Word(2,:label," "))));
floodedTable = dt << Join(
With( myMatrixStacked ),
Match flag(0),
Merge Same Name Columns,
By Matching Columns(
:Lot = :Lot, :Wafer = :Wafer, :X_Die = :X_Die, : Y_Die = :Y_Die
),
Include Nonmatches( 1, 1 ),
OutputTable("flooded")
);
floodedTable << Recode Column(
dt:Defects,
{Map Value( _rcOrig, {., 0}, Unmatched( _rcNow ) )},
Target Column( :Defects )
);
CLose(dt,myMatrix,entriesAsCols,myMatrixStacked, noSave);回复:如何确定半导体晶圆缺陷簇/排序模式?你好@jerry_cooper ,
由于测量设置“失败时停止”,我丢失了值。 这意味着我有缺失值。
我使用“缺失值插补”来解决我的问题。 谢谢你的回复!!
另一个问题:我看到的热图。 它是如何计算或标准化的?
列/变量的最小值/最大值 = 范围?
然后在该范围内分配某个值的颜色?
回复:如何确定半导体晶圆缺陷簇/排序模式?你好@新手,
如果没有看到您的数据,很难确定,但是,我相信您收到的错误可能是由于尝试堆叠不完整的晶圆图或尝试堆叠具有不同布局的晶圆而导致的。 如果您的数据仅包含有缺陷的芯片(及其位置),则您需要在表中填写每个晶圆的“良好”芯片位置,并表明它们没有缺陷,即在“缺陷”列中输入 0。 这可能听起来令人畏惧,但在您创建了包含晶圆图所有可能芯片位置的表格后,可以通过联接轻松完成。该方法假设每个晶圆具有相同的布局。
尝试使用该平台比较具有不同布局的晶圆将需要一些重要的数据操作和创造力。
如果可以的话,发布您的数据将有助于为您确定更明确的课程。
回复:如何确定半导体晶圆缺陷簇/排序模式?嗨,迈克,
我想尝试一下晶圆堆叠方法。 但是,我遇到了“非缺失数据不足”的问题。
我根本不明白这一点。 我将我的数据与示例数据“wafer stacked.jmp”进行了比较。
原则上没有什么不同。
还有其他已知问题吗?
@马丁德梅尔
回复:如何确定半导体晶圆缺陷簇/排序模式?感谢迈克尔的全面答复。
期待进行一些空间探索。
我感谢您为此主题投入的时间和精力。
此致,
菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?菲利普,
你好!很高兴你明白了!关于这两个新问题,安装 JMP 附带的书籍中详细介绍了不同拟合方法的详细信息。您想要的是《多元方法》一书。它可以在“帮助”>“书籍”>“多元方法”下找到。有关拟合方法的详细信息,请参见从第 75 页开始的“层次聚类的统计详细信息”部分。
关于你关于空间成分的第二个问题。 这些数字是分析发现的潜在空间分量的数量(此时它已经做了一些初步工作)。
- 属性是设置对话框的属性字段中提供的变量的特定组合。在这种情况下,个体死亡将由 (X,Y) 坐标对定义。
- 角度、饼图寻找楔形或半球形(即,由于与电镀电极或其他东西的连接错误,晶片的一半被铜结节装饰)。
- 半径、圆寻找诸如 CMP 中的环形划痕之类的东西,或者可能是带有喷头沉积装置的基于 CVD 的图案。
- 条纹、角度看起来具有相同角度的线性特征(即来自有缺陷的马兰戈尼干燥装置的条纹。)
- 连胜、位置寻找空间位置相似的条纹。
当弹出这个“空间”对话框时,您可以在提供的数据表中看到每个要素的样子。它将显示对话框中每个变量的霍夫变换以及有关每个功能的其他信息。您可以通过选中或取消选中对话框中每个特征类型旁边的复选框来决定要包含哪些内容,即,如果您在此分析中不担心环划痕,请取消选中具有基于霍夫变换的这些特征的变量类型信息 - 可能是半径、圆。
空间对话框中的权重正如其听起来的那样:它对聚类分析中每个变量类型的重要性进行加权。如果需要考虑某些事项,但不如特定要素类型重要,则可以将其设置为不如其他要素类型重要。
关于您关于设置的最后一个问题,我将根据您在霍夫变换中看到的内容、对话框(每种要素类型的计数)以及您对线条的了解来进行设置。如果您知道队列中还有受裸奔问题影响的材料,那么降低牛排的重量可能是谨慎的做法。您可能想要监控复发情况,但不想追踪您已经知道的事情。 如果您根本不关心条纹,请将其完全关闭。我对这种类型的基本建议是使用默认值,直到您获得数据(数字或环境数据)为止。
最好的,
中号
回复:如何确定半导体晶圆缺陷簇/排序模式?嗨迈克尔,
感谢您的答复。 当时我只使用了一个缺陷计数列。
重新启动 JMP 后,我不再看到间歇性警报消息。
我已经能够按照您的指示进行分析。 请参阅下面的示例:

由于文档对此功能“有点了解”,我想知道您是否可以帮助解释何时使用 Ward,.. 平均的, .. 选项齐全吗?

另外,您能解释一下空间分量中数字和重量的重要性吗?

当查看我下线的晶圆图类型时(见上文),您对这些组件设置有什么建议吗?
- 菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?菲利普,
那是完全不同的问题。您能告诉我们更多有关您的数据集的信息吗?也许发布数据的匿名版本?可能发生的情况是您试图将数据拆分为太多子组。当我有一个非常宽(很多列)但很浅(很少行)的数据集的情况下,这种情况就发生在我身上。如果您正在处理半导体缺陷数据(如您提供的非 JMP 地图),那么我敢打赌您看到的错误更多是由于尝试对太多潜在因果簇进行聚类。你能提供一些细节吗?
最好的,
中号
回复:如何确定半导体晶圆缺陷簇/排序模式?感谢卡尔的意见。
此致,
菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?谢谢凯文,
一篇很棒且内容丰富的文章。
这正是我想做的工作类型。
不幸的是这些技术没有共享
此致,
菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?嗨迈克尔,
非常感谢您的意见。
我已经尝试按照您的指示进行分析,甚至成功了几次
然而,我经常收到下面的警报消息,这使分析变得突然和。

知道什么可能导致这种情况吗?
数据类型有限制吗?
然而它看起来非常有前途,我将继续评估/调查。
有关于这项技术的进一步文档吗?
此致,
菲利普
回复:如何确定半导体晶圆缺陷簇/排序模式?是的... 这是 12 中的一个很棒的功能,但它在文档中有点简单。如何使用它的基础知识(使用簇的晶圆图)如下(请注意,您需要一个计数列 - 即芯片中的缺陷 - 以及感兴趣结构的 xy 坐标 - 即芯片位置 - 才能使工作。):
- 在 JMP12 中,转至分析 > 多元方法 > 聚类。
- 将包含缺陷计数的数据列放入 Y 中
- 选择对话框左下角显示“数据照常”的下拉菜单。从此下拉菜单中选择“数据已堆叠”。
- 选中下拉列表下方的“添加空间测量”(选择“数据堆叠”后将出现)。
- 将感兴趣结构的 x 和 y 坐标添加到对话框的属性 ID 区域。
- 将晶圆标识添加到对象 ID 区域(即批次 ID、晶圆 ID、插槽 ID 等或这些的组合)。
- 单击“确定”。
- 在下一个对话框中,您可以调整分析中不同空间分量的权重。(我现在只使用默认值)
- 单击“确定”。
- 该报告现在将显示头皮图,您可以在其中调整要考虑的簇的数量。 您可以使用树状图 x 轴上的小菱形进行调整。
- 要以晶圆图形式查看簇,请从报告顶部的红色箭头下方选择“簇摘要”。该报告还将输出一个数据表,其中簇作为表达式列中的图片。
希望有帮助!
最好的,
中号
回复:如何确定半导体晶圆缺陷簇/排序模式?2014 年曾就类似主题做过一次演讲。你可以看看这个,看看它是否有帮助。它没有完整的答案,但您可以看看它是否会带您走上正确的道路。它旨在查看排序空间模式:
使用 JSL 进行半导体晶圆空间模式分类
-卡尔
回复:如何确定半导体晶圆缺陷簇/排序模式?嗨,菲利普!
你是对的;这个问题过去、现在和将来都会引起半导体器件制造商的主要兴趣。例如,SEMATECH 早在 1999 年就赞助了一次关于空间统计的统计方法研讨会。据我所知,没有专门关于半导体空间统计的优秀教程或指南......我推测这部分是由于理论上合理且运行良好的系统将赋予所有者的竞争优势。知识产权在该行业受到高度重视。
也许您会对 JMP Discovery 2014 演示感兴趣: https://community.jmp.com/servlet/JiveServlet/download/6695-5-69366/Semiconductor%20Wafer%20Spatial%20Pattern%20Classification%20With%20JSL%20%E2%80%93%20JMP%20Discovery%20Summit% 202014.pdf
《星际迷航》每一集的开头都说:太空真的是最后的边境!祝你好运!