掌桥专利:专业的专利平台
掌桥专利
首页

一种工艺配方的同步方法、装置及半导体工艺设备

文献发布时间:2024-04-18 20:01:23


一种工艺配方的同步方法、装置及半导体工艺设备

技术领域

本说明书中实施方式关于生产工艺技术领域,具体地说,涉及生产工艺技术领域下的工艺配方处理技术,更具体地说,涉及一种工艺配方的同步方法、装置及半导体工艺设备。

背景技术

工艺配方可以简单理解为用于生产产品的工艺步骤的记录。设备在生产该产品时,通常会严格按照工艺配方进行生产。并且,为了更好的监控设备中的工艺配方,通常会设置一监控设备,将所有工艺配方同步到监控设备进行监控。

然而,随着设备的不断使用,其中工艺配方的数量也在不定期的增加,从而使得设备在使用一段时间之后,其内部工艺配方的数量往往至少有数百个,此时,需要花费很长的时间才能完成工艺配方的同步。

发明内容

本说明书中多个实施方式提供一种工艺配方的同步方法、装置及半导体工艺设备,以实现快速同步工艺设备中的工艺配方的目的。

第一方面,本说明书的一个实施方式提供了一种工艺配方的同步方法,所述工艺配方的同步方法包括:

采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库;

所述采用多线程的异步任务处理方式包括:采用目标数量的子线程,并行执行目标任务,所述目标任务包括确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库。

在一些实施方式中,所述配方数据库用于存储工艺监控应用所展示的工艺配方,所述工艺监控应用用于监控所述目标工艺设备。

在一些实施方式中,所述采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库,包括:

获取所述目标工艺设备的目标配方数据,其中,所述目标配方数据包括:所述目标工艺设备中的工艺配方的标识信息;

将所述目标配方数据分配至目标数量的子线程,其中,不同的所述子线程被分配不同工艺配方的标识信息;

分别针对每一所述子线程,在所述子线程中遍历其被分配的标识信息,并在原配方数据未包含被遍历到的标识信息指示的工艺配方的情况下,将所述被遍历到的标识信息指示的工艺配方确定为所述目标工艺配方,并将所述目标工艺配方同步至所述配方数据库;其中,所述原配方数据包括:将目标工艺配方同步至所述配方数据库前,所述配方数据库中存储的工艺配方。

在一些实施方式中,所述标识信息包括:工艺配方的配方名称和修改时间。

在一些实施方式中,将所述目标工艺配方同步至所述配方数据库,包括:

基于所述目标工艺配方的标识信息,从所述目标工艺设备中获取所述目标工艺配方;

解析所述目标工艺配方的工艺步骤;

通过单次数据库操作,将所述目标工艺配方按照所述工艺步骤的顺序存储至所述配方数据库。

在一些实施方式中,所述解析所述目标工艺配方的工艺步骤,包括:

解析所述目标工艺配方,将相邻的步骤名称字段之间的数据确定为前一步骤名称字段对应的工艺步骤,并将所述目标工艺配方中最后一个步骤名称字段之后的数据确定为最后一个工艺步骤。

在一些实施方式中,所述单次数据库操作包括基于一条数据库指令触发的数据库插入操作。

在一些实施方式中,将所述目标配方数据分配至目标数量的子线程之前,所述方法还包括:

响应于用户的目标输入,调整所述目标数量。

第二方面,本说明书的一个实施方式提供了一种工艺配方的同步装置,用于同步上位机中的工艺配方,所述工艺配方的同步装置包括:处理器和存储器;

其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;

所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上述任一项所述的工艺配方的同步方法。

第三方面,本说明书的一个实施方式提供了一种工艺配方的同步装置,所述工艺配方的同步装置包括:

同步模块,用于采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库。

在一些实施方式中,所述配方数据库用于存储工艺监控应用所展示的工艺配方,所述工艺监控应用用于监控所述目标工艺设备。

