本公开涉及一种虚拟测定装置、虚拟测定方法及虚拟测定程序。
背景技术:
传统上,在各种制造工艺(例如半导体制造工艺)的领域中,正在推进虚拟测定技术(vm:virtualmetrology)的有效利用。虚拟测定技术是根据在各种制造工艺中的对象(例如晶圆)的处理期间测定出的测定数据(多种时间序列数据的数据集,以下称为时间序列数据组)对结果物的检查数据进行估计的技术。
如果能够利用该技术针对所有对象物执行高精度的虚拟测定处理,则能够实现结果物的虚拟的全数检查。
<现有技术文献>
<专利文献>
专利文献1:(日本)特开2009-282960号公报
专利文献2:(日本)特开2010-267242号公报
技术实现要素:
<本发明要解决的问题>
本公开提供一种能够执行高精度的虚拟测定处理的虚拟测定装置、虚拟测定方法及虚拟测定程序。
<用于解决问题的手段>
根据本公开的一个实施方式的虚拟测定装置例如具有以下构成。即,包括:取得部,取得在制造工艺的预定处理单元中伴随对象物的处理而测定出的时间序列数据组;以及学习部,以使通过利用多个网络部对取得的所述时间序列数据组进行处理而输出的各输出数据的合成结果与在所述制造工艺的所述预定处理单元中对所述对象物进行了处理时的结果物的检查数据接近的方式,使所述多个网络部进行机器学习。
<发明的效果>
根据本公开,能够提供一种能够执行高精度的虚拟测定处理的虚拟测定装置、虚拟测定方法及虚拟测定程序。
附图说明
图1是示出包括半导体制造工艺和虚拟测定装置的系统的整体构成的一个示例的图。
图2是示出半导体制造工艺的预定处理单元的一个示例的第1图。
图3是示出半导体制造工艺的预定处理单元的一个示例的第2图。
图4是示出取得的时间序列数据组的一个示例的图。
图5是示出虚拟测定装置的硬件构成的一个示例的图。
图6是示出学习部的功能构成的一个示例的图。
图7是示出分支部的处理的具体示例的第1图。
图8是示出分支部的处理的具体示例的第2图。
图9是示出分支部的处理的具体示例的第3图。
图10是示出各网络部中包括的归一化部的处理的具体示例的图。
图11是示出分支部的处理的具体示例的第4图。
图12是示出推测部的功能构成的一个示例的图。
图13是示出由虚拟测定装置进行的虚拟测定处理的流程的流程图。
图14是示出时间序列数据取得装置为发光分光分析装置的包括半导体制造工艺和虚拟测定装置的系统的整体构成的一个示例的图。
图15是示出取得的oes数据的一个示例的图。
图16是示出被输入oes数据的各网络部中包括的归一化部的处理的具体示例的图。
图17是示出各归一化部的处理的具体示例的图。
图18是示出池化部的处理的具体示例的图。
图19是示出在第5网络部的最终层中包括的池化部的处理的另一具体示例的图。
图20是示出在第6网络部的最终层中包括的池化部的处理的另一具体示例的图。
图21是用于对推测部的推测结果的精度进行说明的第1图。
图22是用于对推测部的推测结果的精度进行说明的第2图。
具体实施方式
以下,参照附图对各实施方式进行说明。需要说明的是,在本说明书及附图中,针对具有实质上相同的功能构成的构成要素赋予相同的符号以省略重复的说明。
[第1实施方式]
<包括半导体制造工艺和虚拟测定装置的系统的整体构成>
首先,对包括制造工艺(在此为半导体制造工艺)和虚拟测定装置的系统的整体构成进行说明。图1是示出包括半导体制造工艺和虚拟测定装置的系统100的整体构成的一个示例的图。如图1所示,系统100包括半导体制造工艺、时间序列数据取得装置140_1~140_n、检查数据取得装置150、以及虚拟测定装置160。
在半导体制造工艺中,在预定的处理单元120中对对物体(处理前晶圆110)进行处理,并生成结果物(处理后晶圆130)。需要说明的是,在此所说的处理单元120是抽象的概念,并且稍后将对其细节进行说明。另外,处理前晶圆110是指在处理单元120中被处理之前的晶圆(基板),处理后晶圆130是指在处理单元120中被处理之后的晶圆(基板)。
伴随处理单元120中处理前晶圆110的处理,时间序列数据取得装置140_1~140_n分别测定并取得时间序列数据。时间序列数据取得装置140_1~140_n针对相互不同的种类的测定项目进行测定。需要说明的是,由时间序列数据取得装置140_1~140_n分别测定的测定项目的数量可以是一个,也可以是多个。另外,在伴随处理前晶圆110的处理而测定出的时间序列数据中,除了包括在处理前晶圆110的处理期间测定出的时间序列数据以外,还包括于在处理前晶圆110的处理前后进行的预处理、后处理的期间测定出的时间序列数据。该些处理可以包括在没有晶圆(基板)的状态下进行的预处理、后处理。
通过时间序列数据取得装置140_1~140_n所取得的时间序列数据组作为学习用数据(输入数据)被存储在虚拟测定装置160的学习用数据存储部163中。
检查数据取得装置150对在处理单元120中处理的处理后晶圆130的预定检查项目(例如er(etchrate:蚀刻速率))进行检查,并取得检查数据。由检查数据取得装置150取得的检查数据作为学习用数据(正确答案数据)被存储在虚拟测定装置160的学习用数据存储部163中。
在虚拟测定装置160中安装有虚拟测定程序,并且通过执行该程序使得虚拟测定装置160起到学习部161和推测部162的功能。
学习部161利用由时间序列数据取得装置140_1~140_n所取得的时间序列数据组、以及由检查数据取得装置150所取得的检查数据进行机器学习。具体来说,以使通过利用学习部161所具有的多个网络部对时间序列数据组进行处理而输出的各输出数据的合成结果与检查数据接近的方式,使该多个网络部进行机器学习。
推测部162向进行了机器学习的多个网络部中,输入伴随处理单元120中的新的处理前晶圆的处理而取得的时间序列数据组。由此,推测部162基于伴随新的处理前晶圆的处理而取得的时间序列数据,对处理后晶圆的检查数据进行推测,并将其作为虚拟测定数据进行输出。
这样一来,通过构成为利用多个网络部对在半导体制造工艺的预定的处理单元120中伴随对象物的处理而测定出的时间序列数据组进行处理,从而能够多方面地对预定的处理单元进行分析。因此,与利用一个网络部进行处理的方案相比,能够生成用于实现较高的推测精度的模型(推测部162)。
<半导体制造工艺的预定的处理单元>
接着,对半导体制造工艺的预定的处理单元120进行说明。图2是示出半导体制造工艺的预定处理单元的一个示例的第1图。如图2所示,作为基板处理装置的一个示例的半导体制造装置200具有多个腔室(多个处理空间的一个示例。在图2的示例中为“腔室a”~“腔室c”),并且在各腔室中对晶圆进行处理。
其中,2a示出了将多个腔室定义为处理单元120的情况。在此情况下,处理前晶圆110是指在腔室a中被处理之前的晶圆,处理后晶圆130是指在腔室c中被处理之后的晶圆。
另外,在2a的处理单元120中伴随处理前晶圆110的处理而测定的时间序列数据组包括:
·伴随腔室a(第1处理空间)中的处理而测定的时间序列数据组;
·伴随腔室b(第2处理空间)中的处理而测定的时间序列数据组;以及
·伴随腔室c(第3处理空间)中的处理而测定的时间序列数据组。
另一方面,2b示出了将一个腔室(在2b的示例中为“腔室b”)定义为处理单元120的情况。在此情况下,处理前晶圆110是指在腔室b中被处理之前的晶圆(在腔室a中被处理之后的晶圆),处理后晶圆130是指在腔室b中被处理之后的晶圆(在腔室c中被处理之前的晶圆)。
另外,在2b的处理单元120中伴随处理前晶圆110的处理而测定的时间序列数据组包括在腔室b中伴随处理前晶圆110的处理而测定的时间序列数据组。
图3是示出半导体制造工艺的预定处理单元的一个示例的第2图。与图2同样,半导体制造装置200具有多个腔室,并且在各腔室中通过多个处理内容对晶圆进行处理。
其中,3a示出了将腔室b中的处理内容之中的除了预处理和后处理以外的处理(称为“晶圆处理”)定义为处理单元120的情况。在此情况下,处理前晶圆110是指进行晶圆处理之前的晶圆(进行预处理之后的晶圆),处理后晶圆130是指进行晶圆处理之后的晶圆(进行后处理之前的晶圆)。
另外,在3a的处理单元120中伴随处理前晶圆110的处理而测定的时间序列数据组包括在腔室b中伴随处理前晶圆110的晶圆处理而测定的时间序列数据组。
需要说明的是,在3a的示例中,示出了以在同一腔室内(腔室b内)进行预处理、晶圆处理(本处理)、后处理的情况下的晶圆处理作为处理单元120的情况。然而,例如也可以在诸如在腔室a内进行预处理、在腔室b内进行晶圆处理、在腔室c内进行后处理的情况等在不同的腔室内进行各处理的情况下,以每个腔室的各处理作为处理单元120。
另一方面,3b示出了将腔室b中的处理内容之中的晶圆处理中包含的一个配方(在3b的示例中为“配方iii”)的处理定义为处理单元120的情况。在此情况下,处理前晶圆110是指进行配方iii的处理之前的晶圆(进行配方ii的处理之后的晶圆),处理后晶圆130是指进行配方iii的处理之后的晶圆(进行配方iv(未图示)的处理之前的晶圆)。
另外,在3a的处理单元120中伴随处理前晶圆110的处理而测定的时间序列数据组中,包括在腔室b中伴随根据配方iii所进行的处理前晶圆110的晶圆处理而测定的时间序列数据组。
<时间序列数据组的具体示例>
接着,对由时间序列数据取得装置140_1~140_n取得的时间序列数据组的具体示例进行说明。图4是示出取得的时间序列数据组的一个示例的图。需要说明的是,在图4的示例中,为了简化说明,虽然设为由时间序列数据取得装置140_1~140_n分别对一维的数据进行测定,但是也可以由一个时间序列数据取得装置对二维的数据(多种一维数据的数据集)进行测定。
其中,4a表示在2b、3a、3b中的任意一者来定义处理单元120的情况下的时间序列数据组。在此情况下,时间序列数据取得装置140_1~140_n分别取得伴随腔室b中的处理而测定出的时间序列数据。另外,时间序列数据取得装置140_1~140_n互相取得在相同的时间范围内测定出的时间序列数据作为时间序列数据组。
另一方面,4b表示在由2a来定义处理单元120的情况下的时间序列数据组。在此情况下,时间序列数据取得装置140_1~140_3例如取得伴随腔室a中的晶圆的处理而测定出的时间序列数据组1。另外,时间序列数据取得装置140_n-2例如取得伴随腔室b中的该晶圆的处理而测定出的时间序列数据组2。另外,时间序列数据取得装置140_n-1~140_n例如取得伴随腔室c中的该晶圆的处理而测定出的时间序列数据组3。
需要说明的是,在4a中示出了以下情况:时间序列数据取得装置140_1~140_n取得在腔室b中伴随处理前晶圆的处理而测定出的、相同时间范围的时间序列数据作为时间序列数据组。然而,时间序列数据取得装置140_1~140_n也可以取得在腔室b中伴随处理前晶圆的处理而测定出的、不同时间范围的时间序列数据作为时间序列数据组。
具体来说,时间序列数据取得装置140_1~140_n可以取得在执行预处理的期间测定出的多个时间序列数据作为时间序列数据组1。另外,时间序列数据取得装置140_1~140_n可以取得在执行晶圆处理的期间测定出的多个时间序列数据作为时间序列数据组2。此外,时间序列数据取得装置140_1~140_n可以取得在执行后处理的期间测定出的多个时间序列数据作为时间序列数据组3。
同样地,时间序列数据取得装置140_1~140_n可以取得在执行配方i的期间测定出的多个时间序列数据作为时间序列数据组1。另外,时间序列数据取得装置140_1~140_n可以取得在执行配方ii的期间测定出的多个时间序列数据作为时间序列数据组2。此外,时间序列数据取得装置140_1~140_n可以取得在执行配方iii的期间测定出的多个时间序列数据作为时间序列数据组3。
<虚拟测定装置的硬件构成>
接着,对虚拟测定装置160的硬件构成进行说明。图5是示出虚拟测定装置的硬件构成的一个示例的图。如图5所示,虚拟测定装置160具有cpu(centralprocessingunit:中央处理单元)501、rom(readonlymemory:只读存储器)502、以及ram(randomaccessmemory:随机存取存储器)503。另外,虚拟测定装置160具有gpu(graphicsprocessingunit:图形处理单元)504。需要说明的是,cpu501和gpu504等处理器(处理电路、processingcircuit、processingcircuitry)、以及rom502和ram503等存储器形成所谓的计算机。
此外,虚拟测定装置160具有辅助存储装置505、显示装置506、操作装置507、i/f(interface:接口)装置508、以及驱动器装置509。需要说明的是,虚拟测定装置160的各硬件经由总线510相互连接。
cpu501是用于对安装在辅助存储装置505中的各种程序(例如虚拟测定程序等)进行执行的运算设备。
rom502是非易失性存储器,并且起到主存储装置的功能。rom502对由cpu501执行在辅助存储装置505中安装的各种程序所需的各种程序、数据等进行存储。具体来说,rom502对bios(basicinput/outputsystem:基本输入/输出系统)或efi(extensiblefirmwareinterface:可扩展固件接口)等引导程序等进行存储。
ram503是dram(dynamicrandomaccessmemory:动态随机存取存储器)或sram(staticrandomaccessmemory:静态随机存取存储器)等易失性存储器,并且起到主存储装置的功能。ram503提供当由cpu501执行在辅助存储装置505中安装的各种程序时扩展的工作区域。
gpu504是用于图像处理的运算设备,并且当由cpu501执行虚拟测定程序时针对各种图像数据(在本实施方式中为时间序列数据组)进行通过并行处理所进行的高速运算。需要说明的是,gpu504配备有内部存储器(gpu存储器),并且对针对各种图像数据进行并行处理时所需的信息进行临时保存。
辅助存储装置505对各种程序、或者由cpu501执行各种程序时所使用的各种数据等进行存储。
显示装置506是用于对虚拟测定装置160的内部状态进行显示的显示设备。操作装置507是用于在由虚拟测定装置160的管理者对虚拟测定装置160输入各种指示时所使用的输入设备。i/f装置508是用于与未图示的网络连接并进行通信的连接设备。
驱动器装置509是用于设置记录介质520的设备。在此所说的记录介质520包括诸如cd-rom、软盘、光磁盘等以光学、电学或磁性的方式对信息进行记录的介质。另外,记录介质520可以包括诸如rom、快闪存储器等以电学的方式对信息进行记录的半导体存储器等。
需要说明的是,安装在辅助存储装置505中的各种程序例如通过将分发的记录介质520设置在驱动器装置509中并通过驱动器装置509读取在该记录介质520中记录的各种程序来安装。或者,安装在辅助存储装置505中的各种程序可以通过经由网络进行下载来安装。
<学习部的功能构成>
接着,对学习部161的功能构成进行说明。图6是示出学习部的功能构成的一个示例的图。学习部161具有分支部610、第1网络部620_1~第m网络部620_m、连接部630、以及比较部640。
分支部610是取得部的一个示例,并且用于从学习用数据存储部163读出时间序列数据组。另外,分支部610以使读出的时间序列数据组被从第1网络部620_1到第m网络部620_m的多个网络部处理的方式,对该时间序列数据组进行处理。
第1网络部620_1~第m网络部620_m以卷积神经网络(cnn:convolutionalneuralnetwork)为基础来构成,并且具有多个层。
具体来说,第1网络部620_1具有第1层620_11~第n层620_1n。同样地,第2网络部620_2具有第1层620_21~第n层620_2n。以下,具有同样的构成,第m网络部620_m具有第1层620_m1~第n层620_mn。
在第1网络部620_1的第1层620_11~第n层620_1n的各层中,进行归一化处理、卷积处理、激活处理、或池化处理等各种处理。另外,在第2网络部620_2~第m网络部620_m的各层中也进行同样的各种处理。
连接部630对从由第1网络部620_1的第n层620_1n输出的输出数据到由第m网络部620_m的第n层620_mn输出的输出数据的各输出数据进行合成,并将合成结果输出至比较部640。
比较部640将从连接部630输出的合成结果与从学习用数据存储部163读出的检查数据(正确答案数据)进行比较,并计算误差。在学习部161中,以使由比较部640计算出的误差满足预定条件的方式,使第1网络部620_1~第m网络部620_m和连接部630进行机器学习。
由此,第1网络部620_1~第m网络部620_m的第1层~第n层各自的模型参数和连接部630的模型参数被优化。
<学习部的各部分的处理的细节>
接着,举出具体示例对学习部161的各部分的处理的细节进行说明。
(1)分支部的处理的细节1
首先,对分支部610的处理的细节进行说明。图7是示出分支部的处理的具体示例的第1图。在图7的情况下,分支部610通过根据第一基准对由时间序列数据取得装置140_1~140_n测定出的时间序列数据组进行加工,从而生成时间序列数据组1(第一时间序列数据组),并将其输入至第1网络部620_1。
另外,分支部610通过根据第二基准对由时间序列数据取得装置140_1~140_n测定出的时间序列数据组进行加工,从而生成时间序列数据组2(第二时间序列数据组),并将其输入至第2网络部620_2。
这样一来,通过在构成为根据不同的基准对时间序列数据组进行加工并划分为各自不同的网络部进行处理的基础上进行机器学习,从而能够多方面地对处理单元120进行分析。因此,与构成为利用一个网络部对时间序列数据组进行处理的情况相比,能够生成用于实现较高的推测精度的模型(推测部162)。
需要说明的是,虽然在图7的示例中,示出了通过根据2种基准对时间序列数据组进行加工来生成2种时间序列数据组的情况,但是也可以通过根据3种以上的基准对时间序列数据组进行加工来生成3种以上的时间序列数据组。
(2)由分支部进行的处理的细节2
接着,对分支部610的其他处理的细节进行说明。图8是示出分支部的处理的具体示例的第2图。在图8的情况下,分支部610通过根据数据种类对由时间序列数据取得装置140_1~140_n测定出的时间序列数据组进行分组,从而生成时间序列数据组1(第一时间序列数据组)和时间序列数据组2(第二时间序列数据组)。另外,分支部610将生成的时间序列数据组1输入至第3网络部620_3,并将生成的时间序列数据组2输入至第4网络部620_4。
这样一来,通过在构成为根据数据种类将时间序列数据组分成多个组并利用不同的网络部进行处理的基础上进行机器学习,从而能够多方面地对处理单元120进行分析。因此,与将时间序列数据组输入至一个网络部来进行机器学习的情况相比,能够生成用于实现较高的推测精度的模型(推测部162)。
需要说明的是,虽然在图8的示例中,根据基于时间序列数据取得装置140_1~140_n的差异的数据种类的差异对时间序列数据组进行分组,但是也可以根据用于取得数据的时间范围对时间序列数据组进行分组。例如,在时间序列数据组是伴随根据多个配方所进行的处理而测定出的时间序列数据组的情况下,可以根据每个配方的时间范围对时间序列数据组进行分组。
(3)由分支部进行的处理的细节3
接着,对由分支部610进行的其他处理的细节进行说明。图9是示出分支部的处理的具体示例的第3图。在图9的情况下,分支部610将由时间序列数据取得装置140_1~140_n取得的时间序列数据组输入至第5网络部620_5和第6网络部620_6两者。然后,在第5网络部620_5和第6网络部620_6对相同的时间序列数据组进行不同的处理(归一化处理)。
图10是示出各网络部中包括的归一化部的处理的具体示例的图。如图10所示,在第5网络部620_5的各层中,包括归一化部、卷积部、激活函数部、以及池化部。
图10的示例示出了在第5网络部620_5中包括的各层之中的第1层620_51中包括归一化部1001、卷积部1002、激活函数部1003、以及池化部1004。
其中,在归一化部1001中,对由分支部610输入的时间序列数据组进行第一归一化处理,并生成归一化时间序列数据组1(第一时间序列数据组)。
同样地,图10的示例示出了在第6网络部620_6中包括的各层之中的第1层620_61中包括归一化部1011、卷积部1012、激活函数部1013、以及池化部1014。
其中,在归一化部1011中,对由分支部610输入的时间序列数据组进行第二归一化处理,并生成归一化时间序列数据组2(第二时间序列数据组)。
这样一来,通过在构成为利用各自包括通过不同方法进行归一化处理的归一化部的多个网络部对时间序列数据组进行处理的基础上进行机器学习,从而能够多方面地对处理单元120进行分析。因此,与构成为利用一个网络部对时间序列数据组执行一种归一化处理的情况相比,能够生成用于实现较高的推测精度的模型(推测部162)。
(4)由分支部进行的处理的细节4
接着,对由分支部610进行的其他处理的细节进行说明。图11是示出分支部的处理的具体示例的第4图。在图11的情况下,分支部610将由时间序列数据取得装置140_1~140_n测定出的时间序列数据组之中的、伴随腔室a中的处理而测定出的时间序列数据组1(第一时间序列数据组)输入至第7网络部620_7。
另外,分支部610将由时间序列数据取得装置140_1~140_n测定出的时间序列数据组之中的、伴随腔室b中的处理而测定出的时间序列数据组2(第二时间序列数据组)输入至第8网络部620_8。
这样一来,通过在构成为利用不同的网络部对伴随不同的腔室(第一处理空间、第二处理空间)中的处理而测定出的各个时间序列数据组进行处理的基础上进行机器学习,从而能够多方面地对处理单元120进行分析。因此,与构成为利用一个网络部对各个时间序列数据组进行处理的情况相比,能够生成用于实现较高的推测精度的模型(推测部162)。
<推测部的功能构成>
接着,对推测部162的功能构成进行说明。图12是示出推测部的功能构成的一个示例的图。如图12所示,推测部162具有分支部1210、第1网络部1220_1~第m网络部1220_m、以及连接部1230。
分支部1210取得由时间序列数据取得装置140_1~140_n新测定出的时间序列数据组和装置状态信息。另外,分支部1210以利用第1网络部1220_1~第m网络部1220_m对取得的时间序列数据组进行处理的方式进行控制。
第1网络部1220_1~第m网络部1220_m通过利用学习部161进行机器学习并对第1网络部620_1~第m网络部620_m的各层的模型参数进行优化而形成。
连接部1230通过利用学习部161进行机器学习并对模型参数进行优化的连接部630形成。连接部1230对从由第1网络部1220_1的第n层1220_1n输出的输出数据到由第m网络部1220_m的第n层1220_mn输出的输出数据的各输出数据进行合成,并且输出虚拟测定数据。
<虚拟测定处理的流程>
接着,对由虚拟测定装置160进行的虚拟测定处理整体的流程进行说明。图13是示出由虚拟测定装置进行的虚拟测定处理的流程的流程图。
在步骤s1301中,学习部161取得时间序列数据组和检查数据作为学习用数据。
在步骤s1302中,学习部161以所取得的学习用数据之中的时间序列数据组作为输入数据、并以检查数据作为正确答案数据来进行机器学习。
在步骤s1303中,学习部161判断是否继续进行机器学习。在取得进一步的学习用数据并继续进行机器学习的情况下(在步骤s1303中为“是”的情况下),处理返回到步骤s1301。另一方面,在结束机器学习的情况下(在步骤s1303中为“否”的情况下),处理进至步骤s1304。
在步骤s1304中,推测部162通过对由机器学习所优化的模型参数进行反映,来生成第1网络部1220_1~第m网络部1220_m。
在步骤s1305中,推测部162输入伴随新的处理前晶圆的处理而测定出的时间序列数据组,并且推测虚拟测定数据。
在步骤s1306中,推测部162输出所推测出的虚拟测定数据。
<总结>
如上所述可以明确的看出,根据第1实施方式的虚拟测定装置具有以下特征:
·取得在制造工艺的预定处理单元中伴随对象物的处理而测定出的时间序列数据组。
·针对所取得的时间序列数据组,
·通过根据第一基准和第二基准进行处理,来生成第一时间序列数据组和第二时间序列数据组,或者
·根据数据种类或时间范围进行分组,
并且对通过利用多个网络部对其进行处理而输出的各输出数据进行合成;或者
·将所取得的时间序列数据组分别输入至利用不同方法进行归一化的多个网络部,并且对通过利用多个网络部对其进行处理而输出的各输出数据进行合成。
·以使通过对各输出数据进行合成而得到的合成结果与在制造工艺的预定处理单元中对对象物进行处理后的结果物的检查数据接近的方式,针对多个网络部进行机器学习(通过机器学习进行训练)。
·利用进行了机器学习的多个网络部对针对新的对象物所取得的时间序列数据组进行处理,并且将由该多个网络部输出的各输出数据的合成结果推测为对新的对象物进行了处理时的结果物的检查数据。
这样一来,通过在构成为利用多个网络部对时间序列数据组进行处理的基础上进行机器学习,从而能够多方面地对制造工艺的预定处理单元进行分析。因此,与构成为利用一个网络部对时间序列数据组进行处理的情况相比,能够生成用于实现较高的推测精度的模型。另外,通过利用该模型进行推测,从而能够执行高精度的虚拟测定处理。
换言之,根据第1实施方式,能够提供一种能够执行高精度的虚拟测定处理的虚拟测定装置。
[第2实施方式]
在上述第1实施方式中,作为利用多个网络部对所取得的时间序列数据组进行处理的方案,示出了四种方案。其中,在第2实施方式中,针对利用各自包括利用不同的方法进行归一化处理的归一化部的多个网络部对时间序列数据组进行处理的方案,针对
·时间序列数据取得装置是发光分光分析装置,
·时间序列数据组是oes(opticalemissionspectroscopy:光学发射光谱)数据(包括与波长的种类相对应的数量份的发光强度的时间序列数据的数据集)的情况,进一步详细地进行说明。需要说明的是,以下,以与上述第1实施方式之间的不同点为中心进行说明。
<包括半导体制造工艺和虚拟测定装置的系统的整体构成>
首先,对时间序列数据取得装置为发光分光分析装置的情况下的包括半导体制造工艺和虚拟测定装置的系统的整体构成进行说明。图14是示出时间序列数据取得装置为发光分光分析装置的包括半导体制造工艺和虚拟测定装置的系统的整体构成的一个示例的图。
在图14所示的系统1400中,发光分光分析装置1401利用发光分光分析技术,伴随处理单元120中的处理前晶圆110的处理,输出作为时间序列数据组的oes数据。由发光分光分析装置1401输出的oes数据的一部分作为进行机器学习时的学习用数据(输入数据)被存储在虚拟测定装置160的学习用数据存储部163中。
<时间序列数据组的具体示例>
接着,对在发光分光分析装置1401中取得的作为时间序列数据组的oes数据的具体示例进行说明。图15是示出取得的oes数据的一个示例的图。
在图15中,图表1510是示出在发光分光分析装置1401中取得的作为时间序列数据组的oes数据的特性的图表,并且横轴示出了用于对在处理单元120中处理的各处理前晶圆110进行识别的晶圆识别号。另外,纵轴示出了伴随各处理前晶圆110的处理而在发光分光分析装置1401中测定出的oes数据的时间长度。
如图表1510所示,在发光分光分析装置1401中测定的oes数据的时间长度有时针对每个要处理的晶圆而不同。
在图15的示例中,例如,oes数据1520示出了伴随晶圆识别号=“770”的处理前晶圆的处理而测定出的oes数据。oes数据1520的纵向上的数据尺寸取决于在发光分光分析装置1401中测定的波长的范围。在第2实施方式中,由于发光分光分析装置1401对预定的波长范围内的发光强度进行测定,因此oes数据1520的纵向上的数据尺寸例如为预定的波长范围内包含的波长数量“nλ”。
另一方面,oes数据1520的横向上的数据尺寸取决于在发光分光分析装置1401中测定时的时间长度。在图15的示例中,oes数据1520的横向上的数据尺寸为“lt”。
这样一来,可以说oes数据1520是汇集了预定波长数量份的针对各个波长具有预定时间长度的一维的时间序列数据的时间序列数据组。
需要说明的是,在分支部610中,当将oes数据1520输入至第5网络部620_5和第6网络部620_6时,以使数据尺寸与其他的晶圆识别号的oes数据相同的方式,以小批量(mini-batch)单位进行尺寸调整(resize)处理。
<归一化部的处理的具体示例>
接着,对由分支部610分别被输入oes数据1520的第5网络部620_5和第6网络部620_6的归一化部的处理的具体示例进行说明。
图16是示出被输入oes数据的各网络部中包括的归一化部的处理的具体示例的图。如图16所示,第5网络部620_5中包括的各层之中的第1层620_51具有归一化部1001。另外,归一化部1001通过利用第一方法(最大的发光强度)对oes数据1520进行归一化,来生成归一化数据(归一化oes数据1610)。
另外,如图16所示,第6网络部620_6中包括的各层之中的第1层620_61具有归一化部1011。另外,归一化部1011通过利用第二方法(针对每个波长的最大的发光强度)对oes数据1520进行归一化,来生成归一化数据(归一化oes数据1620)。
图17是示出各归一化部的处理的具体示例的图。如17a所示,在归一化部1001中,基于尺寸调整处理后的oes数据1520,利用第一方法,以数据尺寸为波长数量(nλ)×时间长度(lt)的方式,生成一个通道的归一化oes数据1610。
具体来说,在归一化部1001中,根据针对整个波长的预定时间长度份的发光强度,计算发光强度的平均值和标准偏差,利用计算出的值进行归一化处理,并生成归一化oes数据1610。通过第一方法,虽然发光强度的绝对值消失,但是能够保留波长之间的相对的发光强度。
另一方面,如17b所示,在归一化部1011中,基于尺寸调整处理后的oes数据1520,利用第二方法,以数据尺寸为波长数量(1)×时间长度(lt)的方式,生成nλ个通道份的归一化oes数据1620。
具体来说,在归一化部1011中,根据在各个波长内的预定时间长度份的发光强度,计算发光强度的平均值和标准偏差,利用计算出的值,针对每个波长进行归一化处理,并生成归一化oes数据1620。通过第二方法,能够保留相同波长内的预定时间长度处的相对的发光强度。
这样一来,随着以何为基准对发光强度的变化进行观察的不同(换言之,随着分析方法的不同),即使对于相同的时间序列数据组,能够观察到的信息也会变化。在根据第2实施方式的虚拟测定装置160中,针对不同的归一化处理,利用各自不同的网络部对相同的时间序列数据组进行处理。通过这样对多个归一化处理进行组合,从而能够多方面地对处理单元120中的时间序列数据组进行分析。因此,与构成为利用一个网络部对oes数据1520执行一种正规化处理的情况相比,能够生成用于实现较高的推测精度的模型(推测部162)。
<池化部的处理的具体示例>
接着,对第5网络部620_5和第6网络部620_6的最终层中包括的池化部的处理的具体示例进行说明。图18是示出池化部的处理的具体示例的图。
如上所述,对于数据尺寸随着针对每个晶圆不同的oes数据,在分支部610中,通过以小批量单位进行尺寸调整处理,从而在设为相同的数据尺寸之后,将该oes数据输入至第5网络部620_5和第6网络部620_6。
换言之,关于输入至第5网络部620_5和第6网络部620_6的oes数据,如果小批量不同,则数据尺寸不同。
因此,在第5网络部620_5和第6网络部620_6的最终层(第n层620_5n、第n层620_6n)中包括的池化部1004、1014中,以在小批量之间输出固定长度的数据的方式进行池化处理。
图18是示出池化部的处理的具体示例的图。如图18所示,在池化部1004、1014中,对从激活函数部1003、1013输出的特征数据进行gap(globalaveragepooling:全局平均池化)处理。
在图18中,特征数据1911_1~1911_m是输入至第5网络部620_5的第n层620_5n的池化部1004的特征数据,并且表示基于属于小批量1的oes数据所生成的特征数据。特征数据1911_1~1911_m分别表示一个通道份的特征数据。
另外,特征数据1912_1~1912_m是输入至第5网络部620_5的第n层620_5n的池化部1004的特征数据,并且表示基于属于小批量2的oes数据所生成的特征数据。特征数据1912_1~1912_m分别表示一个通道份的特征数据。
从图18可以看出,关于特征数据1911_1~1911_m和特征数据1912_1~1912_m,由于属于不同的小批量,因此数据尺寸不同。
同样地,特征数据1931_1~1931_m是输入至第6网络部620_6的第n层620_6n的池化部1014的特征数据,并且表示基于属于小批量1的oes数据所生成的特征数据。需要说明的是,特征数据1931_1~1931_m分别包括nλ个通道份的特征数据。
另外,特征数据1932_1~1932_m是输入至第6网络部620_6的第n层620_6n的池化部1014的特征数据,并且表示基于属于小批量2的oes数据所生成的特征数据。需要说明的是,特征数据1932_1~1932_m分别包括nλ个通道份的特征数据。
从图18可以看出,关于特征数据1931_1~1931_m和特征数据1932_1~1932_m,由于属于不同的小批量,因此数据尺寸不同。
在此,在池化部1004、1014中,通过针对输入的特征数据中包含的各特征量的值以通道单位对其平均值进行计算,来输出固定长度的输出数据。由此,能够使从池化部1004、1014输出的数据在小批量之间具有相同的数据尺寸。
例如,在第5网络部620_5的第n层620_5n的池化部1004中,计算特征数据1911_1的平均值avg1-1-1,并输出输出数据1921_1。同样地,在第5网络部620_5的第n层620_5n的池化部1004中,计算特征数据1912_1的平均值avg1-2-1,并输出输出数据1922_1。
由此,在池化部1004中,例如能够针对数据尺寸不同的特征数据1911_1和特征数据1912_1,输出固定长度的输出数据1921_1和输出数据1922_1。
同样地,在第6网络部620_6的第n层620_6n的池化部1014中,针对特征数据1931_1,按照每个通道计算平均值avg2-1-1-1~avg2-1-1-nλ,并输出输出数据1941_1。同样地,在第6网络部620_6的第n层620_6n的池化部1014中,针对特征数据1932_1,按照每个通道计算平均值avg2-2-1-1~avg2-2-1-nλ,并输出输出数据1942_1。
由此,在池化部1014中,例如能够针对数据尺寸不同的特征数据1931_1和特征数据1932_1,输出固定长度的输出数据1941_1和输出数据1942_1。
<池化部的处理的另一具体示例>
接着,对第5网络部620_5和第6网络部620_6的最终层中包括的池化部的处理的另一具体示例进行说明。图19是示出在第5网络部的最终层中包括的池化部的处理的另一具体示例的图,并且是用于对spp处理进行说明的图。
如图19所示,在池化部1004中,通过以不对输入的特征数据进行分割的方式计算平均值,并且以对输入的特征数据进行4分割和16分割的方式计算各区域的平均值,从而输出与分割数相对应的固定长度的输出数据。
例如,在第5网络部620_5的第n层620_5n的池化部1004中,以不对特征数据1911_1进行分割的方式,计算特征数据1911_1的平均值avg1-1-1-1/1。另外,在第5网络部620_5的第n层620_5n的池化部1004中,对特征数据1911_1进行4分割,并针对各区域计算平均值avg1-1-1-1/4~avg1-1-1-4/4。此外,在第5网络部620_5的第n层620_5n的池化部1004中,对特征数据1911_1进行16分割,并针对各区域计算平均值avg1-1-1-1/16~avg1-1-1-16/16。
另外,在第5网络部620_5的第n层620_5n的池化部1004中,以不对特征数据1912_1进行分割的方式,计算特征数据1912_1的平均值avg1-2-1-1/1。另外,在第5网络部620_5的第n层620_5n的池化部1004中,对特征数据1912_1进行4分割,并针对各区域计算平均值avg1-2-1-1/4~avg1-2-1-4/4。此外,在第5网络部620_5的第n层620_5n的池化部1004中,对特征数据1912_1进行16分割,并针对各区域计算平均值avg1-2-1-1/16~avg1-2-1-16/16。
由此,在池化部1004中,例如能够针对数据尺寸不同的特征数据1911_1和特征数据1912_1,输出固定长度的输出数据2010_1和输出数据2011_1。
接着,对第6网络部620_6的第n层620_6n中包括的池化部1014的细节进行说明。图20是示出在第6网络部的最终层中包括的池化部的处理的另一具体示例的图,并且是用于对spp处理进行说明的图。
如图20所示,在池化部1014中,通过以不对输入的特征数据的各通道进行分割的方式计算平均值,并且以对输入的特征数据的各通道进行4分割和16分割的方式计算各区域的平均值,从而输出与分割数相对应的固定长度的输出数据。
例如,在第6网络部620_6的第n层620_6n的池化部1014中,以不对特征数据1931_1的通道1进行分割的方式,计算特征数据1931_1的通道1的平均值avg2-1-1-1-1/1。另外,在第6网络部620_6的第n层620_6n的池化部1014中,对特征数据1931_1的通道1进行4分割,并针对各区域计算平均值avg2-1-1-1-1/4~avg2-1-1-1-4/4。此外,在第6网络部620_6的第n层620_6n的池化部1014中,对特征数据1931_1的通道1进行16分割,并针对各区域计算平均值avg2-1-1-1-1/16~avg2-1-1-1-16/16。
在第6网络部620_6的第n层620_6n的池化部1014中,通过针对nλ个通道份进行这些处理,从而生成输出数据2100_1。
同样地,在第6网络部620_6的第n层620_6n的池化部1014中,以不对特征数据1932_1的通道1进行分割的方式,计算特征数据1932_1的通道1的平均值avg2-2-1-1-1/1。另外,在第6网络部620_6的第n层620_6n的池化部1014中,对特征数据1932_1的通道1进行4分割,并针对各区域计算平均值avg2-2-1-1-1/4~avg2-2-1-1-4/4。此外,在第6网络部620_6的第n层620_6n的池化部1014中,对特征数据1932_1的通道1进行16分割,并针对各区域计算平均值avg2-2-1-1-1/16~avg2-2-1-1-16/16。
在第6网络部620_6的第n层620_6n的池化部1014中,通过针对nλ个通道份进行这些处理,从而生成输出数据2101_1。
由此,在池化部1014中,例如能够针对数据尺寸不同的特征数据1931_1和特征数据1932_1,输出固定长度的输出数据2100_1和输出数据2101_1。
<虚拟测定数据的评价>
接着,对由推测部162输出的虚拟测定数据(推测结果)的精度进行说明。图21是用于对推测部的推测结果的精度进行说明的第1图。需要说明的是,在图21的示例中,在将一个腔室定义为处理单元120的情况下,在各腔室中(在此,为腔室a~腔室d的4个腔室)中,示出了将虚拟测定数据与检查数据进行对比的情况。
需要说明的是,关于检查数据,在此以er值来进行说明。另外,在图21所示的各图表中,横轴表示虚拟测定数据的值,纵轴表示检查数据的值。换言之,在图21所示的各图表中绘制的点表示出:越接近斜率为“1”的直线,则虚拟测定数据的值与检查数据的值越一致。另一方面,绘制的点表示出:与斜率为“1”的直线相差得越远,则虚拟测定数据的值与检查数据的值之间的差异越大。
其中,21a绘制出
·在作为处理单元的腔室a中,通过对处理前晶圆110进行处理并对处理后晶圆130进行检查而取得的er值、与
·在作为处理单元的腔室a中,基于伴随处理前晶圆110的处理测定出的oes数据而推测出的虚拟测定数据
之间的关系。
另外,21b绘制出
·在作为处理单元的腔室b中,通过对处理前晶圆110进行处理并对处理后晶圆130进行检查而取得的er值、与
·在作为处理单元的腔室b中,基于伴随处理前晶圆110的处理测定出的oes数据而推测出的虚拟测定数据
之间的关系。
另外,21c绘制出
·在作为处理单元的腔室c中,通过对处理前晶圆110进行处理并对处理后晶圆130进行检查而取得的er值、与
·在作为处理单元的腔室c中,基于伴随处理前晶圆110的处理测定出的oes数据而推测出的虚拟测定数据
之间的关系。
另外,21d绘制出
·在作为处理单元的腔室d中,通过对处理前晶圆110进行处理并对处理后晶圆130进行检查而取得的er值、与
·在作为处理单元的腔室d中,基于伴随处理前晶圆110的处理测定出的oes数据而推测出的虚拟测定数据
之间的关系。
如21a~21d所示,可以说无论任何绘制图表,均大致位于靠近斜率为1的直线的位置,无论腔室如何,均能够获得良好的结果。换言之,推测部162能够应用于任何腔室,并且具有无需如传统情况那样针对每个腔室生成不同的模型的优点。
需要说明的是,虽然21a~21d是示出能够应用于任何腔室的示例,但是推测部162不仅可以应用于不同的腔室,而且可以应用于同一腔室的维护前后。换言之,推测部162由于无需如传统情况那样随着腔室的维护而对模型进行维护,因此具有能够降低模型的管理成本的优点。
图22是用于对推测部的推测结果的精度进行说明的第2图。在图22中,符号2310是对在利用具有由一般的卷积神经网络构成的网络部的推测部来进行推测的情况下的虚拟测定数据与检查数据之间的误差进行评价的评价值。另外,符号2320是对在利用推测部162进行推测的情况下的虚拟测定数据与检查数据之间的误差进行评价的评价值。
需要说明的是,在图22的示例中,作为评价值,使用相关系数的平方(确定系数)和mape(meanabsolutepercentageerror:平均绝对百分比误差)。另外,在图22的示例中,计算针对作为处理单元的腔室a~d的所有绘制图表的评价值、以及针对作为处理单元的腔室a~d的各个绘制图表的评价值。
如图22所示,与具有由一般的卷积神经网络构成的网络部的推测部相比,推测部162的任何评价值均为更良好的结果。换言之,根据推测部162,能够执行与传统相比更高精度的虚拟测定处理。
<总结>
如上所述可以明确的看出,根据第2实施方式的虚拟测定装置具有以下特征:
·取得伴随制造工艺的预定处理单元中的对象物的处理而由发光分光分析装置测定出的作为时间序列数据组的oes数据。另外,利用不同的方法对取得的oes数据进行归一化,并且对分别利用不同的网络部进行处理而得到的各输出数据进行合成。
·以使通过对各输出数据进行合成而得到的合成结果与在制造工艺的预定处理单元中对对象物进行处理后的结果物的检查数据(er值)接近的方式,针对不同的网络部进行机器学习(通过机器学习进行训练)。
这样一来,通过在构成为利用多个网络部对oes数据进行处理的基础上进行机器学习,从而能够多方面地对制造工艺的预定处理单元进行分析。因此,与构成为利用一个网络部对oes数据进行处理的情况相比,能够生成用于实现较高的推测精度的模型。
换言之,根据第2实施方式,能够提供一种能够执行高精度的虚拟测定处理的虚拟测定装置。
另外,根据第2实施方式的虚拟测定装置具有以下特征:
·针对输入至不同的网络部的oes数据进行尺寸调整处理,并且以小批量单位生成数据尺寸相同的oes数据。
·通过在网络部的最终层中进行gap处理或spp处理,从而能够在小批量之间设成相同的数据尺寸,以输出固定长度的输出数据。
由此,根据第2实施方式,即使在输入了可变长度的oes数据的情况下,也能够通过机器学习算法来生成推测部。
[其他实施方式]
在上述第2实施方式中,作为由归一化部1001进行的归一化处理,示例性地示出了
·使用从针对整个波长的预定时间长度份的发光强度之中计算出的、发光强度的平均值和标准偏差所进行的归一化处理。
·使用从各个波长内的预定时间长度份的发光强度之中计算出的、发光强度的平均值和标准偏差所进行的归一化处理。
然而,由归一化部1001进行归一化处理时所使用的统计值是多种多样的,例如,可以使用发光强度的最大值和标准偏差来进行归一化处理,或者也可以使用其他统计值来进行归一化处理。另外,可以构成为能够对使用哪个统计值来进行归一化处理进行选择。
另外,在上述第2实施方式中,对于时间序列数据组为oes数据的情况进行了说明。然而,在上述第2实施方式中使用的时间序列数据组不限于oes数据,也可以使用将oes数据和除了oes数据以外的时间序列数据组合而成的时间序列数据组。
另外,在上述第2实施方式中,虽然对分别将相同的时间序列数据组输入至不同的网络部的情况进行了说明,但是分别输入至不同的网络部的时间序列数据组可以是相同的时间序列数据组,也可以是不同的时间序列数据组。另外,也可以是一部分彼此重复的时间序列数据组。其原因是,在各个时间序列数据组中包含相同趋势的时间序列数据的情况下,可以期待同样的效果。
另外,在上述第2实施方式中,虽然对在网络部的最终层中进行gap处理或spp处理的情况进行了说明,但是也可以构成为在第1实施方式中说明的网络部的最终层中进行这些处理。
另外,在第2实施方式中,虽然对在由池化部1014进行spp处理时利用3种分割方法(未分割、4分割、16分割)对特征数据进行分割的情况进行了说明,但是分割方法不限于3种。另外,分割数不限于0、4、16。
另外,在上述第1和第2实施方式中,对于以卷积神经网络为基础来构成学习部161的第1网络部620_1~第m网络部620_m的机器学习算法的情况进行了说明。然而,学习部161的第1网络部620_1~第m网络部620_m的机器学习算法不限于卷积神经网络,也可以以其他机器学习算法为基础来构成。
另外,在上述第2实施方式中,虽然对使用er值作为检查数据的情况进行了说明,但是也可以使用cd(criticaldimension:临界尺寸)值等。
另外,在上述第1和第2实施方式中,对虚拟测定装置160起到学习部161和推测部162的功能的情况进行了说明。然而,起到学习部161的功能的装置和起到推测部162的功能的装置无需为一体,也可以分开地构成。换言之,虚拟测定装置160可以起到不具有推测部162的学习部161的功能,也可以起到不具有学习部161的推测部162的功能。
需要说明的是,可以针对在上述实施方式中所举出的构成上组合其他要素,并且本发明不限于在此所示的构成。关于此点,在不脱离本发明的宗旨的范围内可以进行改变,并且可以根据其应用方式适当地确定。
本申请以2018年11月30日提交的日本发明专利申请2018-225676号作为要求优先权的基础,本申请援引该日本发明专利申请的全部内容。
符号说明
100:系统
110:处理前晶圆
120:处理单元
130:处理后晶圆
140_1~140_n:时间序列数据取得装置
150:检查数据取得装置
160:虚拟测定装置
161:学习部
162:推测部
200:半导体制造装置
610:分支部
620_1:第1网络部
620_11~620_1n:第1层~第n层
620_2:第2网络部
620_21~620_2n:第1层~第n层
620_m:第m网络部
620_m1~620_mn:第1层~第n层
630:连接部
640:比较部
1001、1011:归一化部
1004、1014:池化部
1210:分支部
1220_1:第1网络部
1220_11~1220_1n:第1层~第n层
1220_2:第2网络部
1220_21~1220_2n:第1层~第n层
1220_m:第m网络部
1220_m1~1220_mn:第1层~第n层
1240:连接部
1250:比较部
1401:发光分光分析装置
1520:oes数据
1610、1620:归一化oes数据