专利名称:刻蚀机集群控制器的制作方法
技术领域:
本发明涉及自动控制领域,具体涉及半导体刻蚀工艺中的一种刻蚀机集群控制器。
背景技术:
现代化大规模集成电路制造需要使用到数十种工艺设备进行几百道的工艺处理过程,集成电路制造工厂里的设备通常被分为沉积、光刻、刻蚀、扩散等几个区域,每个区域均由进行相同或相近工艺处理的半导体设备所组成。工厂物料传输/管理系统进行不同的区域之间的物料传输,而整个硅片的生产工艺由制造执行系统(MES)负责协调,统一管理物料在不同区域的不同机台之间的协调,进而完成整个复杂的半导体工艺制造流程。随着集成电路制造特征尺寸的不断减小,所加工硅片表面积的不断扩大,半导体生产对于工厂自动化水平的要求也不断提高,体现在物料传输的自动化程度不断提高,机台之间的工艺转换时间不断缩短,以及机台工艺参数的先进控制。半导体设备与材料国际组织(SEMI)分别制定了自动化的材料传输、设备自动化、以及先进工艺控制工程三个领域的国际标准,作为全球半导体设备制造商与半导体器件制造商之间共同的标准。
目前无论对于200毫米还是300毫米半导体工艺设备来说,我国还没有自主开发的用于完成200mm刻蚀机的传输模块(TM)和工艺模块(PM)的监控功能的集群控制器(CTC)。随着超大规模集成电路芯片的广泛应用,在超大规模集成电路生产制造领域,刻蚀机是集成电路生产工艺过程中必不可少的一项工艺加工设备。为了能够有效地对集成电路刻蚀工艺中的各个子设备和工艺环节进行有效的控制,需要有一个控制器对它们进行有效地监测和控制。集成电路刻蚀机集群控制器就是用于完成上述功能的控制系统。
发明内容
(一)要解决的技术问题本发明的目的是要克服目前现有技术的不足,提出一种半导体刻蚀机集群控制器,用于完成对半导体刻蚀系统的监测与控制。
(二)技术方案由于实际生产的需要,从功能上讲,集成电路刻蚀机集群控制器(CTC)应当大致包含如下几个方面的功能模块(1)工艺模块作为刻蚀系统的控制器,首要解决的就是实现工艺过程的编辑、保存和载入。允许操作人员通过这个模块设定工艺流程中的各类参数。
(2)设置模块用于完成对所控制的整套系统的设置。
(3)监测模块用于监测工艺流程过程,当出现差错时能及时报警。
因此,针对半导体刻蚀机的集群控制器,应该至少能完成上述3个方面的功能。
本发明提出一种刻蚀机集群控制器,包括将数据输入到控制器中的输入设备、存储数据的存储设备、显示监控状态的输出设备、执行控制信息的CPU、以及用于与刻蚀机相连接的传输设备,其特征在于,该刻蚀机集群控制器还包括工艺模块,用于根据存储的工艺流程所需的条件,对完成刻蚀工艺的相关参数进行编辑、保存和载入,并根据所述参数向刻蚀机输入控制信息,控制刻蚀机对晶片进行刻蚀操作。
上述的刻蚀机集群控制器,一种优选的方案在于所述工艺模块进一步用于设定访问级别,以方便不同类型的技术人员在不同的时机操作使用。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括设置模块,用于设定工艺流程所需的参数条件,并把所需参数条件传送到工艺模块。所述设置模块包括安全性子模块、输入/输出定制子模块、日志子模块、状态灯塔子模块、工艺模块设置子模块和通讯模块设置子模块,分别用于对安全性管理、输入/输出的定制、日志、状态灯塔、工艺模块和通讯模块的参数设置。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括警报模块,用于获取刻蚀机运行过程中的工艺情况数据,比较获取的工艺情况数据与存储器中存储的工艺情况数据是否一致,在不一致时发出报警信息。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括报警信息对照表,用于存放报警信息的对照文件,所述警报模块根据报警编号,从该文件中查找出该报警信息相应的说明。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括日志模块,用于记录刻蚀机的状态以及工艺情况,实现对刻蚀机状态数据的采集、存储和查询。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括系统模块,用于设置系统的初始化默认参数。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括任务管理模块,用于任务管理,包括任务的清除、控制、每日检查和工艺过程的管理。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器进一步包括用户权限管理单元,采用Microsoft Acess DB文件作为用户权限的存储方案,对用户权限进行管理。
上述的刻蚀机集群控制器,一种优选的方案在于该刻蚀机集群控制器采用用户权限信息表和安全级别信息表来关联管理所述控制器的信息安全。
(三)有益效果采用本发明的集群控制器完成对半导体刻蚀机的控制,通过对流程工艺的编辑、保存,以及载入现有的流程工艺条件等操作,可以有效地对半导体刻蚀机进行精确的控制,实现最佳的刻蚀操作;另外,本发明的集群控制器还具有安全性管理、输入/输出的定制、日志、状态灯塔、工艺模块和通讯模块的参数设置功能;还具有对于报警信息的查询、显示功能;还具有对于日志的采集、保存和查询功能;还具有对于系统初始化默认参数的设置功能;在任务管理方面,具有任务的清除、控制、每日检查和工艺过程的管理功能。通过本发明的集群控制器,能够有效地对集成电路刻蚀工艺中的各个子设备和工艺环节进行有效地监测和控制。
图1为本发明CTC软件系统总体结构图;图2为CTC初始化流程图;图3为工艺模块内部各个子模块之间的调用关系图;图4为设置模块内Security信息数据库中两张表的关联关系图;图5为设置模块内Security信息管理功能的实现机制图;图6为设置模块内生成用户UI的数据流图;图7为设置模块内生成用户UI的合作图;图8为工艺模块总体结构图;图9为设置模块总体结构图;图10为警报模块总体结构图;图11为日志模块总体结构图;图12为系统模块总体结构图;图13为任务管理模块总体结构图。
具体实施例方式
对于本发明提供的刻蚀机集群控制器,下面结合附图和实施例进行详细说明。
本发明包括将工艺流程等数据输入到控制器中的输入设备、存储控制程序的存储设备、显示监控状态的输出设备、执行控制信息的CPU、以及用于与各级刻蚀机设备相连接的传输设备。在本实施例中,采用通用计算机配合控制程序完成整个控制器的实现。通用计算机部分,采用的基本配置为CPU 2.4G、硬盘200G、内存512M、标准键盘以及显示屏,配备的数据连接接口,通过这个接口完成控制器对刻蚀设备的控制信息传输、以及刻蚀设备反馈的工艺数据的传输。
本发明所述的CTC采用Windows XP+Microsoft Visual Studio2003作为开发平台,以Microsoft Visual C++2003为开发语言。采用Berkeley DB(BDB)做为数据存储方案。SQLite和Berkeley DB均是应用相对比较广泛的嵌入式数据库系统,SQLite是一种实现了SQL语言支持的嵌入式数据库引擎;Berkeley DB是一种广泛应用的开源的嵌入式数据库,它能够为应用程序提供高效的、带有事务支持的数据库服务。其速度、应用的广泛程度、版本更新速度均比SQLite优越。
在开始配置控制器前,必须先明确整个刻蚀系统需要处理的信息,根据半导体刻蚀设备的工艺要求,本发明的刻蚀机控制器依据功能划分为6个模块,如图1所示,而这6个主要模块均共同使用两个公共模块数据文件管理器和配置文件管理器。
系统的配置文件管理器主要实现了如下三个方面的功能管理用户的权限信息、维护一般的系统配置信息和针对相应的配置信息执行用户所配置的系统任务。管理用户的权限信息是通过系统中的用户权限管理器来完成,相应的用户权限信息存放在用户安全信息配置文件中。在系统的初始设置阶段要对反应腔室的相关参数进行一定的配置,这些配置信息是保存在PM配置文件中的。对于系统配置信息的维护主要是由系统配置文件管理器直接对系统的配置文件进行相应的操作。另外用户在有些时候配置完相应的系统信息后,需要系统按照用户的配置信息执行相应的任务,而这些任务都是通过CTC与PMC、TMC或Fab Host之间进行通讯来实现的,所以在配置文件管理器中提供了一个任务执行器,由任务执行器调用相应的通讯协议解析器来实现与PMC、TMC和Fab Host的通讯功能。
在CTC系统中采用SEMI E37通讯标准、CTC-PMC通讯模块和CTC-TMC通讯模块来实现系统的网络通讯协议和模块设计。
CTC在初始化过程中,首先根据配置文件中提供的Fab Host主机地址和端口信息,主动发起与Fab Host的TCP连接,如果连接失败,则给出错误告警和原因提示;如果连接成功,则创建专门的线程等待来自Fab Host的HSMS消息。CTC与FabHost通讯的初始化流程如图2所示。
CTC对两种不同类型的HSMS消息进行分别处理(命令消息和数据消息)对于命令消息,CTC用内置的固定代码来处理(编译在exe文件内部)来处理命令消息,并更新HSMS通讯状态机的状态。
对于数据消息,不可能(也不需要)一次性实现,因此CTC提供方便的扩展接口,方便后续开发来不断扩充CTC与Fab Host的数据通讯功能。基本设计如下HSMS数据消息使用Stream Type和Function Type来标识,因此CTC提供一种责任链(Chain of Responsibility)的机制来进行HSMS数据消息的分发处理。CTC提供接口供外部模块(编译为DLL文件形式)注册自身关心的HSMS消息(根据Stream和Function进行注册),外部模块以回调函数(Callback Function)的形式进行功能注册。可以约定用于扩展CTC-Fab Host数据通讯功能的动态链接库存放在一个特定的目录下,CTC在初始化的时候遍历该目录,载入各个动态链接库并处理各个链接库的功能注册。当一个HSMS数据消息被接收之后,CTC检查内部注册表是否有合适的回调函数用来处理这个数据消息,如果有,则依次调用各个回调函数,并把CTC的各种管理对象资源(例如PMC对象、TMC对象)作为参数传递给回调函数,回调函数根据自己的逻辑来对数据消息进行处理,操作CTC管理的各种对象。如果CTC在内部注册表没有查找到合适的回调函数,则按照默认的处理方式处理该数据消息(直接发送Response消息)。
CTC与PMC的交互是CTC底层功能的一个重要组成部分。我们把这一功能抽象成三个层次1)网络分包协议在TCP/IP流协议的基础上提供基于包和消息的传输服务2)数据传输协议在网络分包协议基础上定义CTC-PMC传输数据的格式3)PMC功能建模对PMC的属性和可提供的功能进行建模CTC与TMC之间的通讯模块及接口协议的规定请参考Brooks公司提供的软件手册。
CTC系统配置文件方案设计CTC系统涉及到很多可配置的信息,因此有效的配置文件管理方案是必不可少的一个环节。本发明专利实施例重采用了注册表文件的格式做为配置文件的格式。
注册表文件由Section和Value两种节点组成,以树状结构来组织配置信息,其访问方式与文件系统的访问方式非常类似,每个Section下可以有子Section和若干个Value,可以用完整路径的方式直接访问到配置树中的某一个Value信息。Value存储着具体的配置项数据,包括如下几种类型字符串类型、64位长整型、二进制类型。
CTC定义专用的配置文件管理模块来读写配置文件,管理模块根据配置文件名进行初始化,遍历文件中的所有Section和Value,并以哈希表的形式储存在内存中,以提供高效的配置信息访问。
在CTC用户权限管理方面,采用Microsoft Access DB(MDB)文件做为用户权限的存储方案。MDB能提供Relation支持,同时具备适中的数据安全特性。在数据库中用访问级别表和用户表两种表格来实现用户权限管理,如下面表1和表2所示,其中表1为访问级别表,表2为用户表。
表1
表2用户登入CTC系统时,CTC会通过用户权限管理模块检查用户身份是否合法并获得用户能够访问的功能模块的信息,并把这一信息反映在用户界面上。
在用户的安全级别定义中,一般来讲主要包括如下几个方面的用户级别Default Level,All,Operator,Process,Service,Engineer等,对于每一种安全级别定义的具体内容由系统管理员来设定。
系统的数据文件管理器主要根据数据文件的特点实现了如下两个方面的功能对具有表格特征的数据进行维护和管理,对一般形式的数据进行维护和管理。由于在CTC系统中对于系统某些数据的维护是通过表格形式来实现的,所以针对这类数据维护的特点,在系统设计中采用了一个表格管理器来实现这类形式的数据操作。另外对于一般形式的数据维护则使用一般的数据管理器来实现对于它的操作。
在CTC系统公用模块部分中将基于CTC系统功能的分析结果,抽象出了各大主要模块所公用的子功能模块。这些子功能模块包括如下几类通讯协议与通讯模块,图形显示模块,用户安全信息文件的定义,日志数据文件的定义,报警数据文件的定义和配方数据文件的定义。另外,对于数据文件的管理(数据表格管理,数据管理与编辑等功能)和配置文件的管理,均可以直接调用当前开发平台VC++中功能类库来实现,具体的操作函数可以查阅MSDN帮助信息。
CTC系统的6个主要模块分别为(1)工艺(Recipe)模块这个模块用于完成对刻蚀工艺参数的编辑、保存和载入。刻蚀机按照这个模块所设定的参数进行对晶片进行刻蚀操作。Recipe模块总体结构如图8所示。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表3中给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系,其中TM配置文件中存放有用户对于平台上各个反应腔室的处方配置信息。
表3(2)设置(Setup)模块这个模块用于系统启动方面,包括安全性管理、输入/输出的定制、日志、状态灯塔、工艺模块和通讯模块的参数设置功能,因此相应的,分为安全性子模块、输入输出定制子模块、日志子模块、状态灯塔子模块、工艺模块设置子模块和通讯模块设置子模块。Setup模块总体结构如图9。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表4给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系,其中在SECS/GEM通讯配置文件中主要存放了CTC与Fab Host之间通讯的接口定制信息。
表4(3)警报(Alarm)模块该模块用于监测刻蚀系统的流程状态,当工艺流程出现差错时能及时警报,并具有对过往报警信息的查询、显示功能。Alarm模块总体结构如图10所示。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表5中给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系,其中灯塔配置文件对各种颜色显示灯的报警范围进行了一定的界定,当相应类型的报警信息存在时,灯塔上相应颜色的灯会闪烁。
表5(4)日志(Datalog)模块该模块用于自动记录控制器所获得的刻蚀系统的状态以及工艺参数等等,具有对于日志的采集、保存和查询功能。操作人员可以通过该模块查询整个刻蚀系统或某个刻蚀机的状态等信息。Datalog模块总体结构如图11所示。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表6中给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系,其中日志信息配置文件主要是存放用户对于日志文件的定制信息。对于数据采集配置文件,在按照不同的组同时进行4路通道的数据采集时,需要提前配置不同组中的数据通道。在采集系统数据前,需要配置相关的数据采集操作参数,在CTC系统中相关的配置参数将存放在数据采样操作配置文件中。日志查询配置文件是以临时文件的形式存放用户对于日志文件的查询操作。
表6(5)系统(System)模块该模块用于设置系统的初始化的默认参数。System模块总体结构如图12所示。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表7中给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系,在系统维护阶段中,在System I/O配置文件中保存了与系统的输入、输出相关的维护信息和设置信息,在Custom I/O配置文件中保存了系统常用的系统输入输出端口的信息。在对用户常用的I/O进行配置时,主要是从已有的系统I/O列表中选择出用户常用的I/O进行相应的显示和监控操作。此时需要有两种I/O信息文件,一种是系统I/O总表,另外一种是用户定制后的系统I/O表。
表7(6)任务管理(Jobs)模块在任务管理方面,具有任务的清除、控制、每日检查和工艺过程的管理功能,因此也相应的分为清除子模块、控制子模块、每日检查子模块和工艺过程管理子模块。Jobs模块总体结构如图13所示。图中描绘了它所包含的各个子模块,并给出了各个模块的必要说明,在下表8中给出了各个子模块的操作对象和所调用的公共子功能模块的对应关系。
表8在CTC控制系统的实现过程中,将整个CTC系统作为一个解决方案,在这个解决方案中,主要包含以下5个项目Altova、MFCGrid、ProjectX、Recipe和RecipeParam。它们的功能说明请见表9所示。在CTC系统软件的实现中,核心的功能主要是ProjectX这个项目来实现的。由于使用VC++工具进行系统开发要在Windows平台基础上开发实现,所以许多有关应用Windows的API(应用程序接口)和MFC而实现工业自动化控制系统的原理和知识属于现有技术,本领域的技术人员可以结合相关书籍和技术资料来实现。
表9整个CTC软件系统是在一个称为IDD_PROJECTX_FORM面板中,该面板中主要包括如下几个部分的内容系统菜单,系统状态条,系统功能页面位置和系统导航条。
在系统的功能菜单上主要包括如下几类菜单“文件”、“编辑”、“视图”和“帮助”。在整个系统面板的上部有一个系统的状态条,该状态条以数字的形式显示系统时间,以灯塔的形式显示系统的报警信息。在系统面板的中部是根据用户所选择的导航按钮来显示的系统功能页面。在整个软件系统模版的底部是系统按钮的导航区。导航区的主要功能按钮与系统的六大主要功能相对应。同时也对应于系统的六大主要功能模块。另外为了操作方便上的考虑还设置了一个系统帮助按钮。
在具体实现CTC软件系统的各个功能页面时,由于它们都具有统一的样式,因此在本实施例中,将一个基本对话框作为所有六大功能页面的基类CBasepage,然后各个功能页面在实现时都继承自这个基类,并在此基础上进行扩充。基于这样的基类,不同的功能页面根据实际的需求可以进行相应的功能扩充。
(一)工艺模块的具体实现工艺编辑器实现功能包括Recipe(工艺)数据库的层次化管理,Recipe文件的添加、删除、修改和访问级别的设定。根据前述的刻蚀工艺的特点,需要先定义数据格式,具体操作是,系统采用XML文档的格式来保存Recipe数据。一个示例Recipe文件如下<?xml version=″1.0″encoding=″UTF-8″?><recipe xsinoNamespaceSchemaLocation=″recipe.xsd″xmlnsxsi=″http//www.w3.org/2001/XMLSchema-instance″><access-level>3</access-level><description>Test recipe</description><step>
<p name=″param1″value=″value1/></step>…<step>
<p name=″param1″value=″″/></step></recipe>
这个Recipe文件中各个元素的含义和约束如下<recipe>代表整个Recipe文档,是XML树结构的根节点;
<access-level>当前Recipe文件的访问级别,这个值和用户的Recipe访问级别一起决定了用户对当前Recipe文件的访问权限。其取值范围在1~5之间;<description>Recipe的描述信息。长度和内容任意;<step>代表一个完整的工艺(Recipe)步骤。一个Recipe中的若干个步骤是有序的,而且应当与实际加工顺序一致;<p>代表一个步骤(step)中的一个反应条件。其属性包括name-反应条件的名称;value-反应条件的取值。
针对刻蚀系统的特点,在本实施例中,在工艺模块的工艺编辑器中,存储了多份Recipe文件,对应不同的工艺过程。
工艺(Recipe)模块的层次化管理为了方便大量Recipe文件的归类和查找,Recipe编辑器在存储和组织上采用树状结构来管理Recipe文件,反映在用户界面上,就是提供一个类似Windows Explorer的浏览方式。Recipe信息树由Package(包)和Recipe两种节点组成,一个Package中可以包含任意个子Package或Recipe,而Recipe必须是信息树的叶子结点。
Recipe文件本身并不包含层次信息,Recipe编辑器直接用Windows文件系统来对应Recipe信息树,这样系统中的Recipe就可以随意移动到树中的其他位置而不需要对Recipe文件本身进行修改。Recipe编辑器的界面采用类似于Windows Explorer的设计。Recipe模块内部各个模块之间的调用关系如图3所示。
(二)设置(SetUp)模块的具体实现在CTC软件系统的SetUp模块中,主要实现了两个方面的功能,一是系统的Security(安全性)信息的管理功能;二是LightTower(灯塔)信息的管理功能。
Security信息的管理功能的实现在具体实现CTC软件系统的用户安全信息管理时,为了信息的安全起见,本实施例采用一个Access数据库来存放系统的安全信息。在这个Access数据库中,包含有两张相互关联的信息表,一张是用户权限信息表(UserLevel);另外一张是安全级别信息表(SecurityLevel)。
这两张表中所包含的字段和相互的关联关系如图4所示。
由于在设置功能模块的安全性管理功能中,要同时允许用户对上述两张表进行管理,所以在具体实现时采用了如下实现方法。
参照图5,可以看出CTC控制系统的安全性信息管理模块通过Windows提供的ODBC来访问Access数据库中的相关内容。安全性功能模块通过ActiveX控件ADO从ODBC中获得数据源信息,利用DBGrid来显示相关信息。对于安全信息数据库中的表都是通过这种方式来访问实现的。
LightTower信息管理功能的实现为了简化系统的操作,在管理CTC系统的LightTower信息时也采用了Access数据库的方式来存放,其基本原理也是采用了ODBC的接口来直接访问相关的安全设置信息。另外在显示完安全设置信息后,为了突出不同的安全信息级别,分别用不同颜色的惊叹号来加以强调。惊叹号与报警信息的对应关系如表10所示。
表10以上简单地介绍了有关CTC系统部分功能模块的实现情况,具体的实现技术细节请参见CTC系统的源代码。
设置模块的设计由于设置模块的功能需求与工艺操作需求密切相关,特别是工艺操作的需求要反映到设置模块界面的实现上,所以对于该模块实现要考虑实现和使用上具有一定的灵活性,而且能够适应工艺操作过程中不断变化的要求。
为了保证设置模块能够在使用上更加灵活,能够适应工艺操作过程中可能出现的参数变化情况,而且允许用户具有配置设置操作界面的权力,操作能够满足需求的不断变化。相应的用户在定制或者配置设置模块界面时的操作过程如下
(a)按照工艺过程中对于参数的要求,遵照CTC控制器对于设置模块界面的定制格式,编辑相应的界面配置文件;(b)启动CTC控制器;(c)点击Setup导航按钮,访问相应的设置模块界面。
由于该模块中的Setup参数是PMC(工艺模块控制器)和CTC之间交互信息的一个重要组成部分,所以Setup参数的特点是数目多,而且还有可能根据需要进行增、删和修改。
针对上述操作过程和Setup参数的特点,为了实现相应的功能,在设置模块的设计和实现中相应地需要考虑两个方面的问题(a)Setup界面的生成程序;(b)配置文件的格式。
为解决上述问题,首先,需要对相关数据进行分类。根据对系统中可能存在的参数进行的需求分析,把Setup参数归入如下几类32位有符号整型、双精度浮点型、字符串、布尔型和枚举型。相应地,在用户UI上有不同的输入风格,前三种类型采用TextBox型输入框;布尔型采用CheckBox型输入框;而枚举型采用ComboBox型输入框。
然后,配置相关文件。CTC需要在本地保存用户设定的配置信息,简明的、易维护的配置文件格式有助于简化开发。在CTC系统中,本实施例以Win32注册表文件格式为蓝本,在此基础上增加一些扩展设置作为本发明的配置文件格式。
标准的Win32注册表文件定义的上述三种类型并不足以涵盖本发明需要的五种数据类型,例如缺少浮点型和枚举型数据,因此要对上述格式进行扩展来满足本发明对配置文件功能的需求。为了能够利用既有的Win32配置文件的解析类库,本实施例统一采用字符串类型来储存所有五种数据类型。扩展的配置文件格式定义如下config_file=section*section=section_name\r\nkey*section_name=\[\w\d+\]key=key_name”=”key_valuekey_name=\”\w\d+\”key_value=\”typevalue[set]\”
type=int|double|string|bool|enumvalue=[\w\d]*set=[\w+,]*由于一个配置项的值总是由三部分组成type,value和set。其中,Type取值目前支持int、double、string、bool和enum,也可以根据需要进行扩展。Value为实际参数值,必须与参数类型相匹配。Set只对enum类型数据有效,表示枚举类型的取值范围。
另外,根据本发明,还采用ACE类库提供的ACE_Configuration_Heap类作为标准Win32注册表文件的Parser,在此基础上对配置文件扩展进行分析,从而实现配置文件的读写功能。
然后,进行针对用户UI的设计,图6和图7分别为设置模块内生成用户UI的数据流图和合作图。由于Setup参数数目比较多,而且可能会根据工艺需要不断进行更改,因此最好采用某种方法根据配置文件的骨架内容自动生成相应的用户UI,从而避免一旦工艺需求的Setup参数个数和内容发生变化,CTC必须相应的修改代码的结果。
具体实现时,由于Setup参数的类型数据很少,而且每种类型对应的用户界面元素固定,因此在设置用户UI初始化的过程中,遍历整个配置文件(或者遍历当前可见的一个Section),分析其中的所有项,根据其类型来创建相应的用户界面元素,并把项的当前配置值反映在界面元素上。一旦用户在界面上进行了修改并点击了Save(保存)按钮,则CTC把用户提供的Setup参数值保存在配置文件中,并通过CTC-PMC网络通讯工具把新参数发送给PMC(工艺模块控制器)。
当Setup参数个数或内容需要更改时,CTC端只需要修改配置文件的骨架,用户UI就可以自动发生改变。
设置模块中基本的工艺参数。根据本发明,对于前述的配置文件格式[Section1]″Test1″=″int123″″Test2″=″double234.56″″Test3″=″stringfaint″ ″Test4″=″booltrue″″Test5″=″enumredblue,red,green,yello″一个标准的配置文件是由一个或多个Section所组成,每个Section对应于设置界面中的一个标签页(Tab Page);在每个Section部分中每一行对应于一个界面参数的定义。例如″Test1″=″int123″就定义了一个界面参数。其中,“Test1”代表了界面上所要显示的参数名称;而“=”右边的内容是对参数的相关定义(包括参数类型,初始值等;不同部分用冒号相分割)。其中“int”代表了参数的类型;而“123”则代表了所设定的相应参数的初始值(或默认值)。
(三)警报(Alarm)模块的实现根据本发明的集群控制器,优选的还包括警报模块,该模块主要是实现有关报警信息的显示和查询功能。为了实现该警报模块,首先需要确认(1)CTC控制系统中需要保存哪些与Alarm相关的信息;(2)CTC控制系统中所存放的Alarm信息,通常需要哪些方式进行查询。
(四)日志(Datalog)模块的实现根据本发明的集群控制器,优选的还包括日志模块,该模块主要实现刻蚀机的状况记录、以及记录的查询。为了实现该日志模块,首先需要确认(1)在CTC控制系统的Datalog数据库中需要存放哪几种类型的信息;(2)在实际使用过程中Datalog数据库对上述信息的存放频率如何;(3)在实际使用过程中Datalog数据库对上述信息的保存时间如何制定。
CTC在下层采用BDB作为Datalog的存储解决方案,每天创建一个新的数据库文件。BDB是Key-Data形式的简单数据库,CTC在写入log信息时,以log产生时间(用到Epoch的毫秒数形式)为Key,以log的xml描述为Data。
采用XML做为存储格式的好处有两个具有良好的可扩展性;Berkeley DB本身对XML数据有良好的内置支持,性能很好。
Datalog根据如下的一个配置表11决定记录哪些实时数据、各个数据的含义和数据类型。表11为日志文件配置对照表。
表11说明子项名称——定义该子项在一条Log信息中的名称数据类型——定义存储和显式该子项的数据类型(Int32、Int64、String、Double)数据源——定义该子项数据对应的设备属性,在设备的MIB中定义CTC提供用户界面帮助操作人员定义上述Datalog数据采集配置表,该表配置完成后,CTC就可以根据配置信息自动调整采集数据的范围。
报警信息存储方案报警信息的存储方式和实时信息很类似,但是结构相对简单,其XML文档格式如下<?xml version=”1.0”?>
<Alarm id=”2188”cleared=”true”>
<Module>PM1</Module>
<Category>warning</Category>
<StartTime>32283291000</StartTime>
<ClearTime>32283292000</ClearTime>
</Alarm>
上述Alarm描述文档中Id报警代码Cleared报警是否已经被清除Module报警的模块
Category报警的类型(Fault,Warning,Attention,Alarm)StartTime报警触发的时间(ms为单位)ClearTime报警清除的时间(ms为单位)报警信息对照文件在CTC系统中需要一个存放报警信息的对照文件,它的主要作用是根据报警编号,从该文件中查找出该报警信息相应的说明。
报警信息对照文件初步设计上采用excel表格的形式来存放相关的报警对照信息。表格的形式如表12所示,表12为CTC系统的报警信息对照表。
表12有关报警信息的对照表请参见《LAM9400手册》的286页。
(五)系统各个模块的运行机制和运行时机整个CTC系统中,从各大模块的功能上讲是提供给不同类型的技术人员在不同的时机来操作使用的。针对整个系统的运行,CTC系统开始运行时的操作顺序如下1、CTC系统运行准备阶段需要执行的操作与模块1)Setup-Security模块中设置系统的使用用户(系统管理人员负责,设置的用户至少包括工艺人员,系统维护人员,控制工程师,操作人员等)。
2)系统维护人员要首先维护好两张表,一张是系统的输入输出对照表;另外一张是系统的故障信息对照表。
3)工艺人员登陆系统,在Recipe-Process模块中设置系统的加工处方(工艺人员来完成)。
4)工艺人员在Setup-PM模块中负责设置PM的相关参数(选择处方,设置容差等)。
5)设备维护人员登陆系统,在Setup-LightTower模块中,定义灯塔的报警方式;在Setup-Datalog模块中,配置日志文件的参数;在Setup-CustomI/O模块中,设置常用的I/O信号;
在System-SystemI/O模块中,设置系统的I/O信号;在System-Counters模块中,设置系统的计数器和计时器参数;在System-PID模块中,设置系统的图形化显示参数;在System-Command模块中,根据维护的需要,设置需要执行命令及相关参数;在System-Macro模块中,根据系统维护的需要,执行相应的命令宏。
2、执行阶段需要执行的操作与模块1)控制工程师在Jobs-SECS/GEM模块中,设置CTC与FabHost的通讯模式在Jobs-Automation模块中,设置CTC系统工作时的模式;2)工艺人员,设备维护人员在Jobs-Clean模块中,设置腔室的清洗模式在Jobs-DailyCheck模块中,设置每日检查的参数3)控制工程师,设备维护人员,工艺人员在Jobs-Control模块中,设置加工参数,并开始整个系统的运行;在Jobs-Process模块中,监控这个加工过程;在Jobs-CustomI/O模块中,监控常用输入输出口的信息;3、维护阶段需要执行的操作与模块对于日志信息1)工艺人员,设备维护人员,控制工程师在Datalog-GraphSetup模块中,设置日志信息的图形化显示配置参数;在Datalog-SetupCollection模块中,设置日志中所要进行数据采集的端口相关信息;在Datalog-Collection模块中,设置日志采样参数。
2)工艺人员,设备维护人员,控制工程师在Datalog-Query模块中,查询相应的日志信息;3)工艺人员,设备维护人员,控制工程师在Datalog-Graph模块中,观察实时显示的图形化参数信息;在Datalog-Viewer模块中,查看日志的统计信息。
对于报警信息1)工艺人员,设备维护人员,控制工程师在Alarms-Status模块中,设置相关的报警参数信息工艺人员,设备维护人员,控制工程师在Alarms-Status模块中,查询相关的报警信息。
上述实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所形成的技术方案也属于本发明的范畴。
权利要求
1.一种刻蚀机集群控制器,包括将数据输入到控制器中的输入设备、存储数据的存储设备、显示监控状态的输出设备、执行控制信息的CPU、以及用于与刻蚀机相连接的传输设备,其特征在于,该刻蚀机集群控制器还包括工艺模块,用于根据存储的工艺流程所需的条件,对完成刻蚀工艺的相关参数进行编辑、保存和载入,并根据所述参数向刻蚀机输入控制信息,控制刻蚀机对晶片进行刻蚀操作。
2.如权利要求1所述的刻蚀机集群控制器,其特征在于,所述工艺模块进一步用于设定操作者的安全访问级别,以方便不同类型的技术人员使用不同的权利操作使用。
3.如权利要求1所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括设置模块,用于设定工艺过程所需的参数条件,并把所需参数条件传送到工艺模块。
4.如权利要求3所述的刻蚀机集群控制器,其特征在于,所述设置模块包括安全性子模块、输入/输出定制子模块、日志子模块、状态灯塔子模块、工艺模块设置子模块和通讯模块设置子模块,分别用于对安全性管理、输入/输出的定制、日志、状态灯塔、工艺模块和通讯模块的参数设置。
5.如权利要求1所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括警报模块,用于获取刻蚀机工艺过程中的状态数据,比较获取的工艺过程数据与存储器中存储的工艺过程期望数据是否一致,在不一致时发出报警信息。
6.如权利要求5所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括报警信息对照表,用于存放报警信息的对照文件,所述警报模块根据报警编号,从该文件中查找出该报警信息相应的说明。
7.如权利要求1所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括日志模块,用于记录刻蚀机的状态以及工艺情况,实现对刻蚀机状态数据的采集、存储和查询。
8.如权利要求1所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括系统模块,用于设置系统的初始化默认参数。
9.如权利要求1所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括任务管理模块,用于任务管理,包括任务的清除、控制、每日检查和工艺过程的管理。
10.如权利要求1-9任一项所述的刻蚀机集群控制器,其特征在于,该刻蚀机集群控制器进一步包括用户权限管理单元,采用Microsoft Access DB文件作为用户权限的存储方案,对用户权限进行管理。
全文摘要
本发明涉及自动控制领域,具体涉及半导体刻蚀工艺中的刻蚀机集群控制器。本发明提出一种刻蚀机集群控制器,包括将数据输入到控制器中的输入设备、存储数据的存储设备、显示监控状态的输出设备、执行控制信息的CPU、以及用于与刻蚀机相连接的传输设备,其中还包括工艺模块,该模块根据模块中存储的工艺流程所需的条件,对刻蚀机输出控制信息。采用本发明,可以实现对半导体刻蚀机的流程工艺的编辑、保存,以及载入现有的流程工艺条件等功能;还具有安全性管理、输入/输出的定制、日志管理、状态灯塔显示、工艺模块和通讯模块的参数设置等功能。
文档编号G05B19/02GK1959569SQ20061001192
公开日2007年5月9日 申请日期2006年5月17日 优先权日2006年5月17日
发明者徐华, 贾培发, 曹亦明, 赵雁南, 王家廞 申请人:北京北方微电子基地设备工艺研究中心有限责任公司, 清华大学