在一些实施方式中,所述同步模块,包括:

获取单元,用于获取所述目标工艺设备的目标配方数据,其中,所述目标配方数据包括:所述目标工艺设备中的工艺配方的标识信息;

分配单元,用于将所述目标配方数据分配至目标数量的子线程,其中,不同的所述子线程被分配不同工艺配方的标识信息;

同步单元,用于分别针对每一所述子线程,在所述子线程中遍历其被分配的标识信息,并在原配方数据未包含被遍历到的标识信息指示的工艺配方的情况下,将所述被遍历到的标识信息指示的工艺配方确定为所述目标工艺配方,并将所述目标工艺配方同步至所述配方数据库;其中,所述原配方数据包括:将目标工艺配方同步至所述配方数据库前,所述配方数据库中存储的工艺配方。

在一些实施方式中,所述标识信息包括:工艺配方的配方名称和修改时间。

在一些实施方式中,所述同步单元,具体用于:

基于所述目标工艺配方的标识信息,从所述目标工艺设备中获取所述目标工艺配方;

解析所述目标工艺配方的工艺步骤;

通过单次数据库操作,将所述目标工艺配方按照所述工艺步骤的顺序存储至所述配方数据库。

在一些实施方式中,所述同步单元中的解析所述目标工艺配方的工艺步骤,包括:

解析所述目标工艺配方,将相邻的步骤名称字段之间的数据确定为前一步骤名称字段对应的工艺步骤,并将所述目标工艺配方中最后一个步骤名称字段之后的数据确定为最后一个工艺步骤。

在一些实施方式中,所述装置还包括:

响应模块,用于响应于用户的目标输入,调整所述目标数量。

第四方面,本说明书的一个实施方式提供了一种半导体工艺设备,包括:上位机和与所述上位机通信连接的工艺配方同步装置;

所述上位机包括:用于工艺生产的多个工艺配方;

所述工艺配方同步装置用于执行上述任一项所述的工艺配方的同步方法,以同步所述上位机中的工艺配方

第五方面,本说明书的一个实施方式提供了一种电子设备,包括处理器和存储器;

其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;

所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如第一方面任一项所述的工艺配方的同步方法。

第六方面,本说明书的一个实施方式提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如第一方面任一项所述的工艺配方的同步方法。

第七方面,本说明书的一个实施方式提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的工艺配方的同步方法的步骤。

本说明书提供的多个实施方式,采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将目标工艺配方同步至配方数据库。相比于采用单线程处理工艺配方的同步任务,本说明书中多个线程之间相互独立,同时处理工艺配方的同步任务,可以大幅的缩短同步工艺配方所需的时长,减少用户的等待时长。并且,仅针对尚未存储于配方数据库的目标工艺配方进行同步,避免配方数据库中出现重复的工艺配方。

附图说明

图1为本说明书的一个实施方式提供的传统工艺配方同步流程图;

图2为本说明书的一个实施方式提供的一种工艺配方的同步方法的可行应用场景架构图;

图3为本说明书的一个实施方式提供的一种工艺配方的同步方法的流程示意图;

图4为本说明书的一个实施方式提供的一种工艺配方的同步方法的实际应用流程图;

图5为本说明书的一个实施方式提供的一种工艺配方的同步装置的结构示意图;

图6为本说明书的一个实施方式提供的一种电子设备的结构示意图。

具体实施方式

除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。

除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

概述

如背景技术中所述,同步工艺配方是工艺生产过程中的重要步骤。如图1所示,在向AGC(先进群控系统,Advanced Group Controller System)同步上位机中的工艺配方场景中,通常会选择遍历上位机中的每一个工艺配方,然后判断循环是否结束。如果是则完成同步。如果否则继续判断当前遍历到的工艺配方是否已经存储于AGC。若是则不对当前遍历到的工艺配方进行同步,并继续遍历下一工艺配方。若否则获取当前遍历到的工艺配方,将该工艺配方的工艺步骤逐条存储至AGC,并继续遍历下一工艺配方。

