APP下载

全自动晶圆划片机日志记录及查看功能

2018-08-20刘婷婷

山东工业技术 2018年12期

摘 要:本文以全自动晶圆划片机设备为基础,重点讲述日志记录模块。通过收集、分析用户需求确定日志记录内容,日志查看程序具备的功能。结合设备实际情况,使用VisualC++6.0,Microsoft Office Access数据库进行程序开发。

关键词:日志记录;Microsoft Office Access;全自动划片机

DOI:10.16640/j.cnki.37-1222/t.2018.12.044

全自动晶圆划片机是集光机电计算机一体化的复杂设备,包括晶圆从上片、对准、划切、清洗、甩干到下片的完全自动化。其工序是将整片晶圆通过划切分割成单个芯粒的工艺过程。承载了包括晶圆减薄以及材料制备、光刻等前几百道工序的材料和制造成本,一旦出现问题,整个投入就会前功尽弃。业内只要提到划片机首要关心的问题就是其可靠性如何。但毕竟系统是人开发的,即使经过再多次测试,也无法预料运行过程会出现什么想不到的问题。此动机之下,记录设备状态达到对设备实时监控是系统设计最为重要的任务。分析记录内容,可快速、准确定位故障原因,提高设备可维护性从而提高系统可靠性;提取并分析设备中工艺数据,可提高设备使用率及晶圆划切工艺。因此日志记录功能于全自动晶圆划片机设备是至关重要的。

1 全自动晶圆划片机日志记录内容分析

1.1 设备故障记录

全自动晶圆划切设备由上料、自动对准、测高、划切、清洗、下料六个重要流程组成,六个流程中设备都有出现故障的可能,故障发生后都会影响后续流程的可靠性。以测高故障为例,测高故障发生后操作者忽略当前故障继续切割,导致切割晶圆深度达不到要求,若不记录测高故障及故障处理方式,很难发现是由测高故障导致的晶圆切割深度错误,用户从而认为设备可靠性不高。记录故障内容从设计角度出发,协助分析故障原因可改进设备硬件可靠性、软件算法可靠性。给用户提供部分可恢复故障处理方式的方法,减少设备故障时间,提高设备可靠性。因此记录设备故障种类、时间、故障处理方式,是日志记录的一项重要内容。

1.2 设备操作记录

设备运行过程中,记录设备操作情况,如开机、关机时间;当前使用文件名、文件修改内容。记录功能模块启动和结束信息,如设备初始化开始、结束时间。日志记录协助设计者实时监控系统,设备产出不合格产品后,据记录定位错误原因,如系统Bug、用户操作失误等。

快速、准确定位Bug是日志记录的一项重要任务。操作失误导致错误以及如何避免是设计者和使用都关心的问题。

1.3 设备工艺内容记录

由于晶圆划切这一道工序的重要性,决定了芯片加工技术水平的提高不仅依靠设备可靠性,还与划切工艺息息相关。节约生产成本、提高芯片生产线产能是划切工艺的重要任务。记录工艺数据协助工艺人员从设备上提取重要数据进行工艺数据分析和研究必不可少。

2 全自动晶圆划片机日志查看程序功能分析

2.1 日志显示功能

一个完整的制造设备系统中日志查看功能必不可少。日志可以记录到数据库、文件等地方,记录内容较多时,按一定格式写入。因此,日志查看程序将日志从记录文件中读取,并按规定格式解析后显示

2.2 日志拷出功能

由于生产制造成本的提高,工艺人员在进行工艺数据分析时不能一直占用设备,须将数据从设备上批量拷贝走再进行分析,程序须具备拷出日志到U盘功能。拷出数据须可以在客户使用的主流数据分析软件中使用。

2.3 日志搜索功能

设备中存储大量日志记录,设计者、使用者感兴趣角度不同,对几天或数天前记录进行分析要查看大量内容,加入关键字搜索功能,如维修人员搜索“清洗台报警”关键字,程序自动将搜索结果按日期排列显示,协助维修人员快速了解故障原因,解决维修时间,并可将搜索结果导出方便统计设备故障率。

3 实现方法

根据上述分析,由于Microsoft Office Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。在统计分析上万条、十几万条记录及以上的数据时速度快且操作方便,且Visual C++ 6.0使用Microsoft Office Access来开发软件较容易,因此使用Microsoft Office Access来做日志记录软件开发。

Visual C++ 6.0下如何使用Microsoft Office Access数据库在很多资料中都有介绍,这里就不再赘述,重点介绍如何从数据库中读取大量数据而不导致设备死机。

设备实际使用过程,Microsoft Office Access数据库中会保存大量记录,若用户使用日志查看程序时一次大量读取全部记录,程序占用大量内存导致计算机死机。因此在实际使用过程中需要分批次读取记录。定义每次读取记录条数为常量PageSize,数据库中记录总条数为pRecordCount,分批读取总次数PageCnt = pRecordCount/PageSize。具体实施步骤如下:

3.1 获取数据库记录总条数

在日志写入时加入序号一列,用于标记当前写入记录位于数据库第几条,方便程序使用SQL语句获取记录总条数:sql.Format("SELECT * FROM [%s] ORDER BY [序号]",strTable);

m_pRecordset = OpenRecordset(sql);

if (!m_pRecordset->adoEOF)

{

m_pRecordset->MoveLast();

strNO=(LPCSTR)(_bstr_t)m_pRecordset->GetCollect("序号");

*pRecordCount = atoi(strNO);

}

3.2 获取一页数据库

根据参数PageSize、PageCnt确定获取一页数据时SQL语句读取条数范围:sql.Format("SELECT TOP %d * FROM [%s] WHERE [序号] BETWEEN %d AND %d ORDER BY [序号] DESC", PageSize, strTable, PageSize * (PageCnt - 1) + 1, PageSize *PageCnt)。

3.3 获取全部数据库

程序初始时,须显示一页最新记录,此时PageCount是计算得到的值,之后显示页面下拉时,对PageCount进行-1操作,向上翻页PageCount进行+1操作。如果计算机内存足够也可在程序启动时读取一页记录,后开启线程读取余下记录:

for (; PageCount > 0;PageCount-- )

{

CArray sArrayLogData;

ReadDataFromAccess(PageSize,PageCount,TableName,sArrayLogData);

}

4 總结

使用Microsoft Office Access数据库进行日志程序存储查看数据软件开发,简单易学,开发后的日志程序记录了大量数据,实时监控设备运行状态,有效提高设备可维护性,对设备可靠性、生产效率的提高起至关重要的作用。

参考文献:

[1]孙鑫.VC++深入解析[M].北京:电子工业出版社,2012.

作者简介:刘婷婷(1982-),女,陕西榆林人,工程师,主要从事划片机晶圆划切工艺及设备软件设计工作。