专利名称:用于群集工具的安全通用配置软件的制作方法
专利说明用于群集工具的安全通用配置软件
背景技术:
等离子体处理工具长期被用于处理晶片和其他小型器件(如平板、纳米机器等)。群集工具(cluster tool),代表等离子体处理工具的变体,已经被广泛应用。在一个群集工具中,多个处理室被聚集在一个或者多个传递模块的周围。对于一个或多个特定过程,每个处理室是可以配置的。通过将半导体衬底从处理室移动到群集工具的处理室,制造者可以在相当短时间内使衬底经受多个过程以及多个处理配方。在制造环境中采用群集工具的好处之一是产量可得到提高。
为了便于论述,图1示出了群集工具100,它代表典型的群集工具的高级的、简化逻辑表示。群集工具100包括前端102和后端104。前端102可被看作群集工具100的一部分,其处于大气压下,且衬底通过其放入或移出。后端104包括处理衬底所需的实际处理模块。
更具体地,图1中的前端102包括多个端口110、112和114,其代表用于将衬底输入群集工具100或从群集工具100卸出的端口。衬底接着进入气锁120和122中的一个,气锁维持后端104和前端102之间的压差。然后衬底从气锁120和122被传送到一个公共传递模块(TM)130,该模块在衬底处理模块(PM)140、142、144和146中移来移去时作为一个公共传递点。每个处理模块被配置为使用特定配方执行一个或多个特定的处理。例如可以对处理模块进行配置以用于多晶硅蚀刻,可将另一个处理模块配置成用于氮化物沉积,同一群集工具中的另一个处理模块可被配置成用于金属蚀刻。群集工具100可以包括图1中没有示出的其他模块(如大气处理模块或者APM)以及其他子系统。由于群集工具中这些以及其他主要的子系统对于本领域技术人员是熟知的,因此这里就不列出或详细论述主要的子系统了。
一个群集工具可以与其他的群集工具在主要子系统的数量上(如处理模块的数量以及/或者类型)有所区别。而且,例如,即使两个群集工具具有相同类型的相同数量的处理模块,这两个群集工具也仍然会由于构成这两个群集工具的子系统和子模块不同而存在区别。例如,两个金属蚀刻处理模块可以有不同的质量流控制器或者真空泵。
为了精心制作,群集工具100的制造商,如加拿大Fremont的Lam研究公司,通常利用来自许多制造群集工具的第三方的子系统和部件。实际上,由于这允许公司集中他们的精力,而将他们感兴趣的领域或专长以外的任务委托给其他公司,因此这种惯例在半导体处理设备领域中是标准的。
因此,使用来自不同供货商的不同部件和子系统来制造群集工具。关于要将哪些部件或者哪些子系统并入给定的群集工具中的决定,是一个复杂的决定过程,要考虑经济、定价策略、技术能力、变化的技术、客户要求、竞争定位以及/或者其他因素。而且,通常要每月或者每季度用一个或多个新的部件更新群集工具。这种因素,与不同客户要求结合,导致基本的相似性,即制造商当前发货的群集工具在某些方面可能与先前由该制造商所发货的所有其他群集工具有差别。然而,存在对所有群集工具的一般要求需要利用合适的配置软件和/或者配置文件来配置群集工具以供使用。由于大多数子系统和部件都是电子控制的(所有现代硬件通常就是这样),因此需要配置单个部件/子系统以及需要在组合的群集工具中配置部件/子系统,使之一起工作。
传统上,每个群集工具都配备有自己的配置软件,这种软件是为构成组合的群集工具的特定子系统和部件而定制编码的。然而,定制编码既耗时又昂贵。与定制编码相关的延迟和费用不仅会在起初的购买阶段,而且会在以新的子系统和/或部件更新群集工具时的每个更新周期影响使用者。随着时间的过去,需要维护群集工具的不同版本的配置软件程序,这对于群集工具的制造商同样对于用户来说都成为负担。对某些制造商,简直需要支持数百个不同版本的群集工具配置软件已经成为一个问题。
此处本发明人已经认识到,如果可以创建一个通用的配置工具,则群集工具的制造商和/或用户将能够以较少的时间延迟和费用来配置和支持群集工具。此外,此处本发明人已经认识到,也可以采用适当设计的配置工具来防止在给定的群集工具中使用未授权部件/子系统,可以基于授权的配置灵活度支持不同定价结构,可以用来支持群集工具开发中的努力以及/或者可用于仿真。本申请致力于这样一种改进的群集工具配置工具。
发明内容
根据本发明的一个方面,提供了通用配置工具(UCT),它允许群集工具的制造商和用户利用相同的软件配置不同群集工具。该通用配置工具有利地将制造商和用户从在安装和/或更新群集工具时不得不使用不同的/定制编码配置软件中解脱出来。
在另一个实施例中,这种改进的UCT支持不同级别的灵活性以适应不同的客户,使得制造商可有效设置提供给客户的配置灵活性的级别,甚至基于一个部件一个部件的。有利地提供了这种灵活性而没有损害采用单一软件程序来通用地配置不同群集工具的能力。
在另一个实施例中,这种改进的UCT为群集工具的制造商提供了一种防止未授权部件用于群集工具的方法。未授权部件的使用可导致不合格部件的使用,这会降级处理结果和/或损害群集工具。而且,这种改进的UCT还包括用于防止UCT自身未授权地用于除了UCT使用被授权用于的群集工具之外的群集工具上的机构。这防止了用户许可UCT的单一拷贝并防止在不同的群集工具上执行UCT。
在另一个实施例中,这种改进的UCT包括开发帮助机构,设计为便于新部件和/或性能的开发。在另一个实施例中,UCT给用户提供了利用不同部件仿真不同群集工具的无限制的能力,以允许用户在购买前研究(explore)不同的群集工具配置。
本发明的这些和其他特征将在下面的本发明的各个实施例的详细描述中,结合下面的附图做更详细的描述。
在附图中,通过实例,而不是通过限定示出了本发明,附图中相似的参考标号代表相似的元素,其中 图1示出了群集工具,代表典型的群集工具的高级的、简化逻辑表示。
图2示出了在本发明的一个实施例中的系统范围的配置文件和一个部件特定的配置文件。
图3A示出了在本发明的一个实施例中可如何生成系统范围的配置文件和部件特定的配置文件集的逻辑图。
图3B示出了在本发明的一个实施例中用户界面实例,群集工具的用户可采用通过该界面使用一个或多个选项或具有隐藏选项的部件。
图3C示出了用户界面实例,允许用户对处理模块输入与用户输入、密钥文件、模块选项定义文件以及隐藏选项文件相关的数据。
图4示出了在本发明的一个实施例中可如何创建密钥文件。
图5示出了在本发明的一个实施例中说明群集工具典型配置流程的流程图。
图6示出了在本发明的一个实施例中生成用于配置群集工具的运行时可执行对象的简化的流程图。
图7示出了在本发明的一个实施例中,利用面向对象方法生成用于配置群集工具的运行时可执行对象的流程图。
图8根据本发明的一个实施例示出了在上述组织之后的选项定义文件数据库的层级组织的逻辑图。
附录A在本发明的一个实施例中提供了群集工具的实例sysconfig.txt文件的列表。
附录B提供了在本发明的一个实施例中的实例处理模块的实例configoptions.txt文件的列表。
附录C提供了在本发明的一个实施例中的系统范围的配置文件(sysconfig.txt)的列表,表示与目标群集工具有关的高级配置细节。
附录D提供了在本发明的一个实施例中的一个实例群集工具的传递室的部件级配置文件(configoptions.txt)。
附录E提供了在本发明的一个实施例中为实例群集工具再生的选项定义文件TMCImage.cfg。
附录F提供了在本发明的一个实施例中实例群集工具的上述文件TMCImageTMResD3Port.cfg的列表。
附录G提供了在本发明的一个实施例中的定义文件TMCImageTMResD2Port.cfg。
附录H提供了在本发明的一个实施例中的用于处理模块的选项定义文件pm.cfg。
具体实施例方式 现在将参照其在附图中示出的一些实施例详细描述本发明。在以下描述中,阐述了许多具体细节,以提供对本发明的透彻理解。然而,很明显,对于本领域技术人员,没有某些或所有这些具体细节中也可以实施本发明。在其他情况下,没有详细描述众所周知的工序和/或结构,以避免不必要的使本发明不清楚。
下面描述了各种实施例,包括方法和技术。应该记住,本发明可能还覆盖了包括计算机可读介质的制品,该介质上存贮有用于执行发明技术的实施例的计算机可读指令。例如,计算机可读介质可包括用于存贮计算机可读代码的半导体、磁、光磁、光学或其他形式的计算机可读介质。而且,本发明还可覆盖用来实施本发明实施例的装置。这些装置包括专用的和/或可编程电路,以实现与本发明实施例相关的任务。这种装置的实例包括通用计算机和/或适当编程的专用计算装置,以及可包括计算机/计算装置和适合于与本发明实施例有关的各种任务的专用/可编程电路的结合。
为了易于论述,术语“部件”指的是群集工具中基本的或多部分组件。这样,部件可如气管一样简单或可如整个处理模块一样复杂。多部分部件(例如处理模块)可由其他多部分部件(例如真空系统、气体系统、电源系统,等)组成,其又可由其他多部分或原子部件组成。
如所述的,一个群集工具会在组成部件的数量上与另外的群集工具有所区别。这样,具有四个处理模块的群集工具将需要与具有三个处理模块的群集工具不同地进行配置。基于许多不同的方面(例如类型、性能、厂商、固件等),部件自身会随着群集工具的不同而不同。例如,一个真空泵可能与另一个真空泵不同,这是因为厂商(例如泵厂商A对泵厂商B)、类型(例如,低真空泵对涡轮泵)、性能(例如,泵容量的每分钟的不同立方英尺)、固件(例如,运行厂商固件版本2.0对1.7)的不同。因此,具有给定真空泵的群集工具可能需要与具有另一个真空泵的群集工具不同地进行配置。上述实例仅是示例性的,并不是全面的。本领域技术人员将很容易地认识到同样的考虑可类似地应用到群集工具的其他部件。
一般来说,每个群集工具由两种类型的文本文件进行定义,系统范围的配置文件和一组部件特定配置文件。此处在图2的实例中,系统范围的配置文件命名为“sysconfig.txt”以便于参考,部件特定配置文件命名为“configoptions.txt”。系统范围配置文件(如sysconfig.txt),正如其名字所暗示的,定义了整个群集工具的最高级别的配置参数。此处的附录A提供了一个实例群集工具的实例sysconfig.txt文件的列表。
通常每个群集工具都有一个sysconfig.txt文件,且系统范围配置文件定义了处理模块的数量和类型、传送模块的类型、群集工具控制软件等。提供了一个防篡改机构来防止对sysconfig.txt文件的未授权篡改。在一个实施例中,对sysconfig.txt文件计算检查和,以帮助检测随后的篡改,尽管也可以采用其他防篡改配置。
在一个实施例中,系统范围配置文件包含控制待配置的群集工具的主机的介质访问控制器(MAC)地址。sysconfig.txt文件中MAC地址的存在,使得当在不同的主机(其可能与不同于预期的群集工具的群集工具相关)上执行UCT时能够进行检测。这种特征可以防止用户将错误的配置文件应用到错误的群集工具上,并可以保护UCT制造商免受盗版。可选地或附加地,还可采用硬盘ID或者数字证书。而且,系统范围配置文件包含了配置文件的预期有效期,即,日期,超过该日期使用群集工具和/或目前系统范围配置文件不再被授权。MAC地址(和/或硬盘ID和/或数字证书)以及有效期构成保护配置的一部分,该保护配置被设计为用于强制遵守群集工具和/或UCT的许可条款。
对于每个模块,高级信息,例如模块类型(例如,多晶硅蚀刻或者金属蚀刻)、通信端口(例如,IP地址)、模块是否运行于开发模式、模块是否运行于仿真模式、模块是自动启动还是手动启动等。并提供了包含更多模块详细配置信息的文件的文件名。
部件特定配置文件(如configoptions.txt)包含部件(如处理模块(PM),传递模块(TM),或者群集工具控制软件)的更多详细的配置信息。此处附录B提供了一个实例处理模块的实例configoptions.txt文件的列表。
通常每个模块有一个configoptions.txt文件。与系统范围配置文件类似,部件特定配置文件也可配备有其自己的防篡改配置(arrangement),例如检查和(check-sum)。处理模块的部件特定配置文件中的更详细的配置信息可定义诸如其中主要部件(例如,真空泵系统、气体系统、RF电源系统、卡盘系统,等)的标识的信息。例如,对于真空泵系统,处理模块的configoptions.txt可标识厂商(例如,Alcatel)和类型(例如,低真空泵)。例如,对于气体系统,处理模块的configoptions.txt文件可标识类型(例如,增强的八条管线)、是否安装了分离的气体注射器、是否安装了数字质量流控制器,等。
图3A是根据本发明的一个实施例示出了可如何生成系统范围配置文件(sysconfig.txt)302和部件特定配置文件集(configoptions.txt)304的逻辑图。这些配置文件302和304生成自四个主要输入源用户输入306、密钥文件308、模块选项定义文件310、和隐藏的选项文件312。
用户输入文件306表示由用户(例如,负责安装和/或更新群集工具的客户服务工程师)提供的关于群集工具的适当配置的输入集,其包括任何和所有规范、选项、等。这些是为群集工具选择的选项,在群集工具变为可操作之前,该选项需要配置。
密钥文件308(或在本实例中“.tcf”文件)编码对该配置的限制。换言之,密钥文件308有助于配置的安全实施。由于UCT具有用于配置群集工具的所有可能的置换(permutation)的配置数据(该配置数据存储在UCT可存取的部件的数据库中),密钥文件308定义供目标工具使用的可配置的选项的范围。
一般地说,部件或属性可以是未保护的、保护的或隐藏的。例如,未保护的部件可由用户无限制地配置。例如,如果部件数据库包括六个不同涡轮泵并且在密钥文件中涡轮泵被定义为未保护的部件,则工具用户可采用UCT来配置六个涡轮泵中的任一个。另一方面,保护的部件带有关于配置的限制。使用在前的涡轮泵实例,如果群集工具和/或UCT的许可条款只允许工具用户配置具有两个特殊标识的涡轮泵的群集工具,则密钥文件308将包含把得到许可的配置限制到唯一的两个指定的涡轮泵的数据。当然,如果希望的话,也可以将配置限制到单个特定泵。部件或用于对其进行配置的选项可具有“隐藏”属性。实施隐藏属性以使得开发更容易,由于其允许授权用户以否则用户库的其他用户看不见的部件或配置选项来配置群集工具。在一个实例方案中,授权用户(例如,支持工程师或授权的客户)被提供具有隐藏属性的配置选项的标识。未这样授权的用户不知道该选项甚至存在,这是由于在一个实施例中具有隐藏属性的选项甚至不显示为配置可用的选择。通过提供能够使得制造商选择性地仅对特定客户揭示特定隐藏选项的存在(例如,为了开发的目的),隐藏的选项对于控制访问群集工具的软件和/或硬件中的“成熟中的”特征是有用的。
授权用户可通过提供部件标识而指定具有用于在用户输入306中进行配置的隐藏属性的一个或多个这些选项。隐藏选项由此参与开发,这是因为它们使得所选择的用户能够以用户库的其他用户不能用的新的或未测试的配置选项来测试群集工具。隐藏选项312表示具有特定用户被授权调用以进行配置的隐藏属性的选项的列表。
图3B是用户界面的实例,群集工具的用户可采用通过该界面使用具有隐藏属性的一个或多个选项或部件。在图3B的实例中,示出了当前用户被授权用其进行配置的具有隐藏属性的选项的列表。如果制造商想要准许用户访问具有隐藏属性的另一个选项,使得可采用另外的配置选项来配置该群集工具,则制造商可以传达(communicate)具有隐藏属性的选项的标识,并且用户可以将具有隐藏属性的选项的名称输入(例如,通过打字)到紧邻按钮“添加”的对话框中。如果输入的标识与具有隐藏属性的选项之一匹配,则用户可以用那个部件配置群集工具。
返回图3A,密钥文件308还可包含关于与待配置的群集工具相关的主机的标识(例如,MAC地址和/或硬盘ID和/或数字证书)的信息。主机的标识被嵌入到所生成的系统范围配置文件中,并且用来确保配置被应用到正确的群集工具。应该注意主机的MAC地址只表示可如何确定群集工具的标识的实例。除了上述硬盘ID和/或数字证书,也可以采用其他技术来标识特定群集工具(例如,使用从群集工具读取或检测的唯一识别数据)。
另外,密钥文件308还可包含上述有效期。有效期被嵌入到所生成的系统范围配置文件中以提供关于配置文件的预期的有效期的数据,即,日期,超出该日期使用群集工具和/或目前系统范围配置文件不再被授权。注意有效期通常应用于许可的选项;可能存在未受有效期影响的未授权选项。此外,可为不同的许可选项设置不同的有效期。由于密钥文件308封装了重要的限制信息,所以密钥文件308通常是加密的二进制文件,以防止获许可的人/工具用户进行可能的篡改。
模块选项定义文件310封装了可用于配置模块(例如处理模块、传递模块、大气处理模块、或用户界面)的不同配置选项。换言之,模块选项定义文件310表示可用于配置每个模块的选项的数据库,包括可用于配置每个模块中的组成部件的选项。响应于由用户在306中输入的配置选项、由密钥文件308在配置上设置的限制、以及隐藏选项312,这些定义的子集被并入到configoptions.txt。与密钥文件308类似,模块选项定义文件310通常被加密以防止获许可的人/工具用户进行可能的篡改。
配置应用程序根据上述四个输入源(例如,用户输入306、密钥文件308、模块选项定义文件310、以及隐藏选项文件312)创建了系统范围配置文件302和部件级配置文件集304。在一个实施例中,配置应用程序320位于群集工具上以使得能够使用所生成的数据文件来配置群集工具。图3C示出了一个实例用户界面,其用于允许用户输入(对于处理模块)与用户输入306、密钥文件308、模块选项定义文件310、以及隐藏选项文件312相关的数据。
图4根据本发明的一个实施例示出了图3的密钥文件308可如何被创建。如所述的,密钥文件308实施对配置选项的限制,以及防止配置软件的未授权的执行/盗版。密钥文件308生成自三个分离的数据源一组模块选项定义文件402、工具特定选项规范404、以及工具特定保护信息406。
模块选项定义文件402表示所有模块(例如,处理模块、传递模块、群集工具控制软件,等)的配置定义文件。因此,示出了处理模块选项定义文件402a、传递模块选项定义文件402b、以及群集工具控制软件选项定义文件402c。对于密钥文件308的创建特别感兴趣的是在模块选项定义文件402内受保护的选项,这是因为,根据定义,未受保护的选项不受限制。对于特定的群集工具,受保护的选项具有由密钥文件308定义的保护范围。存在一组模块选项定义文件402,其可用于配置所有群集工具。在添加新的配置选项以及去除旧的配置选项时,该组模块选项定义文件402被连续更新。
工具特定选项规范404可来自客户订单数据库404a或来自工厂指定输入404b。工具特定选项规范404指定所允许的用于特定工具的部件的配置选项或多个配置选项。例如,客户可购买选项以安装多达三个不同的涡轮泵模型。由客户购买的用于群集工具的工具特定选项规范则包括用于所有三个涡轮泵的配置选项。
在一个实施例中,采用SAP的客户订单软件以接受客户订单,客户订单指定客户有兴趣购买的群集工具的部件的选项。关于客户所期望的选项的信息可从客户订单软件获得,并且可被用作用于指定将被提供群集工具的部件的选项的输入。可选地或附加地,用于群集工具的选项规范可来自群集工具的制造商。在这种情况下,例如,可通过与群集工具的潜在购买者进行讨论而获得规范。又例如,可由设法更新客户的群集工具以解决特定问题的现场工程师输入该规范。
工具特定保护信息406提供用于实现防止所得到的配置软件的未授权的执行/盗版的信息。可见,工具特定保护信息406包括控制待配置的群集工具的主机的MAC地址(和/或硬盘ID和/或数字证书)。例如,可预先从客户获得该MAC地址(和/或硬盘ID和/或数字证书)。一旦该MAC地址(和/或硬盘ID和/或数字证书)包括在密钥文件308中,密钥文件308不能被用于对具有不同MAC地址(和/或硬盘ID和/或数字证书)的主机进行配置。同样地,缺少匹配MAC地址(和/或硬盘ID和/或数字证书)的密钥文件(其为配置所需要的文件)将不能用于配置给定的群集工具。
工具特定保护信息406进一步包括用于指定所得到的配置软件是否处于仿真模式的选项,在该模式中所有选项可用,但是仅用于仿真。也设置了用于去除或启用对所有受保护的选项的保护的标志。该“保护”标志提供了用于全局指定是否遵守保护(例如,在生产配置软件的情况下)或是否忽略保护(例如,当所得到的配置文件是为了群集工具制造商的内部使用而生产的且不需要保护时)的一种方法。所得到的配置软件的有效期和主机IP地址也可以设置在工具特定保护信息406中。在执行期间,针对当前的日期和所获得的主机IP地址检查这些字段以确保遵守许可条款。主机IP地址和/或MAC地址(和/或硬盘ID和/或数字证书)也有助于确保对预定的群集工具进行配置而不对任何其他群集工具进行配置。
在一个实施例中,采用安全应用程序420来处理该组模块选项定义文件402、特定工具选项规范404和工具特定保护信息406,以生成密钥文件308。在一个实施例中,尽管并不总需要安全应用程序的网络特征,但是安全应用程序420是基于网络的,以提供全球访问能力。
图5是示出了群集工具的典型配置流程的流程图。在步骤502中,从客户取得工具订单。然后在步骤504中可采用所购买的配置选项来生成密钥文件。密钥文件的生成已经在前面根据本发明的一个实施例中结合图4进行了论述。
一旦生成了密钥文件,就可将密钥文件安装在群集工具上(步骤506)并且与隐藏选项(507)一起用于配置群集工具(步骤508)。使用该密钥文件、模块选项定义文件、隐藏选项和用户输入配置选项来执行配置应用程序,导致系统范围配置文件和该组部件特定配置文件的创建。一般地说,每个群集工具由两种类型的文本文件定义,系统范围配置文件和一组部件特定配置文件。这些系统范围配置文件和该组部件特定配置文件的生成已经在根据本发明的一个实施例中结合图3进行了论述。
如果客户希望在所购买的配置选项的范围内改变一个或多个配置选项,则客户可以采用相同的密钥文件来重新配置修改的群集工具。该更新路径由箭头510示出。然而,如果客户希望通过选项或利用不同于已经购买的隐藏选项来修改群集工具,则路径512使得新密钥文件被生成以使客户能够重新配置修改的群集工具。在典型的情况下,新密钥文件的生成使得客户的重新配置能够在启动期间未实施保护时发生。
从上述中可以理解,本发明使得能够采用单组应用程序和一组模块选项定义文件来配置宽范围的群集工具,每个群集工具具有特定的配置选项。由此免去了定制编码和维护大量配置软件应用程序的需要。以上述方式使用密钥文件提供了灵活性和对于群集工具的高度控制和保护。提供了灵活性,因为群集工具客户能够自由重新执行配置应用程序以在已经购买的配置选项范围内采用不同的配置选项。通过使用仿真模式进一步提供了灵活性,该仿真模式的标志取消了设置于可配置性上的所有限制(由于定价结构或许可原因而施加该限制)以允许客户和/或用户以“虚拟”群集工具仿真配置和/或操作。使用开发模式获得类似的灵活性,开发模式可由全局标志或多个标志设定。
提供了高度控制,这是因为只有在加密的二进制文件中指定的选项可用于给定的群集工具客户进行配置。提供了保护,这是因为所得到的配置文件只能在具有预期的MAC地址和/或硬盘ID和/或数字证书和/或主机IP地址的群集工具上执行。
隐藏选项和选项的受保护的/未保护的标志的使用,还支持开发和仿真需要。密钥文件中的其他信息,例如有效期和/或其他支持许可实施的数据,也可以被提供。在一个实施例中,可通过使用隐藏选项将专有算法、部件、和其他资源保持机密,而不损害以下原则即,能够配置所有的群集工具而不必采用或维护配置可执行应用程序的多个版本。例如,如果打算将资源对于特定客户保持机密,则与该资源相关的选项被标记为隐藏标志,并且如果知道准确的名称,则客户只能激活该资源。在一个实施例中,可使用口令程序保护隐藏的资源或打算保持机密的资源的激活/配置,该口令仅由群集工具的制造商提供给授权客户。
应该记住,虽然灵活性成为用于生成系统范围配置文件(sysconfig.txt)和该组部件特定配置文件(sysconfig.txt)的算法的组成部分,但不是所有客户都需要高度灵活性可用。在一个实施例中,密钥文件(.tcf)自动生成自客户规范数据(其指定在所得到的群集工具中所需要的选项)。客户规范数据甚至可自动提取自销售或客户订单数据库,例如由诸如SAP(SAP.com)公司提供的数据库。在一个实施例中,客户规范可直接由客户指定为一个文件,以被用于生成密钥文件。
一旦获得了密钥文件(.tcf),则密钥文件就被安装在群集工具硬件上,这在系统范围配置文件(sysconfig.txt)和该组部件特定配置文件(configoptions.txt)的生成过程中限制该配置应用程序。如所述的,系统范围配置文件(sysconfig.txt)和该组部件特定配置文件(configoptions.txt)指定可配置在目标群集机器上的选项。在一个实施例中,如果隐藏的选项也与密钥文件一起设置到配置应用程序中,则这些授权的选项可包括前面所述的隐藏选项。
然后相对于选项定义文件(在一个实施方式中为.cfg文件)处理系统范围配置文件(sysconfig.txt)和该组部件特定配置文件(configoptions.txt),以生成运行时可执行对象的例化(instantiation)。选项定义文件的数据库表示可用于所有群集工具类型和部件的所有选项的储存库。通过相对于选项定义文件的数据库来处理系统范围配置文件(sysconfig.txt)和该组部件特定配置文件(configoptions.txt),只有已经被授权的选项产生用于配置群集工具部件硬件的运行时可执行对象。
以此方式,群集工具的制造商可采用相同的应用程序集(例如,被用于生成密钥文件、系统范围配置文件和该组部件特定配置文件、运行时可执行对象的例化等的那些)来配置具有任何部件选项规范的任何群集工具。此外,制造商不得不维护选项定义文件(.cfg文件)的唯一的单个数据库,该选项定义文件可被用作通用的、所有的(sysconfig.txt)以及为每个群集工具唯一生成的该组部件特定配置文件。
图6示出了在一个实施例中的用于生成用于配置群集工具的运行时可执行对象的简化的流程图。在步骤602中,部件选项规范(例如可从客户群集工具的购买订单获得)被采用以生成密钥文件(604)。生成的密钥文件然后被安装在目标群集工具上(606)。目标群集工具上的配置应用程序然后利用密钥文件以及可选地使用设置的隐藏选项(610)生成(608)系统范围配置文件和该组部件特定配置文件。
然后相对于选项定义文件的数据库(612)处理系统范围配置文件和该组部件特定配置文件,以生成运行时可执行对象的例化来配置群集工具。
在一个实施例中,使用适当的面向对象的方法并且采用适当的可编程环境(例如Smalltalk(www.smalltalk.org))来实现运行时可执行对象的生成。图7根据本发明的一个实施例示出了用于使用面向对象的方法生成运行时可执行对象以配置群集工具的流程图。在步骤702中,创建一个或多个内部数据结构以内部地表示来自系统范围配置文件和该组部件特定配置文件(704)的选择的/授权的选项。在步骤706中,创建一个或多个内部数据结构以内部地表示来自选项定义文件的数据库(708)的所有可能资源/部件/对象的选项信息。在步骤710中,将相对于表示所选择的/授权的选项的该组数据结构来处理表示所有可能的资源/部件/对象的选项信息的该组数据结构。步骤710表示从所得到的该组数据结构中去除与未选择/授权的资源/部件/对象有关的选项信息。在步骤712中,从剩余的选项定义中例化运行时可执行对象。
附录C(其包括页C1、C2、和C3)根据本发明一个实施例示出了系统范围配置文件(sysconfig.txt)的列表,表示关于目标群集工具的高级配置细节。部分1002表示元数据部分,其具有诸如控制群集工具的主机的以太网地址的数据、配置文件的有效期、保护标志、仿真标志、期满警告、等…前面已经论述了这些元数据。部分1002还指明群集工具平台是“#Domino3Ports”。在此文中后面论述该平台标识。
还示出了多个图像部分。与这些部分相关的可执行图像附属于主机的图像(主机图像)、四个处理模块的图像(PM1图像、PM2图像、PM3图像、PM4图像),以及传递模块图像(TMC图像)。
这些图像中的每一个都包括各种数据字段,例如IP地址、与图像相关的硬件是否存在、文件名(如果可应用的话,在此可找到群集工具控制软件)、通信端口、图像的标记、图像的定义文件(.cfg)、图像文件名、自启动标志(其在加电时自动重新配置)、用于执行图像的脚本(如果有的话)、仿真标志、开发标志、显示方案(其包括定位、颜色、图标、等)。
为了论述的目的,选择与传递模块相关的图像进行进一步论述。附录D(其包括两页D1、D2)示出了用于一个实例群集工具的传递室的部件级配置文件(configoptions.txt)。部分1102示出了用于传递室的元数据,包括IP地址(其与附录C的元数据部分1002中的IP地址相匹配)、有效期(其与附录C的元数据部分1002中示出的有效期相匹配)、模块标记“传递室”(其匹配于与附录C的图像TMC图像相关的标记)、以及平台“#Domino3Ports”(其与附录C的元数据部分1002中示出的平台相匹配)。
在附录D中,左栏示出了选择的/授权的选项、右栏示出了所有可用的选项(其中的一些可能未被授权/选择用于特定目标群集工具)。例如,用于端口PDO1的可用选择是如右手栏所示的#BrooksV4、#BrooksV3、#BrooksV2、#ErgoPD0、#ErgoPD0V 1、#Ergo200。左手栏显示可用的/选择的选项是#BrooksV4。其他选择的选项是自解释的(self-explanatory)。
注意,与附录C中的传递模块相关的图像表明传递室的选项定义文件名是“TMCImage.cfg”。为实例群集工具再生该选项定义文件TMCImage.cfg作为附录E(其包括三页,E1、E2、和E3)。该选项定义文件包含可能用于传递模块的所有选项的配置信息。为了易于维护和更新,配置信息细节可被进一步封装在其他模块化选项定义文件中。例如,由于实例群集工具的平台是#Domino3Ports(见附录C的元数据部分1002和附录D的1102),附录E的页E3表明可在具有名称“TMCImageTMResD3Port.cfg”的定义文件中获得额外的配置细节。
附录F根据一个实施例示出了实例群集工具的上述文件TMCImageTMResD3Port.cfg的列表。为了比较,也包括了定义文件TMCImageTMResD2Port.cfg(附录G),如果平台已经被选为#Domino(根据附录E的页E3),则将采用和/或参考该定义文件。同样为了比较的目的,也包括了处理模块的选项定义文件(pm.cfg)(附录H)作为实例,将采用和/或参考该选项定义文件以确定目标群集工具的处理模块的配置细节(基于如系统范围配置文件sysconfig.txt和处理模块(例如PM1、PM2、PM3、或PM4)的部件级配置文件configoptions.txt中显示的所选择的/授权的选项。
如所述的,选项定义文件的数据库包括所有可能部件的配置信息。为了易于参考,此处将采用术语“资源”来指可被配置在群集工具中的任何软件或硬件和/或与处理相关的特征。例如,单个硬件部件可具有能够被配置的不同参数。这些可配置的参数中的每一个都表示一种资源。
创建通用配置结构的挑战之一涉及需要存储用于所有可能的资源的配置数据以满足任何所选择的/授权的选项,同时使得使用所选择的选项文件(例如,系统范围配置文件和该组部件级配置文件)过滤数据库的过程(该过滤过程是为所选择的/授权的选项创建运行时可执行对象的过程的一部分)变得高效。由于软件/硬件资源始终在变化,并且对软件/硬件部件的更新导致新的定义被并入数据库并且老的定义被从中删除,所以使挑战变得更加复杂。
根据本发明的一个实施例,以分级的格式组织数据库中的资源定义以充分反映具有所有可能的授权的/选择的选项的一般群集工具的组织。例如,一个给定匹配系统的所有传感器的可应用的资源定义被认为由(在所有权意义上)该匹配系统所拥有。在该层级中的同一级,所有匹配系统的驱动器的可应用的资源被认为由匹配系统拥有。在下一个更高级别,所有匹配系统被认为由RF(射频)系统拥有。在该层级中的同一级,所有RF电极被认为由RF系统拥有。在下一个更高级,所有射频系统被认为由处理模块拥有。在该层级中的同一级,所有卡盘系统被认为由处理模块拥有。在下一个更高级别,所有处理模块被认为由群集工具拥有。在该层级中的同一级别,传递模块也被认为由群集工具所拥有。
注意,该资源中的某些可适当地与更高级别的资源相关联或由更高级别的资源所拥有,但也可以不与更高级别的资源相关联或由更高级别的资源所拥有。例如,RF系统可以由感应耦合的处理模块拥有,但可以不被微波处理模块所适当地拥有或与微波处理模块相关联。当在更高级别资源和层级中较低级别资源之间的数据库中创建链接时,应该考虑关于资源的该特性。
图8在上述的组织之后根据一个实施例示出了选项定义文件的数据库的层级组织的逻辑图。
在一个实施例中,通过引用在所有者的文本中包含“ownee”的配置定义的文件名,形成了所有权链接。在前面的附录中已经见过了该链接的实例,由此,传递室的选项定义文件名,TMCImage.cfg,将在附录C的系统范围配置文件sysconfig.txt的文本中见到。当需要更新关于“ownee”的细节时,与“ownee”资源相关的文件可由包含更新过的配置信息的相同命名的文件取代。当为群集工具提供新选项以用于选择时,关于新选项的配置细节可保存在数据库中的文件中,并且新选项文件的名称可设置在所有者的主体中作为用于可能的选择的另一个选项。当选项过时且被去除时,与选项相关的文件可被从数据库中去除,并且到它的任何链接可被从其所有者的主体中删除。
以此方式,鉴于变化的资源定义,数据库可被有效地维护。此外,层级组织使其变得高效以相对于选项定义文件的数据库来处理所选择的/授权的选项(如系统范围配置文件sysconfig.tx和部件级配置文件configoptions.txt中所示的)。在一个实施例中,该处理遵循树遍历算法,该算法从较高级别到层级中的最低级别钻取(drilldown)直到所有配置定义被解析。
例如,如果群集工具只有一个金属蚀刻处理模块而没有其他模块,则该金属蚀刻处理模块的配置定义被向下钻取,从系统范围配置文件sysconfig.tx和该金属蚀刻处理模块的部件级配置文件configoptions.txt开始直到所有配置定义被解析(即,向下钻取路径中的文件名引用都被解析)。一旦它们被解析了,该算法继续通过从系统范围配置文件sysconfig.tx和该传递模块的部件级配置文件configoptions.txt开始解析传递模块的配置定义。
注意,该树遍历算法将避免对不存在的多晶硅蚀刻处理模块的细节进行向下钻取。此外,当已经解析了所有文件引用时,树遍历算法将停止。当向下钻取给定的路径时,与树的分支相关的配置细节被旁路,其中树的分支与未选择的或未授权的选项相关。以此方式,可通过相对于在系统范围配置文件sysconfig.tx和部件级配置文件configoptions.txt中所显示的选择的/授权的选项来处理选项定义文件的层级数据库来快速获得配置文件。然后,采用这些配置细节以创建用于配置目标群集工具的运行时可执行对象。
虽然根据几个实施例描述了本发明,但是存在落入本发明范围内的改变、置换、和等同替换。还应该注意存在许多实施本发明的方法和装置的可选方法。因此,所附的权利要求应该被理解为包括所有这些落入本发明的实质精神和范围内的改变、置换、和等同替换。
附录A
A2
A3
附录B
B2
附录C
C2
C3
附录E
E2
E3
附录F
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
附录G
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G14
G15
附录H
H2
H3
H4
H5
H6
H7
H8
H9
H10
H11
H12
H13
H14
H15
H16
H17
H18
H19
H20
H21
H22
H23
H24
H25
H26
H27
H28 提供了一种配置等离子体群集工具的方法。该方法包括由选项规范生成密钥文件,该密钥文件封装了特别施加于等离子体群集工具的配置限制。该方法还包括利用密钥文件生成至少一个系统范围的配置文件以及至少一个模块级的配置文件。该方法还包括由选项定义文件数据库,以及至少一个系统范围的配置文件和至少一个部件级的配置文件,生成运行时可执行对象。此外,该方法包括利用该运行时可执行对象来配置等离子体群集工具。
权利要求
1. 一种用于配置等离子体群集工具的方法,包括
由选项规范生成密钥文件;
利用所述密钥文件生成至少一个系统范围的配置文件以及至少一个部件级配置文件,所述密钥文件封装了特别施加于所述等离子体群集工具的配置限制;
由选项定义文件的数据库、所述至少一个系统范围的配置文件以及所述至少一个部件级配置文件生成运行时可执行对象;以及
利用所述运行时可执行对象来配置所述等离子体群集工具。
2. 根据权利要求1所述的方法,其中,所述选项定义文件的数据库包括能够针对所述等离子体群集工具配置的所有可能资源的配置信息。
3. 根据权利要求1所述的方法,其中,所述密钥文件封装了限制所述等离子体群集工具的可配置性程度的数据。
5. 根据权利要求1所述的方法,其中,所述密钥文件包括与所述群集工具相关的第一介质访问控制器(MAC)地址,如果所述至少一个系统范围的配置文件和所述至少一个部件级配置文件被安装在不具有与所述第一MAC地址匹配的MAC地址的等离子体群集工具上,则禁止所述生成所述运行时可执行对象。
6. 根据权利要求1所述的方法,其中,可以被配置在所述选项定义文件的数据库中的资源的至少一个子集与保护的标志相关联。
7. 根据权利要求1所述的方法,其中,所述密钥文件被加密。
8. 根据权利要求1所述的方法进一步包括
提供隐藏选项文件,所述隐藏选项文件包括一组隐藏的配置选项,所述一组隐藏的配置选项通常是未被特别通知所述配置选项的用户所看不见的;以及
利用所述隐藏选项文件生成至少一个系统范围的配置文件以及所述至少一个部件级配置文件。
全文摘要
提供了一种配置等离子体群集工具的方法。该方法包括由选项规范生成密钥文件,该密钥文件封装了特别施加于等离子体群集工具的配置限制。该方法还包括利用密钥文件生成至少一个系统范围的配置文件以及至少一个模块级的配置文件。该方法还包括由选项定义文件数据库,以及至少一个系统范围的配置文件和至少一个部件级的配置文件,生成运行时可执行对象。此外,该方法包括利用该运行时可执行对象来配置等离子体群集工具。
文档编号G06F15/177GK101283360SQ200680006070
公开日2008年10月8日 申请日期2006年2月16日 优先权日2005年2月25日
发明者黄忠河, 范石全, 张震川 申请人:朗姆研究公司