在同步工艺配方的过程中,其同步的速率以及精确性显得尤为重要。为保证精确性,即使工艺配方的数量较多,也会在单线程内逐条读取每一个工艺配方,然后直接同步至配方数据库中。在现实生产环境中,面对数百个需要同步的工艺配方,往往需要几十分钟,甚至几个小时才能完成工艺配方的同步。为了缩短工艺配方的同步时长,发明人经过研究发现,可以采用多条线程,同时执行工艺配方的同步任务,这样,将成倍的缩短同步时长。

基于上述构思,下面将对本说明书实施方式提供的工艺配方的同步方法进行示例性描述。

示例性场景

参考图2,图2示出了一种工艺配方的同步方法的可行应用场景,在该应用场景下,上位机201相当于本说明书中的目标工艺设备,设备监控软件202的存储其所显示的工艺配方的数据库相当于本说明书中的配方数据库。具体的,该应用场景包括:工厂自动化软件控制模块203,其为工厂端控制软件,也叫EAP,在自动化生产制造中负责任务的下发及指令交互。工厂自动化通信模块204,用于与工厂自动化软件控制模块203交互,接收工厂自动化软件控制模块203的指令,并反馈任务及机台状态。上位机201,负责整机控制,接收用户及工厂自动化通信模块204下达的任务,并进行任务分解,协调各个任务的高效执行。可编程逻辑控制器205,其属于通道控制模块,主要负责对工艺模块控制器206与传输模块控制器207的控制与数据交互。工艺模块控制器206,与硬件交互,负责各个Tank或腔室的工艺执行;传输模块控制器207,与硬件交互,负责FOUP、Wafer在机台中的传输动作执行。

其中,上位机201内部设置有上位机控制软件2011,该上位机控制软件可划分为GUI(图形化交互接口,Graphic User Interface)、Coordinator(协调适配器)、Scheduler(调度计算器)三个部分。其中:GUI用于提供机台运行状态,并提供用户操作接口。Scheduler用于根据Coordinator输入机台信息,计算任务优化执行序列,保障机台产能。Coordinator用于接收并执行从GUI、工厂自动化通信模块204下发的任务,协调任务运行;与Scheduler交互,接收从Scheduler输出的动作,并最终控制工艺模块控制器206与传输模块控制器207完成任务

设备监控软件202内部划分为GUI、InterFace service(接口服务)、DataBase(数据库及数据服务模块)三个部分。其中GUI,用于提供机台运行状态,并提供用户操作接口。InterFace service,用于通过指令或者数据库查询修改等操作负责给图形界面提供必要的数据展示服务。DataBase,主要用来存储监控软件所需的机台相关的数据。

示例性方法

以应用于图2所示的应用场景下向AGC同步上位机中的工艺配方为例,本说明书实施例提供了一种工艺配方的同步方法,如图3所示,该工艺配方的同步方法包括:

S301:采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库。

其中,目标工艺设备中存储有工艺生产/制造所需的多个工艺配方。对于该多个工艺配方的配方内容和其在目标工艺设备中的存储方式,本说明书不做限定,其可以是任意的配方内容以及采用任意方式存储至目标工艺设备。例如,该多个工艺配方可以为相关人员在目标工艺设备中输入的新产品的工艺配方、对原工艺配方改良后的工艺配方等。配方数据库为同步目标工艺设备中的工艺配方的目的位置。即,需要将目标工艺设备中的,尚未存储于配方数据库的工艺配方存储至配方数据库,使得配方数据库中的工艺配方与目标工艺设备中的工艺配方,在数量以及数据内容方面均保持一致。因此,配方数据库并非目标工艺设备的存储工艺配方的数据库。可以理解的是,目标工艺设备和配方数据库作为同步的双方,在不同场景下分别表示不同的设备。本说明书对应用场景并不限定,其包括但不限于图2所示应用场景,只要是将某一设备中的工艺配方同步到另一设备的应用场景均属于本说明书的保护范畴。

多线程的异步任务处理,可以理解为多个线程并发执行任务,且线程之间互不干扰。这样,将一总任务进行分割,然后将分割后的各子任务分别交由不同的线程进行异步任务处理,各子任务就能同时处理,从而大大缩短总任务的执行或处理时间。对于线程数量这里不做限定,其可以为两个、三个、甚至更多。具体的,将目标工艺设备中的工艺配方分成多份,从而同步目标工艺设备中的工艺配方的任务,可以分割成同步每一份工艺配方的多个子任务。然后将每一子任务交由不同的子线程进行任务处理,即可选地,所述采用多线程的异步任务处理方式包括:采用目标数量的子线程,并行执行目标任务,所述目标任务包括确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库。

可以理解的是,将目标工艺设备中的工艺配方同步至配方数据库的同步操作,可以由用户触发或者自动触发。例如,用户通过按压某一实体按键或者点击某一应用程序中的控件,从而触发上述步骤S301。

在本实施方式中,采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将目标工艺配方同步至配方数据库。相比于采用单线程处理工艺配方的同步任务,本说明书中多个线程之间相互独立,同时处理工艺配方的同步任务,可以大幅的缩短同步工艺配方所需的时长,减少用户的等待时长。并且,仅针对尚未存储于配方数据库的目标工艺配方进行同步,避免配方数据库中出现重复的工艺配方。

在一些实施方式中,所述配方数据库用于存储工艺监控应用所展示的工艺配方,所述工艺监控应用用于监控所述目标工艺设备。

应当说明的是,在需要采用工艺监控应用对目标工艺设备进行监控的场景下,监控双方的工艺配方需要严格保持一致。例如,目标工艺设备为上位机,工艺监控应用为AGC。如果AGC中显示的配方数据与上位机的配方数据实际不符,将对工艺工程师造成很大的困境与误导,甚至是决策性失误。一旦在错误的配方基础上进行修改,将会造成较大的损失。

在本实施方式中,通过将目标工艺设备中的工艺配方同步至工艺监控应用,可以在工艺监控应用中实现对目标工艺设备中工艺配方的监控,便于相关人员基于工艺配方进行相关处理。

在一些实施方式中,所述采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将所述目标工艺配方同步至所述配方数据库,包括:

获取所述目标工艺设备的目标配方数据,其中,所述目标配方数据包括:所述目标工艺设备中的工艺配方的标识信息;

将所述目标配方数据分配至目标数量的子线程,其中,不同的所述子线程被分配不同工艺配方的标识信息;

分别针对每一所述子线程,在所述子线程中遍历其被分配的标识信息,并在原配方数据未包含被遍历到的标识信息指示的工艺配方的情况下,将所述被遍历到的标识信息指示的工艺配方确定为所述目标工艺配方,并将所述目标工艺配方同步至所述配方数据库;其中,所述原配方数据包括:将目标工艺配方同步至所述配方数据库前,所述配方数据库中存储的工艺配方。

应当说明的是,在判断两个工艺配方是否相同或者是否为同一工艺配方时,可以使用工艺配方中的所有工艺步骤进行比较,若两个工艺配方的所有工艺步骤均相同,则两个工艺配方相同或者为同一工艺配方。但是由于工艺配方的工艺步骤较多,使用前述这种判断方式,需要花费较长的时间才能确定判断结果。因此,本说明书中通过比较工艺配方的标识信息,判断两个工艺配方是否相同。其中,工艺配方的标识信息可以视为工艺配方的唯一标识,标识信息相同,可以视为工艺配方相同,否则视为工艺配方不同。其中,标识信息可以是数字、字母、特殊符号或者前者的组合。例如工艺配方的标识信息为针对工艺配方设置的唯一ID,但不限于此。在确定判断两个工艺配方是否相同的判断方式之后,利用该判断方式将被遍历到的标识信息分别与原配方数据中每一工艺配方的标识信息进行比较,从而判断出原配方数据中是否存在被遍历到的标识信息指示的工艺配方。若存在,则将该被遍历到的标识信息指示的工艺配方确定为目标工艺配方。

一些实施方式中,目标配方数据包括目标工艺设备中所有工艺配方的标识信息。在向子线程分配目标配方数据时,可以基于分配策略将目标工艺设备中所有工艺配方的标识信息分配给不同的子线程,由不同的子线程分担不同工艺配方的同步任务。其中,分配策略包括但不限于平均分配策略。每一子线程执行其被分配的标识信息指示的工艺配方的同步任务,且执行步骤相同,区别在于各子线程被分配的标识信息不同。为避免赘述,这里仅以一个子线程为例,对子线程执行同步任务的过程进行说明。假设子线程A被分配了m个工艺配方的标识信息,其通过遍历的方式依次访问每一标识信息,对于访问到的标识信息执行相同的目标处理,直至遍历完m个工艺配方的标识信息为止。该目标处理包括:判断原配方数据中是否存在某一工艺配方的标识信息与当前访问或遍历到的标识信息相同。若存在,则遍历下一标识信息。若不存在,则将当前访问或遍历到的标识信息指示的工艺配方存储至配方数据库。

一些实施方式中,每一子线程包含一处理函数,该处理函数基于传递而来的参数执行同步任务。其中,将所述目标配方数据分配至目标数量的子线程,可以理解为,针对每一子线程分配不同工艺配方的标识信息,然后将该标识信息传递至该子线程。同步任务包括:通过遍历的方式依次访问每一标识信息,对于访问到的标识信息执行上述目标处理,直至遍历完标识信息为止。

在本实施方式中,通过比较工艺配方的标识信息,判断两个工艺配方是否相同。从而可以快速判断出原配方数据中是否存在被遍历到的标识信息指示的工艺配方,进一步缩短了同步时长。具体地,在本实施方式中,若两个工艺配方的标识信息相同,则认定这两个工艺配方相同,无需对两个工艺配方的具体内容进行逐一比较,减少了在判断两个工艺配方是否相同时所需比较的数据量,从而缩短了比较工艺配方是否相同的时长,进而缩短了整个同步时长。例如,假设工艺配方1的标识信息为标识A,工艺配方2的标识信息为标识B,工艺配方1包含100条信息,工艺配方2包含100条信息,则在本实施方式中,只需要比较标识A是否与标识B相同即可判定工艺配方1与工艺配方2是否相同,而无需逐一将工艺配方1的100条信息与工艺配方2的100条信息比较,大大减少了比较过程中所需处理的数据量。

在一些实施方式中,所述标识信息包括:工艺配方的配方名称和修改时间。

应当说明的是,配方名称即为工艺配方的名称,修改时间为修改工艺配方时的时间。一些实施方式中,配方名称可以与按照工艺配方所能生产出的产品相关。具有不同配方名称的工艺配方为针对不同产品设计工艺配方。因此,配方名称在一定程度上可以视为区别于不同工艺配方的标识信息。然而,在针对同一产品或工艺配方进行优化升级时,需要修改工艺配方,此时,配方名称虽然并未改变,但工艺配方的工艺步骤已经改变。配方名称将不能再视为区别于不同工艺配方的标识信息。由于每次修改工艺配方都会记录相应的修改时间。因此可以将配方名称和修改时间作为一个整体,视为工艺配方的标识信息。

在本实施方式中,将配方名称和修改时间作为一个整体,视为工艺配方的标识信息,无需针对工艺配方额外设置标识信息,简单方便。

在一些实施方式中,将所述目标工艺配方同步至所述配方数据库,包括:

基于所述目标工艺配方的标识信息,从所述目标工艺设备中获取所述目标工艺配方;

解析所述目标工艺配方的工艺步骤;

通过单次数据库操作,将所述目标工艺配方按照所述工艺步骤的顺序存储至所述配方数据库。

应当说明的是,标识信息为用于区别不同工艺配方的标识,因此,通过标识信息可以在目标工艺设备中准确找到相应的工艺配方。可以理解的是,工艺配方记录有多个工艺步骤,本实施方式中,在解析工艺步骤之后,利用单次数据库操作,将同一工艺配方的所有工艺步骤一次性的存储至配方数据库。

所述单次数据库操作可以是指只需对数据库执行一次数据库操作,可选地,所述单次数据库操作包括基于一条数据库指令触发的数据库插入操作。

在本实施方式中,可以减少访问或操作配方数据库的次数,避免因为频繁的操作对配方数据库造成过大的压力。在提升配方数据库的存储性能的同时,可以进一步缩短工艺配方的同步时长。

在一些实施方式中,所述解析所述目标工艺配方的工艺步骤,包括:

解析所述目标工艺配方,将相邻的步骤名称字段之间的数据确定为前一步骤名称字段对应的工艺步骤,并将所述目标工艺配方中最后一个步骤名称字段之后的数据确定为最后一个工艺步骤。

应当说明的是,在工艺配方中每一工艺步骤包括多个字段以及对应的字段值,其中,工艺步骤中的首个字段为步骤名称字段,其字段值为工艺步骤的步骤名称。因此,可以通过识别步骤名称字段,确定每一工艺步骤的起始位置和终止位置。例如,工艺步骤中的步骤名称字段为stepName,在解析工艺配方过程中,将第一个stepName作为起始位置。当解析到第二个stepName时,将两个stepName之间的数据确定为第一个stepName的工艺步骤,并将第二个stepName作为新的起始位置。当解析到第三个stepName时,将第二个和第三个stepName之间的数据确定为第二个stepName的工艺步骤,并将第三个stepName作为新的起始位置,以此类推,可以得到每一工艺步骤,且可以确定各工艺步骤之间的顺序

在本实施方式中,利用步骤名称字段可以准确解析出工艺配方中的每一工艺步骤,避免将错误的工艺配方同步到配方数据库。

为避免子线程的线程数量过多,导致对设备上其它任务造成影响;或者,避免子线程的线程数量过少,导致同步时长较长,在一些实施方法中,将所述目标配方数据分配至目标数量的子线程之前,该方法还包括:

响应于用户的目标输入,调整所述目标数量。

应当说明的是,子线程的线程数量过多,其将占用较多的硬件资源,例如内存资源、处理器资源等。其它需要使用硬件资源的任务将可能受到影响,并且子线程的线程数量越大,其它需要使用硬件资源的任务将越有可能受到影响。反之,子线程的线程数量越小,其它需要使用硬件资源的任务将越不可能受到影响。但子线程的数量越小,同步时长将越长。因此,需要将子线程的数量设置为一合理数值。由于不同设备的硬件资源的情况以及配方情况不尽相同,相应的合理数值也不尽相同。所以,需要提供一种灵活的方式,对子线程的数量进行调整。一些实施方式中,可以提供一用户界面,在用户界面中显示以输入框,用户可以在输入框中输入具体的数值,从而将子线程的目标数量调整为用户输入的具体数值。另一些实施方式中,还可以在用户界面中设置多个表示不同数值的控件,用户点击相应控件之后,会将目标数量调整为相应控件表示的数值。

一些实施方式中,可以预先进行试验确定目标数量的合理数值。例如,为保障AGC后台服务的稳定运行,同步工艺配方时不影响系统其余功能及服务正常运转。采用线程数目逐个增加的方式来观察服务器处理运行速率。最终发现:一个功能最多20个子线程时达到服务器内存消耗及中央处理器使用率80%,创建更多的子线程会使服务器处理能力降低,运行速度变慢,综合考虑最大线程任务数不超过20为最佳,即目标数量可以为20。

在本实施方式中,可以灵活设置子线程的数量,避免子线程的线程数量过多,导致对设备上其它任务造成影响;或者,避免子线程的线程数量过少,导致同步时长较长。

下面以具体的实施方式对本说明书实施方式提供的工艺配方的同步方法的可行执行过程进行示例性描述。

在一个可行的实施方式中,以将图2中上位机的工艺配方同步至AGC为例,参考图4,该工艺配方的同步可以包括:

S401:获取上位机中各工艺配方的标识信息,本实施方式中将配方名称和修改时间作为一个整体,视为标识信息。

S402:获取AGC中原工艺配方的标识信息。其中,该原工艺配方是指执行本步骤之前,AGC中的工艺配方。

S403:基于最大线程数量,将上位机中各工艺配方的标识信息分成N份,其中,N即为最大线程数量。这里,可以预先设置一配置文件,并可在该配置文件中预先设置N的取值,从而实现对最大线程数量的配置,例如当需要限定最大线程数量为5时,可以在配置文件中将N的取值设定为5即可。因此,N可以根据用户需求自由配置。例如,在线程数量为20时,设备的内存消耗以及中央处理器使用了达到80%,则N可以设置为20。并且,可以采用平均分配的方式分成N份。例如,上位机中工艺配方的数量为100,则每份标识信息包括:5个工艺配方的标识信息。

S404:开辟N个子线程,将N份标识信息分配给各子线程,各子线程采用异步任务处理的方式,分别基于各自的标识信息进行工艺配方的同步。其中,各子线程内的处理过程相同,均为S405~S413的过程,区别在于各自使用的标识信息不同。这里仅以一个子线程的处理过程为例对S405~S413进行说明。

S405:子线程获取被分配的标识信息之后,循环遍历其同步任务内的每一标识信息。

S406:判断循环是否结束。若是,则执行步骤S407。若否,则执行步骤S408。

S407:同步任务已经完成,则同步完毕。

S408:判断当前遍历到的标识信息是否存在于原配方数据中,即当前遍历到的标识信息指示的工艺配方是否已存在于AGC中。若是则执行步骤S409。若否,则执行步骤S410。具体的,用步骤S402得到的AGC中的原工艺配方的配方名称及修改时间与当前遍历到的该配方名称与修改时间进行比较,判断AGC记录的工艺配方是否与上位机传递的工艺配方一致。

S409:不进行同步,继续执行步骤S405,遍历下一标识信息。

S410:基于当前遍历到的标识信息,从上位机获取对应的目标工艺配方。

S411:解析目标工艺配方中的每一工艺步骤,并将解析的工艺步骤存储于缓存中。具体的,可以采用上述实施方式中基于工艺步骤名称字段解析工艺步骤,这里不再赘述。

S412:判断目标工艺配方中的工艺步骤是否已解析完毕并存至缓存。若否则继续执行步骤S411,若是则执行步骤S413。

S413:将所有工艺步骤批量存储至配方数据库,仅执行单次数据库操作,保持所有工艺步骤。该配方数据库即为AGC的用于存储所显示的工艺配方的数据库。

在本实施方式中,通过将同步工艺配方的任务进行分割,进而交由多线程异步处理。多线程异步处理的优势是同时运行同步处理任务,线程与线程之间互不干涉,由于是同时处理,因此处理时间大大的缩减。以工艺步骤为单位进行批量数据库操作来实现工艺配方的存储,可以尽可能的减少数据库操作,避免频繁的操作数据库造成数据库压力大,进而导致自动关闭,数据丢失的风险。另外,本实施方式中的算法通用性较强,不仅可以运用到设备硬件、设备上位机软件、还可以运用到其余监控设备软件中去,凡涉及到同步功能的所有模块均可以嵌入使用,极大的提高了后续的工作效率,降低了研发成本。

示例性装置

本说明书的一些实施方式还提供了一种工艺配方的同步装置,用于同步上位机中的工艺配方,包括:处理器和存储器;

其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;

所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上述任一实施方式所述的工艺配方的同步方法。

本说明书的另一个实施方式还提供了另一种工艺配方的同步装置,如图5所示,该工艺配方的同步装置包括:

同步模块51,用于采用多线程的异步任务处理方式,确定目标工艺设备中未存储于配方数据库的目标工艺配方,并将目标工艺配方同步至配方数据库。

在一些实施方式中,配方数据库用于存储工艺监控应用所展示的工艺配方,工艺监控应用用于监控目标工艺设备。

在一些实施方式中,同步模块51,包括:

获取单元,用于获取目标工艺设备的目标配方数据,其中,目标配方数据包括:目标工艺设备中的工艺配方的标识信息;

分配单元,用于将目标配方数据分配至目标数量的子线程,其中,不同的子线程被分配不同工艺配方的标识信息;

同步单元,用于分别针对每一子线程,在子线程中遍历其被分配的标识信息,并在原配方数据未包含被遍历到的标识信息指示的工艺配方的情况下,将被遍历到的标识信息指示的工艺配方确定为目标工艺配方,并将目标工艺配方同步至配方数据库;其中,原配方数据包括:将目标工艺配方同步至配方数据库前,配方数据库中存储的工艺配方。

在一些实施方式中,标识信息包括:工艺配方的配方名称和修改时间。

在一些实施方式中,同步单元,具体用于:

基于目标工艺配方的标识信息,从目标工艺设备中获取目标工艺配方;

解析目标工艺配方的工艺步骤;

通过单次数据库操作,将目标工艺配方按照工艺步骤的顺序存储至配方数据库。

在一些实施方式中,同步单元中的解析目标工艺配方的工艺步骤,包括:

解析目标工艺配方,将相邻的步骤名称字段之间的数据确定为前一步骤名称字段对应的工艺步骤,并将目标工艺配方中最后一个步骤名称字段之后的数据确定为最后一个工艺步骤。

在一些实施方式中,该装置还包括:

响应模块,用于响应于用户的目标输入,调整目标数量。

本说明书实施例提供的工艺配方的同步装置,与本说明书上述实施例所提供的工艺配方的同步方法属于同一发明构思。未在本实施例中详尽描述的技术细节,可参见本说明书上述实施例提供的工艺配方的同步方法的具体处理内容,此处不再加以赘述。

示例性设备

本申请另一实施例还提出一种半导体工艺设备,包括:上位机和与所述上位机通信连接的工艺配方同步装置;

所述上位机包括:用于工艺生产的多个工艺配方;

所述工艺配方同步装置用于执行上述任一实施方式所述的工艺配方的同步方法,以同步所述上位机中的工艺配方。

本申请另一实施例还提出一种电子设备,参见图6所示,本说明书的一个示例性实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本说明书上述实施例中描述的根据本说明书各种实施例的工艺配方的同步方法中的步骤。

该电子设备的内部结构可以如图6所示,该电子设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以本说明书上述实施例中描述的根据本说明书各种实施例的工艺配方的同步方法中的步骤。

处理器可包括主处理器,还可包括基带芯片、调制解调器等。

存储器中保存有执行本发明技术方案的计算机程序,还可以保存有操作系统和其他关键业务。具体地,计算机程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。

处理器可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

输入设备可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。

输出设备可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。

通信接口可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。

处理器执行存储器中所存放的计算机程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种工艺配方的同步方法的各个步骤。

该电子设备还可以包括显示组件和语音组件,该显示组件可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示组件上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本说明书实施例提供的工艺配方的同步方法还可以是计算机程序产品,其包括计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的工艺配方的同步方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的工艺配方的同步方法中的步骤。

可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本说明书的范围。

可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。

可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。

除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。

在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本说明书的具体实施方式,但本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本说明书的保护范围应所述以权利要求的保护范围为准。

技术分类

06120116551071