KR101685780B1 - 테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링 - Google Patents

테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링 Download PDF

Info

Publication number
KR101685780B1
KR101685780B1 KR1020147031581A KR20147031581A KR101685780B1 KR 101685780 B1 KR101685780 B1 KR 101685780B1 KR 1020147031581 A KR1020147031581 A KR 1020147031581A KR 20147031581 A KR20147031581 A KR 20147031581A KR 101685780 B1 KR101685780 B1 KR 101685780B1
Authority
KR
South Korea
Prior art keywords
test
testing
prober
handler
spc
Prior art date
Application number
KR1020147031581A
Other languages
English (en)
Other versions
KR20150006439A (ko
Inventor
헨리 아놀드
브라이언 부라스
피에르 고티에
제임스 스티븐 레드포드
Original Assignee
주식회사 아도반테스토
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아도반테스토 filed Critical 주식회사 아도반테스토
Publication of KR20150006439A publication Critical patent/KR20150006439A/ko
Application granted granted Critical
Publication of KR101685780B1 publication Critical patent/KR101685780B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2894Aspects of quality control [QC]

Abstract

소자를 테스트하는 방법이 개시된다. 방법은 계산 윈도우를 결정하는 단계를 포함한다. 계산 윈도우는 활동 임계치 미만의 소자 테스팅 활동의 기간이다. 적어도 하나의 계산 윈도우는 소자 테스팅 활동 중에 발생한다. 방법은 계산 윈도우 동안 결정 트리를 생성하고 실행하는 단계를 더 포함한다. 결정 트리는 테스트 결과의 스케줄링된 테스트 분석 및 그 테스트 분석에 대응하여 실행하도록 스케줄링된 테스트 제어 액션의 선택을 포함한다.

Description

테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링{CREATION AND SCHEDULING OF A DECISION AND EXECUTION TREE OF A TEST CELL CONTROLLER}
본 개시는 일반적으로 자동화된 테스트 장비의 분야에 관한 것으로, 특히 자동화된 테스트 장비의 통계적 공정 제어(statistical process control)의 분야에 관한 것이다.
자동화된 테스트 장비(automated test equipment (ATE))는 소자, 반도체 웨이퍼 또는 다이 등에 대해 테스트를 수행하는 임의의 테스팅 어셈블리일수 있다. ATE 어셈블리는 신속하게 측정을 수행하고 분석될 수 있는 테스트 결과를 발생하는 자동화된 테스트를 실행하는데 사용될 수 있다. ATE 어셈블리는 계기(meter)에 결합된 컴퓨터 시스템으로부터 커스텀의 전용 컴퓨터 제어 시스템 및 전자 부품을 테스팅할 수 있으며/있거나 반도체 웨이퍼 테스팅, 이를 테면, 시스템-온-칩(SOC) 테스팅 또는 집적 회로 테스팅을 자동으로 테스트할 수 있는 많은 상이한 도구들을 포함하는 복잡한 자동화된 테스트 어셈블리에 이르기까지 모든 어셈블리일 수 있다.
ATE 어셈블리로부터 제공된 테스트 결과는 테스트되는 전자 컴포넌트를 평가하기 위해 분석된다. 그러한 테스트 결과 평가는 통계적 공정 제어 방법의 일부일 수 있다. 예시적인 일 실시예에서, 통계적 처리 제어 방법은 제조 공정을 모니터하고 제어하여 그 제조 공정을 통해 희망하는 제품을 희망하는 효율의 수준과 희망하는 품질의 수준에서 생산하는 것을 보장하는데 사용될 수 있다. 하나의 예시적인 실시예에서, 미리 정해진 ATE 테스트 운전이 완료된 후, 집계된 테스트 결과는 통계적 공정 제어 방법을 이용하여 통계적으로 분석된다. 제조 공정 및/또는 테스트 공정의 변동은 또한 테스트 결과의 통계적 분석에 기초한 후속 생산 운전(follow-on production runs)에서 시행될 수 있다.
본 발명의 실시예는 자동화된 테스팅에서 통계적 공정 제어 방법을 구현하는데 있어서 내재하는 과제에 대한 해결책을 제공한다. 특히, 본 발명의 실시예는 많은 테스팅 시간을 부정확하게 테스트되는 웨이퍼 또는 내재한 문제를 갖고 있는 웨이퍼에 쏟아 부은 후 공정을 수정할 기회를 제공함으로써 합격/불합격 결과를 넘어서 실행 결정을 내리게 하는데 사용될 수 있다. 본 발명의 예시적인 일 실시예에서, 테스트 결과의 실시간 통계적 분석을 위한 방법이 개시된다. 이 방법에서, 요청된 테스트 결과의 결정된 분량이 수집된 후, 그 수집된 테스트 결과의 통계적 분석이 임의의 식별된 테스팅 에러 또는 결함 웨이퍼에 대응하여 수행된 선택된 액션에 따라서 수행될 수 있다. 본 출원에서 기술되는 바와 같이, 평가 공정 및 액션은 또한 웨이퍼 분류 및 최종 테스트 통계뿐만 아니라 웨이퍼 테스트에도 적용될 수 있다.
본 발명에 따른 하나의 예시적인 방법에서, 소자를 테스트하는 방법이 개시된다. 이 방법은 계산 윈도우(computational window)를 결정하는 단계를 포함한다. 계산 윈도우는 활동 임계치 미만의 소자 테스팅 활동의 기간이다. 적어도 하나의 계산 윈도우는 소자 테스팅 활동 동안 발생한다. 방법은 계산 윈도우 동안 결정 트리를 생성하고 실행하는 단계를 더 포함한다. 결정 트리는 테스트 결과의 스케줄링된(scheduled) 테스트 분석 및 테스트 분석에 대응하여 실행하도록 스케줄링된 테스트 제어 액션의 선택을 포함한다.
본 발명에 따른 예시적인 일 실시예에서, 소자를 테스트하기 위한 장치가 개시된다. 장치는 테스트 제어 모듈 및 테스트 분석 모듈을 포함한다. 테스트 제어 모듈은 테스트-대상-소자(device-under-test)에 테스트 활동을 실행하도록 동작가능하다. 테스트 활동은 테스트 결과를 발생한다. 테스트 분석 모듈은 결정 트리를 생성하고 실행하도록 더 동작가능하다. 결정 트리는 테스트 결과의 스케줄링된 테스트 분석 및 그 테스트 분석에 대응하여 실행할 테스트 제어 액션의 선택을 포함한다. 테스트 분석 모듈은 계산 윈도우 동안 결정 트리를 생성하고 실행한다. 계산 윈도우는 활동 임계치 미만의 소자 테스팅 활동의 기간이다. 적어도 하나의 계산 윈도우는 소자 테스팅 활동 중에 발생한다.
본 발명은 유사한 참조 문자가 유사한 구성 요소를 지정하는 첨부 도면과 함께 설명되는 다음과 같은 상세한 설명을 읽어봄으로써 더 잘 이해될 것이다.
도 1은 통계적 공정 제어를 구현하는 자동화된 테스트 장비(ATE)의 예시적인 간략 블록도를 도시한다.
도 2는 통계적 공정 제어 룰을 선택하고, 편집하고, 생성하기 위한 예시적인 그래픽 유저 인터페이스를 도시한다.
도 3은 제어 룰의 테스트 결과를 디스플레이하기 위한 예시적인 그래픽 유저 인터페이스를 도시한다.
도 4는 본 발명의 실시예에 따라서 통계적 공정 제어의 실시간 관리를 위한 통계적 분석 및 제어 장치의 예시적인 블록도를 도시한다.
도 5는 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 맞춤형 상태 머신 컴포넌트(customizable state maching component)를 도시한다.
도 6은 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 롯 레시피 제어 컴포넌트(lot recipe control component)를 도시한다.
도 7은 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 통계적 공정 제어 컴포넌트를 도시한다.
도 8은 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 빈 제어 컴포넌트(bin control component)를 도시한다.
도 9는 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 측정 값 모니터 컴포넌트를 도시한다.
도 10은 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치에 추가될 예시적인 커스텀 컴포넌트를 도시한다.
도 11은 본 발명의 실시예에 따라서 통계적 분석 및 제어 장치의 예시적인 공정 파라미터 제어 컴포넌트를 도시한다.
도 12는 본 발명의 실시예에 따라서 실시간 공정 관리 분석 및 액션을 취하기 위한 방법의 단계들을 도시하는 예시적인 흐름도를 도시한다.
도 13은 본 발명의 실시예에 따라서 테스트 휴지(test inactivity)의 기간 동안 결정 트리를 생성하고 실행하기 위한 방법의 단계들을 도시하는 예시적인 흐름도를 도시한다.
도 14는 본 발명의 실시예에 따라서 테스트 휴지 기간 동안 결정 트리를 생성하고 실행하기 위한 방법의 단계들을 도시하는 예시적인 흐름도를 도시한다.
도 15는 본 발명의 실시예에 따라서 통계적 분석 및 제어 아키텍처와 연결된 예시적인 프로버/핸들러 수퍼바이저 컴포넌트 및 프록시 프로버/핸들러 드라이버를 도시한다.
도 16은 본 발명의 실시예에 따라서 지속적인 자동화된 테스트 동안 실시간 테스트 분석 및 액션을 취하기 위한 방법의 단계들을 도시하는 예시적인 흐름도를 도시한다.
도 17은 지속적 테스트를 실행하는 테스트 프로그램에 투명한 프로버 또는 핸들러 명령을 삽입하기 위한 방법의 단계들을 도시하는 예시적인 흐름도를 도시한다.
이제 본 발명의 바람직한 실시예에 대하여 상세히 설명될 것이며, 그 실시의 예는 첨부 도면에 도시된다. 본 발명은 바람직한 실시예와 관련하여 설명될 것이지만 본 발명을 이러한 실시예로 한계치하려는 의도가 아니라는 것이 이해될 것이다. 한편, 본 발명은 첨부된 청구범위에 의해 한정되는 것처럼 본 발명의 정신과 범위 내에 포함될 수 있는 대안, 수정 및 동등물을 망라하는 것으로 의도하고자 한다. 또한, 다음과 같은 본 발명의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 많은 구체적인 세부 사항이 제시된다. 그러나 본 기술에서 통상의 지식을 가진 자라면 본 발명이 이러한 구체적인 세부 사항 없이도 실시될 수 있다는 것을 인식할 것이다. 다른 사례에서, 불필요하게 본 발명의 실시예를 모호하게 하지 않도록 공지의 방법, 절차, 컴포넌트, 및 회로는 상세히 설명되지 않았다. 본 발명의 실시예를 도시하는 도면은 약간 개략적이며 축척하지 않았으며, 특히, 치수 중 일부는 투명한 표현을 위한 것이고 도면에서 과장되게 그려진다. 유사하게, 비록 전체 도면이 일반적으로 설명의 편의를 위해 유사한 방위를 표시하더라도, 도면에서 이러한 묘사는 대부분 임의적인 것이다. 일반적으로, 본 발명은 임의의 방위에서 동작될 수 있다.
표기 및 명명:
다음의 상세한 설명의 일부는 절차, 단계, 로직 블록, 프로세싱 및 컴퓨터 메모리 내 데이터 비트에 관한 연산의 다른 심볼 표현의 관점에서 제시된다. 이러한 설명과 표현은 데이터 처리 기술 분야에서 통상의 지식을 가진 자가 자신의 작업 실체를 본 기술에서 통상의 지식을 가진 다른 자에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 절차, 컴퓨터 실행된 단계, 로직 블록, 프로세스 등은 본 출원에서 그리고 일반적으로, 원하는 결과에 이르는 단계 또는 명령의 일관된 시퀀스일 것으로 이해된다. 단계는 물리적 양의 물리적 조정을 필요로 하는 것이다. 보통은 필수적이지 않지만, 이러한 양은 컴퓨터 시스템에서 저장되고, 전달되고, 결합되고, 비교되며, 그렇지 않으면 조정될 수 있는 전기 또는 자기 신호의 형태를 취한다. 때로는 이러한 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 언급하는 것이 주로 공통적으로 사용하려는 이유 때문에 편리한 것으로 입증되었다.
그러나 이러한 용어 및 유사한 용어는 모두 적절한 물리적 양과 관련되고 이러한 양에 적용되는 그저 편리한 표식일 뿐임을 명심해야 한다. 달리 구체적으로 언급되지 않으면 다음의 논의로부터 명백해지는 바와 같이, 본 발명을 통해 "프로세싱" 또는 "액세싱, 또는 "실행" 또는 "저장" 또는 "렌더링" 등과 같은 용어를 활용하는 설명은 컴퓨터 시스템의 레지스터와 메모리 및 다른 컴퓨터 판독가능 매체 내의 물리적(전자) 양으로서 표시되는 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 장치 내의 물리적 양으로 유사하게 표시되는 다른 데이터로 조정 및 변환하는 컴퓨터 시스템 또는 유사 전자 컴퓨팅 장치의 작동 및 프로세스를 언급하는 것이라고 인식된다. 컴포넌트가 여러 실시예에서 출현할 때, 동일한 참조 부호를 사용하는 것은 그 컴포넌트가 원 실시예에서 도시된 것과 동일한 컴포넌트라는 것을 지정하는 것이다.
본 발명의 실시예는 자동화된 테스팅 시 통계적 공정 제어 방법을 구현하는데 있어서 내재한 과제의 해결책을 제공한다. 특히, 본 발명의 실시예는 많은 테스팅 시간을 부정확하게 테스트되는 장치(예를 들면, 반도체 웨이퍼, 시스템 온 칩(SOC) 또는 집적 회로 등) 또는 내재한 문제를 갖고 있는 웨이퍼, 다이 및/또는 소자에 쏟아 부은 후 생산 및/또는 테스팅 공정을 수정할 기회를 제공함으로써 단순한 합격/불합격 결과를 넘어선 공정 결정(process decision)을 내리게 하는데 사용될 수 있다. 본 발명의 예시적인 일 실시예에서, 테스트 결과의 실시간 통계적 분석을 위한 방법이 개시된다. 테스트 결과의 분량이 수집된 후, 그 수집된 테스트 결과의 통계적 분석이 수행될 수 있으며 임의의 식별된 테스팅 에러 또는 결함 소자, 반도체 웨이퍼 또는 다이에 대응하여 수행된 선택된 액션에 따라서 액션이 수행될 수 있다. 특히, 통계적 분석은 줄어든 테스팅 활동의 기간 동안, 이를 테면 프로버의 인덱싱 시간 및 장비 핸들링 동안 수행될 수 있다. 더욱이, 부가적인 재료 핸들링 명령(예를 들면, 바늘 세척, z-높이 조정, 중단 등)이 테스팅 프로그램과 재료 핸들러(materials handler) 사이에 투명하게 주입될 수 있다.
통계적 공정 제어 분석:
본 출원에서 설명되는 바와 같이, 통계적 공정 제어(SPC) 룰은 예시적인 테스트 셀 컨트롤러(test cell controller) 상에서 짧은 루프(short loop)로 실행될 수 있다. SPC 룰은 파라메트릭 테스트 값(parametric test values), 수율 값(yield values), 및 빈 결과(bin results)와 같은 각종 테스트 데이터 파라미터의 통계적 분석을 통해 초기 검출, 통지 및 제어 액션을 제공한다. SPC 룰은 핸들러 및 프로버 장비 통신과 같은 정상적인 테스트 셀 컨트롤러 프로그램 활동과 동기하여 실행될 수 있다. 예시적인 일 실시예에서, SPC 룰은 롯 테스팅(lot testing) 공정 결과가 제어 범위에 있는지 또는 벗어났는지 여부를 검출하는데 사용될 수 있다. 예를 들면, 통제되지 않는 가우시안 프로세스 파라미터 분포는 기대 값으로부터 표류된 평균 또는 표준 편차 통계로 특징지을 수 있다. 다른 예에서, 정상 표준 편차보다 높게 시행하는 iddq 측정(iddq 테스팅은 집적 회로를 제조 결함에 대해 테스트하기 위한 방법임)은 내부 고장 때문에 초기에 불합격 받을 다이를 표시할 수 있다. 반응/무반응 테스트(go/no-go test)는 이것을 놓칠 것이지만 통계적 공정 룰 분석은 이를 식별할 수 있다. 이러한 통계적 값은 롯 테스트 동안 실시간 모니터될 수 있으며 식별된 SPC 불합격(예를 들면, 제어 룰 위반)은 시정 조치 또는 유산 조치(abortive actions)를 트리거하는데 사용될 수 있다. SPC 룰 불합격을 검출하고 추가 테스팅을 중단함으로써, 불필요한 테스팅 시간이 방지되고, 식별된 문제가 수정될 수 있으며, 수율 및 다른 평가 메트릭이 개선될 수 있다.
본 출원에서 기술된 바와 같이, SPC 룰 분석을 활용하는 예시적인 실시예는 너무 많은 불합격을 가졌던 빈, 다른 사이트(site)보다 낮은 수율을 내는 사이트(site), 및 이상적 제어 값으로부터 표류하는 통계 값 결과와 같은 이력 결과의 검출을 제공될 수 있다. SPC는 또한 합격은 되지만 예견된 공정 한계치 내에 들지 않는 부품이 갖고 있는 공정 문제를 검출할 수 있다. 예를 들면, 부품이 엄격한 한계치 범위 내에서 합격될 수 있지만, SPC 룰의 위반은 일단 실시간으로 검출되기만 하면 공정 문제가 존재한다고 결정하는데 사용될 수 있으며 이 문제는 해결될 수 있다.
아래에서 상세히 기술되는 바와 같이, 테스트 셀 컨트롤러에서 실행된 예시적인 통계적 분석 및 공정 제어 프레임워크는 많은 이득을 제공할 수 있다. 예를 들면, 통계 결과를 계산하기 위한 비해체적으로 캡처한 측정 값(non-invasively capturing measurement values) 및 빈 카운트(bin count). 테스트 스위트 실행(Test suite execution)은 실행 입력 라이브러리 호출 또는 프로버/핸들러(prober/handler (PH)) 후크 함수를 사용할 필요 없이도 동기화될 수 있다. 예시적인 일 실시예에서, 테스트 스위트는 하나 이상의 테스트를 정의하는 테스트 흐름(test flow)의 일부일 수 있다. 예시적인 일 실시예에서, 테스트 셀 컨트롤러는 하나 이상의 테스트 스위트를 포함하는 테스트 흐름을 실행할 수 있다.
SPC 룰, 결과 분석, 및 보고는 중앙에서 관리될 수 있다. SPC 룰은 또한 애플리케이션 모델의 어떠한 변화도 요구하지 않고 기존의 테스트 프로그램 내에 통합될 수 있다. 프로버 및 핸들러 장비는 기존 드라이버가 요구된 제어 역량을 갖고 있을 때 커스텀 드라이버를 필요로 하지 않고도 SPC 룰 액션으로부터 제어될 수 있다. 마지막으로, 커스텀 SPC 룰은 특정 테스팅 환경과 특정 시험-대상-장치를 위해 생성될 수 있다. 표 1은 여러 예시적인 SPC 룰을 열거한다. 예시적인 SPC 룰은 모니터될 데이터의 특정 형태, 룰 자체의 형태뿐만 아니라, 연관된 SPC 룰 위반의 검출에 따라 시행될 수 있는 액션의 형태에 맞게 맞춤 설계될 수 있다. SPC 룰 데이터 형태, 모니터링 형태, 및 액션은 도시된 것 그대로 한계치되지 않는다. 예시적인 SPC 룰은 또한 데이터의 다른 형태를 모니터하고 분석 및 액션의 추가 형태를 사용할 확장을 포함할 수 있다.
Figure 112014108112686-pct00001
통계 분석 및 공정 제어가 통합된 테스트 셀:
도 1에 도시된 바와 같이, 통계적 공정 제어가 통합된 예시적인 자동화된 테스트 장비(100)는 테스트 셀 컨트롤러(102), 테스팅 장치(104), 재료 핸들링 장비(106), 데이터베이스 서버(112), 및 (예를 들면, 제어 룰 레시피 및 보고서를 포함하는) 웹 서버(114)를 포함한다. 자동화된 테스트 장비(100)는 테스트 결과의 실시간 통계적 분석 및 테스트 프로그램(103)에 투명한 프로버 또는 핸들러 명령의 삽입을 제공할 수 있다. 예시적인 일 실시예에서, 재료 핸들링 장비(106)는 프로버(108) 및 핸들러(110)를 포함할 수 있다. 예시적인 일 실시예에서, 프로버(108)는 테스트-대상-소자(예를 들면, 반도체 웨이퍼, 다이 등)와 접촉하는 복수개의 핀 또는 바늘을 구비하는 소켓 또는 프로브 카드이다. 도 1에 도시된 바와 같이, 테스트 셀 컨트롤러(102)는 테스트 프로그램(103)을 포함할 수 있다. 테스트 프로그램(103)은 애플리케이션 모델을 포함할 수 있다. 웹 서버(114)는 SPC 룰을 입력하고, 결과를 분석하고 공정을 모니터하는데 사용될 수 있다. 웹 서버(114)는 또한 SPC 룰을 생성하고 편집하기 위한 웹 기반 SPC 편집기를 포함할 수 있다. 예시적인 실시예에서, 웹 서버(114)는 웹 브라우저를 갖춘 데스크톱 컴퓨터일 수 있다. 테스팅 장치(104)는 테스팅 이외에도, SPC 룰을 테스트하는데 사용된 테스트 결과 값, 빈 카운트, 및 각종 형태의 수율 카운트를 캡처할 수 있다. 예시적인 일 실시예에서, 복수개의 테스팅 장치(104)는 테스트 셀 컨트롤러(102)에 의해 제어될 수 있고 통계적 공정 제어를 위해 평가될 수 있다.
(원시 및 통계) 데이터 수집의 결과 및 SPC 룰 실행 결과는 데이터베이스 서버(112)에 저장될 수 있다. 웹 서버(114)는 이렇게 저장된 결과에 액세스할 수 있을 뿐만 아니라, 아래에서 상세히 기술되는 다른 툴에도 액세스할 수 있다. 데이터베이스 서버(112) 내 데이터는 SPC 룰 평가 동안 분석될 수 있다. 예시적인 일 실시예에서, 아래에서 상세히 기술되는 바와 같이, 테스트 셀 컨트롤러(102)는 테스트 결과를 비해체적으로 캡처하고 최소의 오버헤드 및 스몰 코드 풋프린트(small code footprint)를 이용하여 SPC 룰을 테스트하는 통계적 분석 및 공정 제어 프레임워크를 더 포함한다.
SPC 룰 웹-기반 편집기:
예시적인 일 실시예에서, 아래에서 상세히 기술되는 바와 같이 실행되는 SPC 룰은 웹 인터페이스(예를 들면, 웹 서버(114))를 이용하여 생성되고 편집되며 관계형 데이터베이스에 저장된다. 룰 편집을 지원하기 위해 테스트 프로그램 정보를 가져올 수 있다(예를 들면, 정의된 간격, 임계치 및 트렌드와 같이 특정 파라메트릭 값이 선택 또는 정의될 수 있다). 이러한 정보는 소프트웨어 빈 정보, 하드웨어 빈 정보, 복수개의 이용가능한 테스트 스위트, 및 복수개의 이용가능한 테스트로 구성될 수 있다. 도 2에 도시된 바와 같이, 일단 테스트-대상-소자(202), 테스트 프로그램(204) 및 단계(206)가 예시적인 그래픽 유저 인터페이스에서 선택(208)되면, 웹 인터페이스에서 테스트-대상-소자(202) 및 테스트 프로그램(204)과 관련된 각종 룰이 선택되고, 편집되고 정의될 수 있다. 그래픽 유저 인터페이스는 SPC 룰을 선택하기 위한 선택 패널을 더 포함할 수 있다. 테스트 프로그램이 선택된 후, 선택된 테스트 프로그램에 관련하는 SPC 룰의 리스트가 선택된 테스트 프로그램으로부터 생성된 테스트 결과의 통계적 분석에 의한 연관된 공정 제어 룰의 검증을 위해 선택될 수 있다.
도 2에 도시된 바와 같이, 예시적인 일 실시예에서, 빈 카운트 룰 선택 패널(210) 및 테스트 값 룰 선택 패널(212)이 디스플레이된다. 본 출원에서 기술되는 바와 같이, 빈 카운트 룰 및 테스트 값 룰 이외에도, 수율 룰, 테스트 시간 룰, 및 회복율(recovery rate) 룰을 위한 선택 패널이 또한 빈 카운트 룰 및 테스트 값 룰에 대하여 도 2에 도시된 것과 유사한 선택 패널로 이용할 수 있다. 빈 카운트 룰 선택 패널(210)은 룰의 형태에 따라 복수개의 상이한 선택가능한 컴포넌트를 포함할 수 있다. 한계치_모니터링: 연속 빈 카운트 룰(Limit Monitoring: Consecutive Bin Count rule)(210a)은 다음과 같은 선택가능한 컴포넌트, 즉, 빈_형태(220), 빈_번호(222), 연속_번호(224), 사이트별 지정(사이트별 designation)(226), 액션(228), 및 룰 삭제 옵션(230)을 포함할 수 있다. 한계치_모니터링: 총 카운트 빈 카운트 룰(Limit_Monitoring: Total Count Bin Count rule)(210b)은 다음과 같은 선택가능한 컴포넌트, 즉 빈_형태(220), 빈_번호(222), 총 카운트(232), 액션(228), 및 룰 삭제 옵션(230)을 포함할 수 있다. 또한 도 2에 도시된 바와 같이, 빈 카운트 룰(210)은 또한 각종의 상이한 컴포넌트/필드를 가질 수 있으며, 한계치_모니터링: 연속 빈 카운트 룰(202a) 및 한계치_모니터링: 총 카운트 빈 카운트 룰(202b)에서 도시된 바와 같은 상이한 룰을 발생할 수 있다.
예시적인 테스트 값 룰 선택 패널(212)은 또한 룰의 형태에 따라서 복수개의 상이한 선택가능한 컴포넌트를 포함할 수 있다. 도 2에 도시된 바와 같이, 예시적인 한계치_모니터링: 디폴트 테스트 값 룰(Limit_Monitoring: Default Test Value rule)(212a)은 다음과 같은 선택가능한 컴포넌트, 즉 테스트 이름(240), 통계(242), 간격(244), 샘플 크기(246), 하한 한계치(248), 상한 한계치(250), 단위(252), 액션(228), 및 룰 소거 옵션(230)을 포함할 수 있다. 예시적인 한계치_모니터링: 사이트-투-사이트: 디폴트 테스트 값 룰(Limit Monitoring: Site-to-Site: Default Test Value rule)(212b)은 다음과 같은 선택가능한 컴포넌트, 즉, 테스트 이름(240), 통계(242), 간격(244), 샘플 크기(246), 사이트-투-사이트 차이 퍼센티지(252), 액션(228), 및 룰 삭제 옵션(230)을 포함한다.
표 2에서 추가로 도시된 바와 같이, 다섯 가지의 상이한 수율 룰이 생성 및/또는 편집될 수 있다. 표 2에 도시된 바와 같이, 각각의 수율 룰은 복수개의 파라미터와 연관될 수 있다. 예시적인 일 실시예에서, 한계치_모니터링: 누적 (Limit_Monitoring: Accumulate) 룰은 (하나 이상의 여러 사이트로부터) 매 번의 테스트 흐름 실행 이후 총 수율을 검증한다. 예시적인 일 실시예에서, 한계치_모니터링: 롤링(Limit Monitoring: Rolling rule) 룰은 이 룰에 의해 정의된 간격 마다 수율을 검증한다. 예시적인 일 실시예에서, 한계치_모니터링: 사이트-투-사이트: 누적(Limit_Monitoring Site to Site: Accumulate) 룰은 매 번의 테스트 흐름 실행 이후 사이트들 간의 수율 차를 검증한다. 예시적인 일 실시예에서, 한계치_모니터링 사이트-투-사이트: 롤링(Limit Monitoring Site to Site: Rolling) 룰은 이 룰에 의해 정의된 간격 마다 수율을 검증하며, 이때 수율 검증은 사이트-투-사이트 차이 퍼센트 파라미터에 기초한다. 마지막으로, 예시적인 일 실시예에서, 트렌드_모니터링: 디폴트(Trend Monitoring: Default) 룰은 수율이 다수의 연속 횟수 동안 위 아래로 변동하는지를 검증할 수 있다.
Figure 112014108112686-pct00002
표 2에서 또한 도시된 바와 같이, 각 룰마다 몇몇 파라미터가 정의될 수 있다. 최소 샘플 크기 파라미터는 SPC 룰을 검증하기 전에 테스트될 소자의 최소 개수를 정의할 수 있다. 하한 한계치 파라미터는 하한 한계치 수율 값을 정의할 수 있고, 상한 한계치 파라미터는 상한 한계치 수율 값을 정의할 수 있다. 사이트별 파라미터는 사이트 별로 검증할 때 YES로서, 그리고 모든 사이트가 결합되었을 때는 NO로서 정의될 수 있다. Sim_Prod 파라미터는 테스트가 생산 데이터 또는 시뮬레이션에 대해 진행 중인지 여부를 정의할 수 있다. 액션 파라미터는 어느 액션이 실시되는지(예를 들면, 이메일, 중단, 바늘 세척 등)를 정의할 수 있다. 롤링 수율 간격 파라미터는 SPC 룰이 검증된 후 테스트될 소자의 개수를 정의할 수 있다. 사이트-투-사이트 차이 퍼센트 파라미터는 임의의 사이트들 사이의 최대 수율 차이를 정의할 수 있다(예를 들면, 10%로 설정된 경우, 사이트들 간의 수율 차이가 10%보다 크면 이 룰은 불합격일 것이다). 샘플 크기 파라미터는 룰 검증에 앞서 테스트할 소자의 최소 개수를 정의할 수 있다. 간격 파라미터는 SPC 룰의 검증 사이의 간격을 정의할 수 있다. 트렌드 형태 파라미터는 트렌드의 형태를 정의할 수 있다(예를 들면, ASCEND는 수율이 명시된 다수의 횟수 동안 높아지는지를 검증할 것이며, 반면 DESCEND는 수율이 명시된 다수의 횟수 동안 낮아지는지를 검증할 것이다). 트렌드 카운트 파라미터는 이 카운트에 도달한 경우 룰이 불합격일 때를 정의한다.
본 출원에서 기술되고 표 3에서 도시된 바와 같이, 예시적인 일 실시예에서, 네 가지의 상이한 빈 카운트 룰이 생성되고 정의될 수 있다. 각각의 빈 카운트 룰은 복수개의 파라미터와 연관될 수 있다. 예시적인 일 실시예에서, 한계치_모니터링: 연속(Limit_Monitoring: Consecutive) 룰은 연속 빈 결함의 최대 개수가 초과되었는지를 체크할 수 있다. 예시적인 일 실시예에서, 한계치_모니터링: 총_카운트(Limit_Monitoring: Total_Count) 룰은 특정 하드웨어 또는 소프트웨어 빈에 대한 총 카운트가 정의된 카운트 파라미터를 초과하지 않은 것을 체크할 수 있다. 예시적인 일 실시예에서, 한계치_모니터링: 총_퍼센트(Limit_Monitoring: Total_Percent) 룰은 특정 하드웨어 또는 소프트웨어 빈에 대한 총 퍼센티지가 정의된 퍼센트 파라미터를 초과하지 않은 것을 체크할 수 있다. 예시적인 일 실시예에서, 한계치_모니터링_사이트_대_사이트: 누적 (Limit_Monitoring_Site_to_Site: Accumulate) 룰은 퍼센티지로 표현된 하드웨어 또는 소프트웨어 빈에서의 차이가 사이트들 사이에서 정의된 값을 초과할 수 없는 것을 체크할 수 있다.
Figure 112014108112686-pct00003
또한 표 3에 도시된 바와 같이, 각 룰마다 몇몇 파라미터가 정의될 수 있다. 빈 형태 파라미터는 빈이 소프트웨어 빈인지 또는 하드웨어 빈인지 여부를 정의할 수 있다. 빈 개수 파라미터는 특별한 빈을 정의할 수 있다. 연속 파라미터는 연속 빈 결함의 최대 개수를 정의할 수 있다. 사이트별(per-site) 파라미터는 사이트별로 검증할 때는 YES로서, 그리고 모든 사이트가 결합되어 있을 때는 NO로서 정의될 수 있다. sim_prod 파라미터는 테스트가 생산 데이터 또는 시뮬레이션에 대해 진행 중인지 여부를 정의할 수 있다. 액션 파라미터는 어느 액션이 실시될지(예를 들면, 이메일, 중단, 바늘 세척 등)를 정의할 수 있다. 총 카운트 파라미터는 주어진 하드웨어 빈 또는 소프트웨어 빈에 대한 최대 카운트로서 정의될 수 있다. 샘플 크기 파라미터는 SPC 룰 검증이 수행되기 전에 테스트될 소자의 최소 개수로서 정의될 수 있다. 총 퍼센트 파라미터는 주어진 하드웨어 빈 또는 소프트웨어 빈에 대한 최대 퍼센티지로서 정의될 수 있다. 최소 샘플 크기 파라미터는 검증에 앞서 테스트될 소자의 최소 개수로서 정의될 수 있다. 사이트-투-사이트 차이 퍼센트 파라미터는 임의 사이트들 간의 최대 수율 차이를 정의할 수 있다.
본 출원에서 기술되고 표 4에서 도시된 바와 같이, 예시적인 일 실시예에서, 세 가지의 상이한 빈 복구율 룰이 생성되고 정의될 수 있다. 표 4에 도시된 바와 같이, 각각의 빈 복구율 룰은 복수개의 파라미터와 연관될 수 있다. 예시적인 일 실시예에서, 한계치_모니터링:빈_복구_율(Limit_Monitoring:Bin_Recovery_Rate) 룰은 첫 합격에서 불합격한 모든 빈 카운트의 총계에 기초하여 소정 빈에 대한 복구된 부분의 퍼센티지에 대하여 체크할 수 있다. 예시적인 일 실시예에서, 다음과 같은 공식, 즉, 복구된 빈 카운트/일차 합격에서 불합격한 모든 빈 카운트 총수 * 100이 사용된다. 예시적인 일 실시예에서, 한계치_모니터링:빈_복구_율_효율(Limit_Monitoring:Bin_Recovery_Rate_Efficiency) 룰은 일차 합격에서 빈 카운트에 기초하여 소정 빈에 대한 복구된 부품의 퍼센티지를 체크할 수 있다. 예시적인 일 실시예에서, 다음과 같은 공식, 즉, 복구된 빈 카운트/일차 합격에서 빈 카운트 * 100이 사용된다. 예시적인 일 실시예에서, 한계치_모니터링: 전체_복구_율(Limit_Monitoring:Overall_Recovery_Rate) 룰은 일차 합격에서 모든 빈 카운트의 총계에 기초하여 모든 빈에 대한 복구된 부품의 퍼센티지를 체크할 수 있다. 예시적인 일 실시예에서, 다음과 같은 공식, 즉, 복구된 모든 빈 카운트/일차 합격에서 모든 빈 카운트의 총 개수 * 100이 사용된다.
Figure 112014108112686-pct00004
표 4에서 또한 도시된 바와 같이, 각 룰마다 몇몇 파라미터가 정의될 수 있다. 빈 형태 파라미터는 빈이 소프트웨어 빈인지 또는 하드웨어 빈인지 여부를 정의할 수 있다. 빈 개수 파라미터는 특정한 빈을 정의할 수 있다. 하한 한계치 퍼센트 파라미터는 복구된 부품의 퍼센티지의 하한 한계치를 정의할 수 있다. 상한 한계치 퍼센트는 복구된 부품의 퍼센티지의 상한 한계치를 정의할 수 있다. sim_prod 파라미터는 테스트가 생산 데이터 또는 시뮬레이션에 대해 진행 중인지 여부를 정의할 수 있다. 액션 파라미터는 SPC 룰이 불합격일 때 어느 액션이 실시될지(예를 들면, 이메일, 중단, 바늘 세척 등)를 정의할 수 있다.
본 출원에서 논의되고 표 5에서 도시된 바와 같이, 예시적인 일 실시예에서, 네 가지의 상이한 테스트 값 룰이 생성되고 정의될 수 있다. 표 5에 도시된 바와 같이, 각각의 테스트 값 룰은 복수개의 파라미터와 연관된다. 예시적인 일 실시예에서, 한계치_모니터링: 디폴트(Limit_Monitoring:Default) 룰은 간격 파라미터에 의해 정의된 일정 간격 마다 상한 한계치 및 하한 한계치 대비 테스트 통계(예를 들면, 평균, 표준 편차, 공정 능력 지수(process capability index (CPK)) 등)을 검증할 수 있다. 각 통계별로 집계된 데이터는 (최소 개수의 샘플을 수집한 후 수행된 임의의 통계 분석에 따라) 테스트된 첫 소자부터 시작하여 누적된다. 예시적인 일 실시예에서, 한계치_모니터링:사이트_대_사이트: 디폴트 (Limit_Monitoring: Site_to_Site: Default) 룰은 전체 사이트에서 테스트 통계(예를 들면, 평균, 표준 편차, 공정 능력 지수(CPK) 등)을 검증하여, 간격 파라미터에 의해 정의된 일정 간격 마다 사이트-투-사이트 차이 퍼센트 한계치 대비 퍼센티지의 차이를 비교할 수 있다. 각 통계별로 집계된 데이터는 (최소 개수의 샘플을 수집한 후 수행된 임의의 통계 분석에 따라) 테스트된 첫 소자부터 시작하여 누적된다. 예시적인 일 실시예에서, 트렌드_모니터링:디폴트(Trend_Monitoring:Default) 룰은 선택된 테스트 통계가 다수의 연속 횟수 동안 위 아래로 값의 변동이 있는지를 검증할 수 있다.
예시적인 일 실시예에서, 마진_모니터링: 디폴트(Marginal_Monitoring: Default) 룰은 간격 파라미터에 의해 정의된 일정 간격 마다 시그마로 표현된 하이 마진과 로우 마진 대비 테스트의 평균을 검증할 수 있다. 각 통계별로 집계된 데이터는 (최소 개수의 샘플을 수집한 후 수행된 임의의 통계 분석에 따라) 테스트된 첫 소자부터 시작하여 누적된다. 예시적인 일 실시예에서, 각각의 테스트는 테스트 한계치와 평균 간의 차이에 대하여 최소 샘플 크기, 간격, 로우 마진, 및 하이 마진으로 정의될 수 있다(마진은 시그마-표준 편차로 표현된다). 예시적인 일 실시예에서, 실행 중에, SPC 모듈은 최소 샘플의 테스트 실행 후 마진 룰을 체크하기 시작할 수 있다. SPC 룰은 정의된 간격으로 주기적으로 실행될 수 있다(예를 들면, SPC 룰은 검증되거나 또는 체크될 수 있다. 등등) 예시적인 일 실시예에서, SPC 모듈은 특정한 테스트의 하한 한계치와 평균 값 간의 차이를 계산하고 그 평균 값이 룰에 합격하는 로우 마진 파라미터보다 높은지를 결정할 수 있다. 또한 특정한 테스트의 상한 한계치와 평균 값 간의 차이는 그 평균 값이 하이 마진 파라미터 값보다 높은지를 알아보기 위해 체크될 것이다.
Figure 112014108112686-pct00005
표 5는 또한 각 룰 마다 몇몇 파라미터가 정의될 수 있다는 것을 도시한다. 테스트 이름 파라미터는 어느 SPC 테스트가 모니터링하기 위해 선택되는지를 정의할 수 있다. 통계 파라미터는 실행될 특정 통계 평가(예를 들면, MEAN, MIN, MAX, STD, CP, SPK, CPL, 및 CPU 등)를 정의할 수 있다. 간격 파라미터는 SPC 룰이 검증되는 간격을 정의할 수 있다. 샘플 크기는 룰이 처음으로 체크되기 전에 실행되어야 하는 테스트 실행의 최소 횟수를 정의할 수 있다. 하한 한계치 파라미터는 선택된 통계의 하한 한계치를 정의할 수 있다. 상한 한계치 파라미터는 선택된 통계의 상한 한계치를 정의할 수 있다. 단위 파라미터는 마이크로암페어 등과 같은 희망하는 측정을 정의할 수 있다. sim_prod 파라미터는 테스트가 생산 데이터 또는 시뮬레이션에 대해 진행 중인지 여부를 정의할 수 있다. 액션 파라미터는 어느 액션이 실시되는지(예를 들면, 이메일, 중단, 바늘 세척 등)를 정의할 수 있다. 사이트-투-사이트 차이 퍼센트는 임의의 사이트들 사이에서 주어진 통계에 대해 허용된 최대 퍼센티지 차이를 정의할 수 있다. 로우 마진(margin_low) 파라미터는 평균과 하한 한계치 간의 최소 차이를 시그마로 정의할 수 있다. 하이 마진 파라미터는 평균과 상한 한계치 간의 최소 차이를 시그마로 정의할 수 있다. 간격 형태 파라미터는 검증 사이의 간격을 정의할 수 있다. 트렌드 형태 파라미터는 트렌드의 형태를 정의할 수 있다(예를 들면, ASCEND의 선택은 수율이 명시된 다수의 횟수 동안 높아지는지 여부를 검증할 것이며, 반면 DESCEND의 선택은 수율이 명시된 다수의 횟수 동안 낮아지는지 여부를 검증할 것이다). 트렌드 카운트 파라미터는 도달시 룰에 불합격한 카운트를 정의할 수 있다.
본 출원에서 기술된 바와 같이, 예시적인 테스트 시간 룰이 또한 생성되고 정의될 수 있다. 각각의 테스트 시간 룰은 복수개의 파라미터와 연관될 수 있다. 예시적인 일 실시예에서, 테스트 시간 룰은 간격 파라미터에 의해 정의된 일정 간격 마다 상한 한계치 및 하한 한계치 대비 테스트 스위트 테스트 시간의 최소, 최대, 또는 평균을 검증할 수 있다. 예시적인 일 실시예에서, 테스트 시간 룰에 대해 몇몇 파라미터가 정의될 수 있다. 일 실시예에서, 테스트 시간 룰은 다음과 같은 파라미터, 즉, 테스트 스위트 파라미터, 통계 파라미터, 샘플 크기 파라미터, 간격 파라미터, 하한 한계치 파라미터, 상한 한계치 파라미터, 단위 파라미터, sim_prod 파라미터, 및 액션 파라미터를 포함한다. 테스트 스위트 파라미터는 모니터링하기 위해 선택될 수 있는 하나 이상의 SPC 테스트 셀을 정의할 수 있다. 통계 파라미터는 선택된 통계 테스트(예를 들면, MEAN, MIN, 및 MAX, 등)을 정의할 수 있다. 샘플 크기 파라미터는 SPC 룰이 처음으로 체크되기 전에 테스트 스위트 실행의 최소 횟수를 정의할 수 있다. 간격 파라미터는 룰이 검증되는 간격을 정의할 수 있다. 하한 한계치 파라미터는 선택된 통계의 하한 한계치를 정의할 수 있다. 상한 한계치 파라미터는 선택된 통계의 상한 한계치를 정의할 수 있다. 단위 파라미터는 마이크로암페어와 같은 희망하는 측정을 정의할 수 있다. sim_prod 파라미터는 테스트가 생산 데이터 또는 시뮬레이션에 대해 진행 중인지 여부를 정의할 수 있다. 액션 파라미터는 SPC 룰이 불합격일 때 어느 액션이 실시될지(예를 들면, 이메일, 중단, 바늘 세척 등)를 정의할 수 있다.
도 2 및 표 2 내지 표 5에 도시되며 본 출원에서 논의된 바와 같이, 예시적인 SPC 룰은 맞춤화될 수 있다. 본 출원에서 기술된 바와 같은, 웹-기반 편집기의 예시적인 실시예는 다중 형태의 컴퓨터에서 이용할 수 있는 해결책을 제공할 수 있다. 룰들을 데이터베이스에 저장함으로써, 예시적인 통계적 분석 및 공정 제어 프레임워크 실시예는 SPC 룰을 독점적 방식으로 저장하는 해결책과 비교하여, 다른 툴이 이들 룰을 이용할 수 있게 해줄 수 있으며 또한 다른 툴이 SPC 룰을 생성하는 것을 가능하게 해줄 수 있다. 본 출원에서 도시되고 논의된 룰이 생성되고 맞춤화될 수 있지만, 부가적이고 선택가능한 파라미터가 정의된 다른 제어 룰 또한 가능하다.
예시적인 맞춤화가능 유틸리티(customizable utility)는 테스트 프로그램에 관한 기본 정보를 불러(import)올 수 있다. 이러한 임포트 유틸리티는 테스트 프로그램이 실행되기 전에 어떤 빈, 값, 및 데이터가 SPC 룰에 적용될 수 있는가를 결정하는데 도움을 줄 수 있다. 임포트(import) 유틸리티는 이러한 데이터를 캡처할 수 있으며 이 데이터를 웹 편집기가 이용할 수 있게 하여 SPC 룰 옵션이 테스트될 실제 소자 및 사용될 테스트 프로그램에 기반하도록 한다. 임포트 유틸리티는 테스트 ID, 테스트 이름, 테스트 스위트 및 한계치의 전체 리스트를 제공한다. 이러한 특정 테스트 내역은 웹 편집기에 의해 예시적인 SPC 룰을 셋업하는데 사용될 수 있다.
예시적인 일 실시예에서, 임포트 유틸리티는 SPC 룰이 준비 되어 있기 전에는 적어도 한번 테스트되는 소자의 형태에 좌우될 수 있다. 적어도 한번의 테스트 진행 흐름의 실행 이후, 임포트 프로세스가 발생할 수 있다. 예시적인 일 실시예에서, 이러한 동작은 생산 제품의 출하의 일부일 수 있다. 그러므로, 임포트가 수행된 후, 희망하는 어느 SPC 룰이라도 생성될 수 있다. 본 출원에서 논의된 바와 같이, 예시적인 SPC 룰 웹-기반 편집기는 실제 테스트 프로그램 실행 결과로부터 테스트 이름, 테스트 스위트 및 빈의 불러오기를 제공한다. 예시적인 일 실시예에서, 제어 룰이 적용될 방법에 대하여 제어가 행하여질 수 있다. 그러한 제어는 또한 수율 총계 또는 일부 다른 통계적 측정이 적당한 샘플이 캡처되기 전에 계산되지 않도록 테스팅이 얼마나 빨리 일어날지를 정의하기 위해 행하여 질 수 있다.
예시적인 일 실시예에서, 각각의 룰 불합격 마다 복수개의 액션이 명시될 수 있다. 또한, 하나 보다 많이 룰이 불합격일 때, 액션을 실행하는 순서가 결정될 수 있다. 예시적인 통계적 분석 및 공정 관리 프레임 워크는 개별 SPC 룰 액션을 평가할 때 이들의 중대성을 고려할 수 있다. 예를 들면, 위반했을 때 중단을 일으키는 SPC 룰은 바늘 세척을 필요로 하는 룰 보다 더욱 중대하다. 예시적인 일 실시예에서, 본 출원에서 논의된 바와 같이, 빈 룰은 소프트웨어 빈 또는 하드웨어 빈에 기초될 수 있다. 이것은 소프트웨어 빈이 바로 그 특정한 테스트 불합격들에 관해 체크를 가능하게 해줄 수 있는 반면 하드웨어 빈은 때때로 복수개 불합격들이 서로 모인 것일 수 있기 때문에 강력한 제어를 제공할 수 있다.
도 1에 도시된 바와 같이, 예시적인 웹 서버(114)는 SPC 룰의 엔트리를 허용하고 SPC 룰 실행 결과의 디스플레이를 제공할 수 있다. 디스플레이 윈도우를 이용하면, 도 3에 도시된 바와 같이, 테스트 프로그램 실행의 SPC 룰 결과가 보여질 수 있다. 도 3에 도시된 바와 같이, 일단 테스트-대상-소자(202), 테스트 프로그램(204) 및 단계(206)가 선택(208)되면, 각종 테스트 결과가 보여질 수 있다. 도 3에 더 도시된 바와 같이, 테스트-대상-소자(202) 및 테스트 프로그램(204)의 선택에 따라서, 특정 테스트 셀(302), 룰 형태(304), 롯 ID(306), 및 웨이퍼 ID(308)가 선택(310)될 수 있다. 이러한 선택에 의거 특정 테스트 셀(302), 룰 형태(304), 롯 ID(306), 또는 웨이퍼 ID(308)의 테스트 결과가 분석될 수 있다. 예시적인 일 실시예에서, 웨이퍼 ID(308)는 소자 ID, 시스템-온-칩(SOC) ID, 또는 집적 회로 ID일 수 있다.
도 3에 더 도시된 바와 같이, 수율 룰 실행의 테스트 결과가 도시된다. 수율 룰 테스트 결과 패널(312)은 도 2에서 도시된 SPC 룰 편집기에서 정의된 복수개의 컴포넌트를 포함한다. 도 3에 도시된 바와 같이, 예시적인 일 실시예에서, 테스트 결과는 각 테스트 별로 분류된 것으로서, 시작-시간 값(320), 호스트_이름(322), 롯_ID(324), 웨이퍼_ID(326), 최소_샘플_크기 값(328), 하한_한계치 값(330), 상한_한계치 값(332), 사이트별 필드(334), 선택된 액션(336), 및 룰 결과(338)를 포함할 수 있다. 도 3에 도시된 바와 같이, 개개의 테스트 결과는 각 웨이퍼 ID(326) 별로 제공될 수 있다.
예시적인 디스플레이는 소자, 롯 및 소트 번호 별로 필터링될 수 있다. 이러한 디스플레이 윈도우의 결과는 실시간일 수 있지만, 30초만큼 지연될 수 있다. 예시적인 일 실시예에서, SPC 룰 검증 결과는 30초 내에 데이터베이스에 저장될 수 있다. 예시적인 일 실시예에서, 새로운 SPC 룰은 테스트될 다음 롯에 적용될 뿐일 수 있다. 이것은 SPC 룰이 롯의 중도에는 결코 변동되지 않는다는 것을 보장한다. 아래에서 상세히 기술되는 바와 같이, 웹 서버(114)는 SPC 룰 실행(예를 들면, 룰 불합격에 대해 실행된 룰 및 액션의 검증) 및 최적화된 공정 관리를 제공하는 통계적 분석 및 공정 제어 프레임워크에 통합될 수 있다. 아래에서 기술되는 바와 같이, SPC 룰은 짧은 루프 제어 및/또는 긴 루프 제어 중 어느 것으로 실행될 수 있다.
SPC 룰을 짧은 루프 제어로 실행:
아래에서 자세히 기술되는 바와 같이, 예시적인 일 실시예에서, SPC 룰의 실행은 짧은 루프 제어(short loop control) 또는 긴 루프 제어(long loop control)로 나뉘어질 수 있다. 짧은 루프 제어 룰은 즉시 이용할 수 있는 데이터에 기초한 테스트 셀 내에서의 공정 관리를 제공한다. 짧은 루프 제어는 줄어든 테스팅 기간 동안, 이를 테면, 핸들링 장비(106)의 프로버(108) 및 핸들러(110)의 인덱스 시간 동안(현재 테스트 흐름의 종료 및 다음 테스트 흐름 실행의 시작부터의 기간, 예를 들면, 프로버(108)를 웨이퍼 상의 하나의 XY 위치에서 웨이퍼 상의 다른 XY 위치로 배치시키는데 소요된 시간 또는 핸들링 장비(106)(예를 들면, 핸들러(110))가 다음 롯 또는 다이를 테스트할 준비를 하고 있을 때 실행될 수 있다. 테스트 흐름 완료된 이벤트가 테스트 스위트 프로그램으로부터 수신될 때, 상태 머신은 SPC 룰의 검증을 트리거할 수 있으며 SPC 룰이 불합격인 경우에 결과적인 액션이 조치될 수 있다. 예시적인 일 실시예에서, 짧은 루프 제어는 표 6에 도시된 바와 같은 분석 및 액션을 제공할 수 있다. 예를 들면, 만일 SPC 룰 위반에 대한 응답으로 프로버 또는 핸들러 액션이 요청되면, 상태 머신은 다음 소자가 실행되기 전에 프로버 또는 핸들러를 보류시킬 수 있다.
Figure 112014108112686-pct00006
예시적인 일 실시예에서, 테스트 셀 컨트롤러 메모리에 저장될 수 있는 현재 데이터 및 결과에 기초하여, 짧은 루프 제어가 구현될 수 있다. 이러한 짧은 루프는 핸들링 장비/프로버 인덱스 시간과 동기화되어(예를 들면, 본 출원에서 논의된 바와 같이 여러 이유 때문에 테스팅을 멈춤) 처리량에 미치는 영향을 줄일 수 있다. 테스트 흐름 실행 직후 결과가 평가될 수 있다. 그러므로, 예시적인 일 실시예에서, 테스트 실행은 가장 최근의 다이 또는 패키지 다음에 중단될 수 있다. 예시적인 실시예는 공정 관리 파라미터를 현재 롯 실행에 기초한 공지의 메트릭에 대비하여 비교한다. 예를 들면, SPC 룰은 iddq 표준 편차 통계 결과가 테스트되는 롯의 한계치 이상 올라갔는지 여부를 결정할 수 있다.
SPC 룰을 긴 루프 제어로 실행:
예시적인 긴 루프 제어는 통계 데이터(예를 들면, 데이터베이스에 저장되고 테스터, 롯 및 테스팅 장소 전반에서 비교되는 데이터)의 분석에 기초될 수 있다. 예시적인 실시예는 중앙의 데이터베이스를 이용하여 SPC 룰을 긴 루프 제어로 실행할 수 있다. 테스트흐름 실행 이후에도 여전히 액션이 발생할 수 있지만, 액션은 이전에 캡처된 데이터를 기반으로 한다. 예시적인 일 실시예에서, 저장된 데이터는 이전의 롯 또는 다른 테스트 셀로부터 온 데이터이다. 긴 루프 제어는 공정 관리 파라미터를 공지의 메트릭 및 이전의 실행으로부터 온 데이터에 대비하여 비교할 수 있다. 예를 들면, 10개의 테스트 셀에서 동일 형태의 소자, 롯 또는 다이가 테스트될 수 있다. 이 예에서, 통계적 분석은 10개의 테스트 셀 중 1개가 다른 9개 테스트 셀보다 10% 적은 수율을 산출하고 있다고 결정하였다. 이 예에서, 테스트에 불합격하는 대상은 오프라인 상태로 될 수 있으며 채널 카드와 같은 불합격 컴포넌트는 식별되고 교체된다. 불합격 채널 카드가 교체됨에 따라, 후속 통계적 분석은 측정된 수율이 정상적인 대상 테스트 셀로 다시 넘어갔다고 제시할 수 있다. 수율 통계는 짧은 루프 제어 룰 분석에서는 그래도 허용될 수 있지만, 이전 롯과 비교할 때 긴 루프에서는 불합격이라는 것을 주목하자. 예시적인 일 실시예에서, SPC 룰은 또한 시험 바닥(test floor)-대-시험 바닥, 테스터-대-테스터, 롯-대-롯, 및 웨이퍼-대-웨이퍼로부터 발생한 테스트 결과를 비교하는 긴 루프에서 실행될 수도 있다.
짧은 루프와 긴 루프와의 비교:
예시적인 짧은 루프 룰 분석은 사용자로 하여금 테스트-대상-소자에 대해 공지된 절대치, 이를 테면 최대 표준 편차 및 최소 수율에 대비하여 공정 관리 파라미터를 체크할 수 있게 해준다. 예시적인 긴 제어는 사용자로 하여금 정상 수율과 같이 테스트-대상-소자의 형태 및 테스트 프로그램에 대하여 얼마가 정상인지에 대비하여 공정 관리 파라미터를 체크할 수 있게 해준다. 긴 루프 룰 분석은 사용자로 하여금 롯(시간), 테스트 셀, 및 웨이퍼 전반에서 테스트 결과의 열화를 검출할 수 있게 해준다. 짧은 루프 제어 및 긴 루프 제어는 둘 다 예를 들면, 좋지 않은 테스터 하드웨어, 제조 공정에서의 변동, 부정확한 설정, 또는 결함을 가진 핸들링 장비, 접촉기 또는 프로브 카드로 인하여 야기된 공정 관리 변동을 식별하는데 도움을 줄 수 있다. 예시적인 짧은 루프는 기본 공정이 정의된 한계치 내에 있다는 것을 보장하는데 사용되는 한편, 예시적인 긴 루프는 통계적인 정상적 공정 결과를 현재 결과에 대비하여 비교할 수 있게 해준다.
통계적 분석 및 공정 제어 프레임워크:
예시적인 통계적 분석 및 공정 제어 프레임워크는 도 4에 도시된다. 도 4에 도시된 모듈들은 통계 분석 및 공정 제어 프레임워크의 주요 컴포넌트를 구성한다. 이러한 예시적인 모듈은 이들의 개별적 과제를 테스트 셀 컨트롤러(102)에 의해 동기화된 상태 머신의 지시 하에서 수행할 수 있다. 예시적인 일 실시예에서, 통계적 분석 및 공정 제어 프레임워크의 모든 모듈은 핸들링 장비(106)의 프로버(108) 및 핸들러(110)의 인덱스 시간 동안(예를 들면, 테스트의 테스트흐름이 실행을 준비하는 동안의 테스팅 휴지(testing inactivities)의 기간) 발생하는 대부분의 CPU 로딩과 함께 테스트 셀 컨트롤러(102)에서 실행한다. 테스트 프로그램(103)의 줄어든 테스팅 활동의 기간 동안, 아래에서 상세히 기술되는 바와 같이, 증가한 계산 능력을 이용하여 결과를 계산할 수 있다.
도 4에 도시된 바와 같이, 예시적인 통계적 분석 및 공정 제어 프레임워크(400)는 롯 레시피 제어 모듈(402), 이벤트 모니터(404), 상태 머신(406), 통계적 공정 제어(SPC)(408), 빈 제어 모듈(410), 측정 값 모니터(measured value monitor (MVM))(412), 및 프로버/핸들러(PH) 수퍼바이저(414)를 포함한다. 예시적인 롯 레시피 제어 모듈(402)은 데이터베이스 서버(416)에게 상태 머신(406)에 의해 요청될 때의 원하는 SPC 룰을 문의할 수 있다. 예시적인 일 실시예에서, 이것은 롯의 테스팅 시작 때 일어난다.
예시적인 일 실시예에서, 통계적 분석 및 공정 제어 프레임워크(400)를 구성하는 모듈은 테스트 셀 통신 프레임워크에 의해 상호 연결될 수 있다. 예시적인 일 실시예에서, 아키텍처 독자적 공유 메모리 구조체 및 공통의 세마포어 동기화 패턴(semaphore synchronization patterns)을 이용하여 모듈간 명령(inter-module commands)이 구현될 수 있다. 예시적인 일 실시예에서, 모듈간 명령은 명령 및 연관된 파라미터를 포함할 수 있다(예를 들면, 명령 파라미터는 키 값 쌍, 원시 텍스트(raw text), 또는 원시 바이너리(raw binary)의 사전(dictionary)일 수 있다). 아키텍처 독자적 공유 메모리 구조체 및 공통의 세마포어 동기화 패턴을 사용하면 상호 연결된 모듈들이 명령을 보내고 받으며 이벤트 통지를 빠르고 효율적으로 수신하게 해줄 수 있다. 예시적인 일 실시예에서, 모듈은 명령을 중앙집중 서비스를 통해 라우팅하는 대신 직접 서로에게 전달할 수 있으며, 이벤트 통지는 본 출원에서 기술된 바와 같이, 메시지 큐 및 버퍼를 이용하여 구현될 수 있다. 이벤트는 테스팅 장치(104)와 같이 이벤트 통지를 모든 모듈에게 포워드하는 중앙의 분배관리자(dispatcher)를 통하여 라우트될 수 있다. 본 출원에서 논의된 바와 같이, 명령(예를 들면, 상태 머신(406)에서 SPC 모듈(408)로 전해지는 명령)은 발원 지점으로부터 목적지 모듈로 바로 송신될 수 있는 한편 이벤트 통지는 발원 지점으로부터 테스트 셀 통신 프레임워크 상의 모든 모듈에게 송신될 수 있다.
예시적인 테스트 셀 통신 프레임워크는 이벤트 통지를 통계적 분석 및 공정 제어 프레임워크(400)의 모듈들에게 공급하여 모듈들이 테스팅 공정을 따르도록 할 수 있다. 예시적인 일 실시예에서, 테스트 진행을 중단하지 않되 SPC 룰 실행이 실시간으로 이루어질 수 있도록 가용 계산 자원의 계산 윈도우가 곧 올 것으로 예측되고 예상될 수 있다. 이벤트 통지는 비동기적으로 송신될 수 있지만, 명령은 동기적으로 발생될 수 있다.
아래에서 상세히 기술되는 바와 같이, 상태 머신(406) 및 SPC 모듈(408)과 같은 모듈의 액션은 테스트 셀에서 이벤트 통보 관련 활동을 수신하는 것에 좌우될 수 있다. 테스트 통지는 상호 연결된 모듈들에게 어떤 이벤트가 발생하고 있는지 그리고 테스트 셀이 현재 어느 테스트 흐름에 있는지를 알려준다. 예를 들면, 상태 머신(406)은 이벤트 통보를 이용하여 그 이벤트 통보가 줄어든 테스팅 기간이 시작되었다고 보고할 때 (예를 들면, 프로버/핸들링 장비 인덱싱의 기간이 시작되어 테스트 위치로 이동하였을 때, 또는 XY 위치에서 현재의 테스트 흐름이 완료되고 프로버(108)가 새로운 XY 위치로 이동한 때 등) SPC 모듈(408)이 SPC 룰 검증 차례에 들어가도록 할 수 있다. 일 실시예에서, SPC 모듈(408)은 상태 머신(406)으로부터의 명령에 의해 지시된 대로 SPC 룰 검증을 수행하는데, 이때 상태 머신은 테스팅 프로세스의 상태, 예를 들면 테스트 셀이 속한 테스팅 프로세스에서 어떤 SPC 룰이 검증 받을 준비가 되어 있는지를 추적한다. 예시적인 일 실시예에서, 다이 또는 롯의 시작이나 종료 시에 실행되는 또는 바늘 세척 또는 다른 변동 이후에 실행되는 SPC 룰은 수신된 이벤트 통보에 좌우될 수 있다. 예를 들면, SPC 모듈(408)은 SPC 룰의 다음 실행에 앞서 또는 테스트의 시작이나 마지막에서 기설정된 수량의 테스트된 부품과 같은 특정 테스트 조건(예를 들면, 간격)이 충족되었을 때 SPC 룰 검증을 수행할 수 있다. 본 출원에서 논의된 바와 같이, 예시적인 일 실시예에서, SPC 룰 검증은 수신된 이벤트 통보에 의해 결정된 것처럼 상태 머신(406)으로부터의 명령에 의해 지시된 대로 SPC 모듈(408)에 의해 수행될 수 있다.
도 4에 도시된 이벤트 모니터(404)는 상태 머신(406)에서 상태 천이를 일으키는 이벤트를 제공할 수 있다. 이벤트는 또한 다른 모듈이 이용할 수도 있다. 예시적인 이벤트의 예는 TESTPROGRAM_EXEC_STARTED, TESTPROGRAM_EXEC_COMPLETED, LOT_STARTED, 및 TESTFLOW_EXEC_COMPLETED이다. 예시적인 상태 머신(406)은 이벤트를 쫓아 천이함으로써 현재 상태를 추적할 수 있다. 이러한 예시적인 상태 천이는 SPC 룰이 평가되게 해줄 수 있는 예시적인 함수 콜백을 실행할 수 있다. 예시적인 일 실시예에서, 상태 머신(406)은 SPC 룰의 다운로드, 평가, 액션 실행 및 보고를 동기화할 수 있다. 본 출원에서 논의된 바와 같이, 이벤트 모니터(404)에 의해 발생된 이벤트 통보는 테스트 셀 통신 프레임워크를 거쳐 통계적 분석 및 공정 제어 프레임워크(400)의 모든 모듈들에게 전송되어, 상태 머신(406) 및 SPC 모듈(408)과 같은 모듈이 주요 이벤트가 발생할 때를 통지 받도록 할 수 있다. 예시적인 일 실시예에서, 본 출원에서 논의된 바와 같이, 상태 머신(406)은 수신된 이벤트 통보에 기초하여 SPC 모듈(408)에게 SPC 룰 검증을 위한 명령을 전송할 수 있다.
예시적인 SPC 모듈(408)은 롯의 시작 시에 질의된 SPC 룰을 사용할 수 있으며, 상태 머신(406)의 제어 하에서, 이러한 룰을 요청된 간격 마다 실행할 수 있다. 예시적인 통계적 공정 제어 모듈(408)은 또한 SPC 데이터를 위해 빈 제어 모듈(410) 및 MVM 모듈(412)을 이용할 수 있다. 예시적인 일 실시예에서, SPC 모듈(408)은 SPC 룰을 실행한다(예를 들면, SPC 룰의 모든 검증 및 평가를 수행한다). 예시적인 빈 제어 모듈(410)은 전체적인 빈 카운트, 연속 빈 카운트, 및 (전체 및 사이트 별) 수율 값을 추적할 수 있다. 예시적인 일 실시예에서, 빈 제어 모듈(410)은 수율 및 빈 값을 계속 파악한다.
예시적인 MVM 모듈(412)은 값 및 테스트 시간 통계치를 전체 및 사이트별로 추적할 수 있으며, 또한 30초 간격마다 원시 데이터를 캡처할 수 있다. 예시적인 일 실시예에서, MVM 모듈(412)은 테스트 결과를 모니터하고 즉석(on-the-fly) 통계 계산을 제공할 수 있다. 예시적인 프로버/핸들러 수퍼바이저(414)는 애플리케이션 모델 또는 상태 머신(406)에 의해 요청된 대로 프로버 또는 핸들러 드라이버의 실행을 로드하고 제어할 수 있다. 예시적인 일 실시예에서, 프로버/핸들러 수퍼바이저(414)는 SPC 룰-개시된 액션(예를 들면, 바늘 세척)을 실행하기 위해 프로그램적 보류(programmable hold-off) 상태를 제공할 수 있다. 아래에서 논의되는 바와 같이, 보류 상태는 테스트 프로그램(103)으로부터 발행된 프로버 또는 핸들러 명령을 보류할 수 있으며 한편으로 상태 머신(406)으로부터 발행된 프로버 또는 핸들러 명령은 실행된다. 그러한 보류는 테스트 프로그램(103)에 명료하다.
예시적인 일 실시예에서, 통계적 분석 및 공정 제어 프레임워크(400)는 파라메트릭 테스트 값 통계 및 테스트 시간 통계와 같은 SPC 필요 데이터를 수집할 수 있는 모듈과 효율적으로 통신할 수 있고 제어할 수 있게 해준다. 그리고 프레임워크는 SPC 룰이 불합격일 때 SPC 액션의 빠르고 투명한 실행을 짧은 루프로 수행되게 할 수 있다. 예시적인 일 실시예에서, 짧은 루프 SPC 룰은 최소의 오버헤드로 체크되며 검출된 공정 제어 룰 불합격에 대응하는 액션은 빠르게 이루어질 수 있다. 예시적인 통계적 분석 및 공정 제어 프레임워크(400) 실시예는 이것을 모듈 간 명령 및 이벤트 통보를 포함하는 매우 빠른 통신을 제공함으로써 성취할 수 있다. 이러한 통신은 상태 머신(406)과 조화될 수 있다. 따라서, 모든 모듈은 테스트흐름 실행 또는 실행 준비 중인 테스트 셀 프로그램의 끝과 같은 중요한 테스트 셀 이벤트를 알 수 있다.
예시적인 일 실시예에서, 통계적 분석 및 공정 제어 프레임워크(400)는 특정 액션을 구현하는 컴포넌트(예를 들면, 모듈)을 가진 모듈라 아키텍처를 이용한다. 예시적인 통계적 분석 및 공정 제어 프레임워크(400)의 심장부는 SPC 룰의 질의, SPC 룰 실행(예를 들면, 검증), 및 요청된 액션의 실행을 조율하는 상태 머신(406)이다. 상태 머신(406)은 SPC 룰을 평가하는데 필요한 각각의 모듈과 통신한다. 예시적인 일 실시예에서, MVM 모듈(412)은 측정된 값 및 테스트 스위트 테스트 시간에 관한 원시 데이터 및 통계 데이터의 두 가지를 제공할 수 있다. 빈 제어 모듈(410)은 빈 카운트 및 수율 두 가지(전체 및 사이트 별로)를 제공할 수 있다. 프로버/핸들러 수퍼바이저(414)는 필요하면 추가의 테스트 실행을 보류할 수 있다. SPC 룰이 평가되는 동안 다음 테스트 흐름이 실행될 수 있다.
상태 머신 모듈:
도 4 및 도 5에 도시된 바와 같이, 맞춤화 가능한 상태 머신(406)은 모든 컴포넌트를 테스트 셀 컨트롤러(102) 및 재료 핸들링 장비(106)와 동기화시킬 수 있다. 도표 중심의(tabular-driven) 상태 머신(406)은 예시적인 state machine.xml 파일로 정의될 수 있다. 다른 실시예에서, 다른 파일 포맷이 사용될 수 있다. 이 파일은 이벤트가 어떻게 한 상태에서 다른 상태로 천이를 일으키는지 그리고 어느 C++ 콜백 함수(502)가 상태 변동에 따라 호출되어야 하는지를 기술할 수 있다. C++ 콜백(502)은 SPC 룰 액션(룰 검증 등)을 실시할 수 있다. 이러한 XML 파일은 가능한 이벤트 및 현재 상태 그리고 현재 상태 및 이벤트인 경우 다음 상태가 무엇인지를 정의한다. 각각의 천이는 콜백 및 천이 ID를 가질 수 있다. 예시적인 state machine.xml은 또한 모든 가능한 상태를 정의할 수 있으며 그리고 같은 천이이되 상이한 이벤트에 의해 야기된 천이에 대한 고유 콜백을 제공할 수 있다. 특정한 천이시에 실행하는 각각의 예시적인 콜백은 통계적 분석 및 공정 제어 프레임워크 모듈과 통신하여 특정 액션(예를 들면, SPC 룰 체크하기 또는 액션 실행하기)을 발생할 수 있다.
도표 중심 상태 머신 모듈(406)은 변경불가하게 부호화된 상태 머신과 비교하여, 이해하기 쉽고, 수정하기 쉽고, 지원하기 쉬운 프로그래밍 코드를 사용할 수 있게 해준다. SPC 모듈(408)은 상태 머신 모듈(406)에 의해 지시된 대로 SPC 룰을 실행할 수 있다. 예시적인 일 실시예에서, 상태 머신 모듈(406)은 어떤 SPC 룰이 SPC 모듈(408)에 의해 실행될 것인지 알지 못한다. 다시 말해서, 상태 머신 모듈(406)이 SPC 모듈(408)에게 트리거를 송신하여 수신된 이벤트 통지에 기초하여 SPC 룰 실행(예를 들면, 효율적 처리를 위한 특정 간격 또는 원하는 계산 윈도우를 식별하기)을 시작할 수 있게 하지만, 상태 머신 모듈(406)은 SPC 룰 트리거에 대응하여 어떤 SPC 룰이 검증될 것인지 알지 못한다. 상태 머신 모듈(406)은 모듈끼리를 중재할 수 있으며, 물리적 액션 또는 일부 다른 액션을 일으키는 명령이 송신(예를 들면, 명령을 프로버/핸들러 수퍼바이저(414)로 송신)되었을 때, 상태 머신 모듈(406)은 충돌하는 명령이 송신되었을 때 중재할 수 있다.
롯 레시피 제어 모듈:
도 4 및 도 6에 도시된 바와 같이, 예시적인 롯 레시피 제어 모듈(402)은 데이터베이스 서버(416)와의 인터페이스를 제공한다. 롯이 시작할 때, 롯 레시피 제어 모듈(402)은 데이터베이스 서버(416)로부터 SPC 룰을 포함하는 롯 레시피를 다운로드한다. 예시적인 일 실시예에서, 롯 레시피 제어 모듈(402)은 현재 시험 대상 소자, 테스트 프로그램, 및/또는 소트 번호에 기초하여 데이터베이스(416)에게 SPC 룰을 질의하는 기능을 제공할 수 있다. 예시적인 일 실시예에서, 이러한 SPC 룰은 테스트 엔지니어 또는 생산 엔지니어에 의해 이미 저장되었을 수 있다. 롯 레시피 제어 모듈(402)은 416에게 SPC 룰을 질의하고 그리고 나서 SPC 룰을 C++ 데이터 구조로 포맷하는데, 이 데이터 구조는 SPC 모듈(408)이 각 SPC 룰 위반에 대하여 평가하고, 실행하고 결정하는 데 사용된다. 다운로드된 SPC 룰은 (수신된 이벤트 통보에 의해 결정된 대로) 새로운 롯이 시작될 때 상태 머신 모듈(406)에 의해 트리거될 수 있다. 예시적인 일 실시예에서, 임의의 다른 모듈이 일련의 현재 SPC 룰을 질의할 수 있지만, SPC 모듈(408)은 SPC 룰 실행의 주요 책임을 지고 있다.
통계적 공정 제어(SPC) 모듈:
도 4 및 도 7에 도시된 바와 같이, 예시적인 SPC 모듈(408)은 SPC 룰을 실행하고 액션이 필요할지를 여부를 결정하는 기능을 수행할 수 있다. 예시적인 일 실시예에서, SPC 모듈(408)은 프로버/핸들링 장비 인덱싱, 웨이퍼의 마지막, 롯의 마지막 등과 같은 특정 상태에서 상태 머신 모듈(406)에 의해 호출될 수 있다. 예시적인 일 실시예에서, SPC 룰이 불합격일 때, SPC 모듈(408)은 그 결과 및 임의의 요청된/요구된 액션을 상태 머신 모듈(406)에게 반환할 수 있다. 예시적인 일 실시예에서, 상태 머신 모듈(406)은 요청된 액션을 실행한다. SPC 룰 결과는 30초 이내에 데이터베이스(416)에 저장될 수 있다. 예시적인 일 실시예에서, SPC 룰 결과는 구성가능한 파라미터에 따라서 데이터베이스(416)에 저장될 수 있다. 구성가능한 파라미터는 데이터가 데이터베이스(416)에 송신되는 간격을 설정할 수 있다. 예를 들면, 5, 10, 또는 30초와 같은 임의의 간격이 선택될 수 있다.
예시적인 일 실시예에서, SPC 모듈(408)은 롯 레시피 제어 모듈(402)로부터 온 SPC 룰을 이용하여 언제 SPC 룰이 검증될지, 어느 파라미터가 체크될지, 그리고 룰 불합격의 경우 어떤 액션이 실행될지를 결정한다. 예시적인 일 실시예에서, SPC 모듈(408)은 SPC 룰을 평가만 할 뿐이며 룰 액션(예를 들면, 룰 불합격에 대응하는 액션)은 상태 머신 모듈(406)에게 남긴다. SPC 모듈(408)은 합격/불합격 상태 및 액션을 상태 머신 모듈(406)에게 전달한다. 예시적인 일 실시예에서, 상태 머신 모듈(406)은 SPC 모듈(408)을 호출한 다음 SPC 모듈(408)로부터 SPC 룰의 실행 결과를 수신함으로써 SPC 룰 평가를 실행한다. 예시적인 일 실시예에서, SPC 룰은 테스트흐름 평가의 마지막, 웨이퍼의 마지막, 또는 롯의 마지막에서 평가될 수 있다. 이러한 평가는 재료 핸들링 장비(106)의 프로버(108) 및 핸들러(110)의 인덱스 시간(예를 들면, 마지막 테스트 흐름의 종료와 다음 테스트 흐름 실행의 시작 사이의 휴지 시간 - 이때 소자 스위치 아웃, 비닝(binning), 프로버(108)를 웨이퍼 상의 XY 위치에서 다른 XY 위치로 이동하기와 같은 다양한 동작이 수행될 수 있음) 동안 발생하도록 시한 설정될 수 있다.
프로버/핸들러(PH) 수퍼바이저:
도 4 및 도 15에 도시되고 아래에서 상세히 기술되는 바와 같이, 예시적인 프로버/핸들러 수퍼바이저(414)는 상태 머신 모듈(406)에 의해 지시된 대로 프로버/핸들러 수퍼바이저(414)에 의해 중재된 복수개의 시작 지점으로부터 복수개의 명령을 수신할 수 있다. 테스트 프로그램(103)으로부터 수신된 명령은 보류 상태에 놓일 수 있는 반면 상태 머신 모듈(406) 및 SPC 모듈(408)로부터 수신된 명령은 프로버/핸들러 수퍼바이저(414)에 의해 실행된다. 일단 프로버 또는 핸들러 명령이 완료되면, 보류가 해제될 수 있다. 아래에서 기술되는 바와 같이, 상태 머신 모듈(406)로부터 온 프로버 또는 핸들러 명령의 삽입은 테스트 프로그램(103)의 애플리케이션 모델에 명료하다. 예를 들면, 테스트 프로그램(103)의 애플리케이션 모델이 테스트할 새로운 부품에 대해 질의 중인 경우, 어떤 부품이 테스트 대상인지를 결정하라는 명령이 테스트 프로그램(103)에 의해 발행될 수 있고, 그 이면에서, 상태 머신 모듈(406)은 테스트 프로그램(103)로부터의 임의의 명령을 프로버/핸들러 수퍼바이저(414)에다 보류해 놓기로 정할 수 있는 반면 상태 머신 모듈(406)로부터의 다른 프로버 또는 핸들러 명령은 첫 번째로 실행된다.
빈 제어 컴포넌트:
도 4 및 도 8에 도시된 바와 같이, 예시적인 빈 제어 모듈(410)은 비닝 및 수율 값을 계속 파악하고 있을 수 있다. 빈 제어 모듈(410)은 이 정보에 액세스할 필요가 있는 SPC 모듈(408) 및 임의의 다른 컴포넌트(예를 들면, 수율 모니터 또는 웨이퍼 맵 디스플레이)에게 명령 인터페이스를 제공할 수 있다. 예시적인 일 실시예에서, 빈 제어 모듈(410)은 전체적으로 그리고 사이트별로 소프트웨어 및 하드웨어 빈 카운트 및 수율 카운트 모두를 평가할 수 있다. 예시적인 빈 제어 모듈(410)은 또한 연속 빈 카운트를 계속 파악할 수 있다. 이러한 카운트에다 전체 및 퍼 사이트 수율을 더한 것은 이러한 개수를 추적하는 SPC 룰을 구현하는데 사용될 수 있다.
측정 값 모니터(MVM) 모듈:
도 4 및 도 9에 도시된 바와 같이, 예시적인 MVM 모듈(412)은 표 7에 열거된 다음과 같은 액션 중 하나 이상을 수행할 수 있다.
Figure 112014108112686-pct00007
예시적인 일 실시예에서, MVM 모듈(412)은 측정된 값 및 테스트 스위트 테스트 시간을 캡처할 수 있는 테스트 프로그램 이벤트 데이터 로깅(test program event data logging (EDL)) 클라이언트일 수 있다. 일 실시예에서, EDL 이벤트 스트림은 테스트 정보 및 테스트 결과를 포함하는 테스트 프로그램 이벤트 스트림일 수 있다. MVM 모듈(412)은 또한 EDL 이벤트 스트림을 모니터할 수 있으며, 유용한 데이터를 테스트 프로그램(103)이 실행 중인 동안에는 실시간으로 캡처하거나 또는 저장된 데이터 수집 파일을 이용하여 오프라인으로 캡처할 수 있다. MVM 모듈(412)은 EDL 이벤트 스트림을 온라인과 오프라인 모드에서 처리할 수 있다. MVM 모듈(412)은 많은 테스트 실행을 통해 수집한 값을 처리하여 평균, 최소, 최대 및 표준 편차와 같은 통계 데이터를 보고한다. MVM 모듈(412)은 또한 테스트 스위트 테스트 시간을 보고할 수 있도록 각 테스트 셀 실행 마다 시작과 완료 타임스탬프를 수집한다. 이러한 측정치는 각기 명명된 테스트 스위트 별로 최소, 최대 및 평균 시작 시간 값에 관한 통계 데이터를 생성하는데 사용될 수 있다. 값 및 테스트 시간의 통계적 보고 이외에도, MVM 모듈(412)은 또한 원시 값 로그 파일을 매 30초 마다 기록할 수 있다. 이러한 파일은 웨이퍼가 테스트되는 동안 값 및 테스트 시간 웨이퍼 맵을 실시간으로 디스플레이하는 역량을 제공할 수 있다.
예시적인 MVM 모듈(412) 실시예는 SPC 룰 평가를 위해 실시간으로 질의 받을 수 있다. MVM 모듈(412)은 또한 원시적 또는 통계적 웨이퍼 (예를 들면, 테스트-대상-소자) 파일을 주기적으로 기록할 수 있으며, 이 파일은 웹 서버(902)에 의해 웨이퍼 맵 - 웨이퍼 맵은 반도체 웨이퍼 등의 테스트 결과의 맵을 제공함 - 과 같은 요약 스크린을 디스플레이하는데 사용될 수 있다. 예시적인 상태 머신 모듈(406)은 또한 모니터되어야 하는 테스트를 가진 MVM 모듈(412)을 초기화할 수 있으며 SPC 모듈(408)은 SPC 룰을 평가하는데 필요할 때 질의할 수 있다.
예시적인 일 실시예에서, 모든 MVM 데이터는 데이터베이스 서버(416)와 같은 메모리 내에 보관될 수 있다. 이러한 메모리 저장소는 고속의 질의 시간을 제공할 수 있고 통계 보고를 위한 대형 데이터 그룹을 처리할 때 처리 시간을 개선할 수 있다. 예시적인 일 실시예에서, 보관될 필요가 있는 임의의 데이터는 웨이퍼 테스팅 중에 또는 웨이퍼 또는 롯의 마지막에서 XML 파일로 자동 기록될 수 있다. 예시적인 일 실시예에서, 도 9에 도시된 바와 같이, MVM 모듈(412)은 또한 질의를 전달할 수 있고 MVM 데이터를 차트, 히스토그램 및 웨이퍼 맵의 형태로 디스플레이할 수 있는 로컬 MVM 클라이언트 그래픽 유저 인터페이스(GUI)(904)를 지원받을 수 있다. 로컬 MVM 클라이언트 GUI(904)는 또한 통계적 분석 및 공정 제어 프레임워크(400)가 구동 중인 동안 사용될 수 있다.
통계적 공정 제어의 맞춤화:
유연한 컴포넌트 프레임워크는 추가적인 룰의 생성을 허용하는 것은 물론이고 기존 SPC 룰을 추가로 편집하고 수정하게 해줌으로써 SPC 룰의 맞춤화를 가능하게 한다. 웹-기반 SPC 룰 편집기를 이용한 그런 SPC 룰의 편집 및 생성은 또한 본 출원에서 상세히 기술된다. 도 4 및 도 10에 도시된 바와 같이, 커스텀 컴포넌트(420)는 이벤트 통보 및 명령의 송신 및 수신을 위해 동일한 테스트 셀 통신 프레임워크를 공유함으로써 표준적인 컴포넌트와 완벽하게 통합할 수 있다. 그러므로 커스텀 컴포넌트는 다른 모듈과 통신할 것이고 테스트 셀 이벤트를 수신할 것이므로 커스텀 컴포넌트는 테스트 셀 활동과 동기화될 수 있다. 커스텀 모듈의 예는 예시적인 공정 파라미터 제어(process parameter control (PPC)) 모듈(1102)이다. 도 11에 도시되고 본 출원에서 기술되는 바와 같이, PPC 모듈(1102)은 롯 시작 동안 상태 머신 모듈(406)에 의해 호출될 수 있다.
공정 파라미터 제어 모듈:
도 11에 도시된 바와 같이, 예시적인 공정 파라미터 제어(PPC) 모듈(1102)은 테스트 프로그램(103)을 구동하는 동안 사용될 수 있는 중요한 파라미터를 계속하여 파악할 수 있다. 이러한 파라미터는 테스트 프로그램 이름, 프로브 카드 ID, 프로버 펌웨어 개정본, 프로버 드라이버 구성, 및 특정 프로브 카드의 터치다운 양을 포함할 수 있다. PPC 모듈(1102)은 롯 실행의 낮은 수율 또는 열악한 처리량에 책임 있는 것으로 발견되는 주요한 파라미터를 체크할 수 있다. 반드시 이 파라미터가 바로 잡히도록 해줌으로써, 통계적 분석 및 공정 제어 프레임워크(400)는 테스트 셋업 시의 과실로 말미암을 수 있는 낭비된 테스트 시간을 방지할 수 있다. PPC 모듈(1102)을 포함하는 통계적 분석 및 공정 제어 프레임워크(400)는 반드시 모든 셋업 파라미터가 확실하게 올바르게 해줌으로써, 수율을 개선하는 한가지 방식을 제공할 수 있다. 많은 낮은 수율 롯은 단순한 문제, 이를 테면, 닳은 프로브 카드(예를 들면, 터치다운), 부정확한 테스트 프로그램, 부적절한 핸들링 장비, 또는 부적절한 펌웨어로 인해 야기되는 것으로 발견될 수 있다. 롯 시작 시 이러한 파라미터를 체크함으로써, 따라서 통계적 분석 및 공정 제어 프레임워크(400)는 비용이 많이 드는 테스팅 과실을 방지할 수 있다.
본 출원에서 기술된 바와 같은 통계적 공정 제어 방법은 테스팅 공정 문제가 테스트 셀 처리량에 영향을 줄 수 있기 전에 일찍이 이 문제를 식별하는 효과적인 방법을 제공할 수 있다. 본 출원에서 기술된 모듈식 프레임워크는 웨이퍼 분류 시 또는 테스트 셀 컨트롤러(102)의 최종 테스트 시 SPC 룰을 구현하는 것과 연관된 과제를 해결할 수 있다. 모듈식 접근방법은 기존의 테스트 셀과 작업할 수 있는 역량과 함께 요인 통합 및 맞춤화에서 높은 수준의 융통성을 허용한다. 통계적 분석 및 공정 제어 프레임워크(400)의 예시적인 실시예는 생산 테스팅을 효과적으로 모니터하고 제어할 수 있으며 또한 그러한 소자의 증가 국면 중에 새로운 테스트-대상-소자를 특징짓기 위한 MVM 모듈(412)과 같은 툴을 제공할 수 있다.
SPC 룰은 자동화된 테스트 장비 환경에서 실시간 제어를 제공할 수 있다. SPC 룰은 장비의 최적 수준으로의 자가-수정을 제공할 수 있다. 예를 들면, 테스크 결과가 합격/불합격 기준을 통과하는 것일 수 있지만, SPC 룰 하에서, 품질 면에서 아직 불합격 수준에 도달하지 않은 검출된 하방 경향이 원하는 최적 수준에 이르도록 수정될 수 있다.
본 출원에 기술된 바와 같이, 그러므로 예시적인 통계 공정 관리 방법은 간단한 합격/불합격 테스팅보다 우수한 방법으로 사용될 수 있다. 통계적 분석 및 공정 제어 프레임워크(400)는 정상적인 공정 파라미터에서 얼마나 멀어져서 구동하는지를 정량적으로 측정하는 방법을 제공할 수 있다. 합격 또는 불합격 테스팅에 따르면, 단순한 흑백 답변이 제공될 수 있지만, 전술한 통계적 공정 제어 방법에 따르면, 실제로 무슨 일이 일어나는지에 대한 그레이 스케일 답변이 제공될 수 있다. 예시적인 통계적 분석 및 공정 제어 프레임워크(400)는 전술한 통계적 공정 제어 방법을 구현하는데 필요한 모듈을 제공하며, 그래서 무시할만한 오버헤드를 유발하는 방식으로 구동한다. 또한, 예시적인 실시간 통계적 공정 제어 및 액션은 애플리케이션 모델을 변동하지 않고 또는 커스텀 프로버 또는 핸들러 드라이버 또는 후크 함수를 기록하지 않고 구현될 수 있다.
MVM 모듈(412), 빈 제어 모듈(410), 및 프로버/핸들러 수퍼바이저(414)와 같은 예시적인 통계적 분석 및 공정 제어 프레임워크 모듈은 또한 엔지니어링 특성화 동안 각기 중요 값을 검사하고, 빈 결과를 모니터하며, 프로버(108)를 상호작용 모드에서 사용하도록 사용될 수 있다. 본 출원에서 논의된 바와 같이, 통계적 분석 및 공정 제어 프레임워크(400) 실시예는 또한 모듈에 액세스하기 위한, 공정 제어 룰 (및 이들의 파라미터)에 대화식으로 액세스하고 맞춤화하기 위한, 그 뿐만 아니라 테스트 대상 웨이퍼 또는 다른 소자가 아직 구동 중인 동안 대화식으로 결과를 질의하기 위한 그래픽 유저 인터페이스를 제공할 수 있다.
테스트 셀 제어를 기술하는 구조 및 알고리즘:
결정 트리의 생성에 사용되는 SPC 룰(제어 룰 및 액션)을 생성하고 정의하는 알고리즘 및 구조가 제공된다. 예시적인 일 실시예에서, 복수개의 SPC 룰은 SPC 룰이 검증될 때를 결정하고 또한 SPC 룰 불합격에 대응하여 액션을 실행하는 순서를 결정할 수 있는, 알고리즘이 생성되고/되거나 따라 나오는, 결정 트리 내에 결합될 수 있어서, 많은 중요한 또는 우선순위의 SPC 룰 불합격/위반이 처음으로 행하여 진다. 예시적인 일 실시예에서, 결정 트리는 생산 문제 해결을 위한 모델링 프로세스를 가장 잘 기술할 수 있는 복합 방식으로 실행될 수 있는 복수개의 SPC 룰을 포함할 수 있다. 예를 들면, 복수의 SPC 룰은 연속 빈 불합격 SPC 룰이 바늘을 세척 한 다음 이전에 알려진 양품의 다이를 재시험하는 것과 결합될 수 있도록 함께 실행될 수 있다.
예시적인 일 실시예에서, SPC 룰 정의는 다용도로 사용하기 위해 데이터베이스(416)에 중앙적으로 저장되고 관리될 수 있다. 예를 들면, SPC 룰은 긴 루프 포맷 또는 짧은 루프 포맷으로 실행될 수 있다. 하나의 예시적인 긴 루프 포맷에서, SPC 룰 실행의 이력 분석은 런 타임 동안 최적한 일련의 SPC 룰(뿐만 아니라 선택된 일련의 SPC 룰의 최적한 순서, 그 뿐만 아니라 SPC 룰의 최적한 조합)을 정의하는데 사용될 수 있다. 예시적인 일 실시예에서, 이력 분석은 시뮬레이션 목적을 위한 런-타임 환경을 정확하게 기술할 수 있다. 또한 이력 분석은 라이브 장비에서 런-타임 실행과 관련된 장점의 예측 수치의 계산을 포함할 수 있다. 예시적인 일 실시예에서, SPC 룰은 마치 이력 데이터가 실시간 데이터인 것처럼 이력 데이터에 대해 실행될 수 있다. 이러한 시뮬레이트된 결과에 기초하여, SPC 룰은 개선된 SPC 룰이 생산 테스팅에서 실행될 수 있도록 최적하게 재정의될 수 있다.
예시적인 일 실시예에서, SPC 룰을 정의하고 기술하는 구조가 사용될 수 있다. 데이터 소스(파라미터)는 특정 SPC 룰을 위한 모니터 입력으로서 정의될 수 있다. 그러면 모니터 입력을 사용하는 룰(통계 및 함수)이 정의될 수 있다. 룰 결과에 기초하여 단언되는 액션 및 이벤트가 정의될 수 있다. 예시적인 일 실시예에서, 이 구조는 소스 대 액션을 일으키는 룰의 다대다 관계를 정의하는데 유연할 수 있다. 예시적인 일 실시예에서, 결정 트리는 실행 시 최적한 조합으로 로드될 수 있고 최적한 순서로 실행될 수 있는 복수의 SPC 룰을 포함할 수 있다. 예시적인 일 실시예에서, SPC 룰 구조는 장비를 이상없는 동작 상태(operational health)로 되돌리려 시도하는데 사용될 수 있는 최적 조합된 SPC 룰 및 액션의 사용을 통하여, SPC 룰 위반이 검출될 때 자동적인 액션 및 장비의 이상없는 작동 상태로의 복구를 제공하는데 사용될 수 있다.
예시적인 일 실시예에서, SPC 룰 구조는 런 타임에서 실행될 수 있다. 런-타임에서 실행될 때 이러한 구조는 임의의 SPC 룰 위반의 중대성은 물론이고, 임의의 SPC 룰 위반에 대응하여 결정된 제어 우선순위를 정의할 수 있다. 마지막으로, SPC 룰 구조는 제어를 수행하는 다른 엔티티와의 충돌을 회피할 수 있다. 예를 들면, SPC 룰이 장비 유지 액션의 실행을 단언할 수 있지만, 테스트 셀이 자동 일정 대로 그저 요청된 유지 이벤트를 수행하는 경우, 요청된 액션은 (이미 자동 일정 대로 수행되었으므로) 수행되지 않을 것이다.
예시적인 일 실시예에서, 통계적 공정 제어 룰은 또한 핸들링 장비(106)의 프로버(108) 및 핸들러(110)에게 보낸 명령의 스케줄링(scheduling)를 동적으로 조정하는데 사용될 수 있다. 예를 들면, 프로버 바늘 세척의 스케줄링은 바늘 세척이 일정한 방식으로 수행된다기 보다(예를 들면, 바늘이 매 50 다이 이후 세척된다 등), 동적으로 조정될 수 있다. 그런 정적 스케줄링은 최적하지 않을 수 있다. 만일 바늘이 너무 자주 세척되면, 바늘은 너무 이르게 닳을 것이지만, 만일 바늘이 충분히 자주 세척되지 않으면, 바늘에 이물질이 쌓일 수 있다. 통계적 분석 및 공정 제어 관리를 이용하면, 바늘 세척은 엄격한 일정에 따라 수행되지 않고, 최적한 방식으로 수행될 수 있다. 유사한 방식으로, 상태 머신 모듈(406)에 의해 테스트 통지의 종료와 같은 이벤트 통보가 수신될 때, 상태 머신 모듈(406)은 현재가 SPC 룰 검증에 적절한 시기인가를 결정할 수 있다. 따라서 상태 머신 모듈(406)은 SPC 룰 트리거를 SPC 모듈(408)에 송신하며, 그 결과 SPC 모듈(408)은 SPC 모듈(408)에 의해 수신된 이벤트 통보의 분석을 통해 결정된 대로 검증을 위해 선택된 SPC 룰을 (단독으로 또는 조합하여) 실행하기 시작할 것이다.
도 12는 SPC 룰을 선택 및 결정 트리에 배열하고, 결정 트리에서 SPC 룰을 (단독으로 및 조합하여) 실행하고 SPC 룰 불합격에 대응하여 액션을 실행하는 단계를 도시한다. 도 12의 단계(1202)에서, SPC 룰의 저장소가 액세스되고 복수개의 SPC 룰이 선택된다. 선택된 SPC 룰은 결정 트리에 배열될 수 있다. 일단 결정 트리에 배열되면, 선택된 SPC 룰은 결정 트리 배열 및 수신된 이벤트 통보의 분석에 의해 결정된 바와 같이 실행될 수 있다(예를 들면, (단독으로 또는 조합하여) 검증을 위해 선택된 SPC 룰이 테스트 셀 이벤트에 기초하여 선택될 수 있고 최적한 순서대로 실행될 수 있으며, 임의의 요청된 액션이 각각의 SPC 룰 불합격의 우선순위에 의해 결정된 순서대로 실행될 수 있다).
도 12의 단계(1204)에서, 요청된 테스트 결과의 통계 분석이 수신된다. 각각의 SPC 룰은 하나 이상의 테스트 결과의 통계 분석을 선택할 수 있다. 요청된 통계적 분석은 해당하는 SPC 룰 검증을 위해 평가될 것이다. 본 출원에서 기술된 바와 같이, SPC 룰은 정의된 테스트 진행 간격 한계치가 테스트 결과 및 수신된 이벤트 통보에 의해 결정된 한계치로서 도달될 때까지는 (단독으로 또는 조합으로) 검증되지 않을 것이다.
도 12의 단계(1206)에서, SPC 룰은 이 룰에 대하여 수신된 테스트 결과의 하나 이상의 통계적 분석의 정의된 평가를 수행한다. 예를 들면, MVM 모듈(412)에 의해 수행된 통계적 테스트는 원하는 통계적 테스트에 대해 정의되고/되거나 편집될 수 있다. 통계적 테스트는 또한 대응하는 간격 임계치에 다달을 때 및/또는 이벤트 통보에 의거 SPC 룰을 검증하기 위해 수행된다. 본 출원에 기술된 바와 같이, 수행된 통계적 테스트는 SPC 룰의 정의된 조합에 대해 수행된 테스트일 수 있다.
도 12의 단계(1208)에서, SPC 룰은 하나 이상의 연관된 통계적 분석의 평가에 대응하여 실행될 액션을 선택할 수 있다. 예를 들면, 본 출원에서 기술된 바와 같이, 만일 SPC 룰 검증이 불합격이면, 연관된 액션이 수행될 수 있다. 예시적인 일 실시예에서, 복수개의 SPC 룰이 불합격일 때, 최고 우선순위의 SPC 룰이 그의 액션을 첫 번째로 실행할 수 있다.
테스트 셀 컨트롤러에 필요한 결정 트리의 생성 및 스케줄링:
도 13에 도시된 바와 같이, 테스트 셀 컨트롤러(102)의 예시적인 일 실시예에서, SPC 룰 실행을 위한 결정 트리가 생성되고, 스케줄링되고 실행될 수 있다. 예시적인 일 실시예에서, 핸들링 장비(106)의 프로버(108) 또는 핸들러(110)의 동작과 동기하여 SPC 룰 실행 및 액션을 동기화함으로써 지연 저감이 제공될 수 있다. 도 13에 도시된 바와 같이, 예시적인 일 실시예에서, 소자에 대해 테스트의 실행(1302)의 중간에는, 프로버 및 핸들링 장비 인덱싱 시간(1304)와 같은 테스팅 휴지 기간이 식별될 수 있다. 예시적인 일 실시예에서, 인덱싱 시간은 400-600 ms 지속한다. 이러한 테스팅 휴지 기간(예를 들면, 인덱싱 시간)(1304) 동안 SPC 룰로 이루어진 결정 트리의 생성, 스케줄링 및/또는 실행이 달성될 수 있는 기간이 된다. 도 13에 도시된 바와 같이, MVM 캡처기(13060, SBC 캡처기(1308), PPC 및 SPC 룰 실행(1310) 및 후속 SPC 룰-개시 액션(예를 들면, 프로버(108) 및 핸들러(110) 액션)(1312)이 테스팅 휴지 시간(예를 들면 인덱싱 시간)(1304) 동안 수행될 수 있다.
본 출원에 기술된 바와 같이, 예시적인 "인덱스 시간"은 마지막 테스트 흐름의 끝과 새로운 테스트 흐름 실행의 시작 사이의 총 시간이다. 이 시간은 소자 스위치 아웃, 비닝 등과 같은 많은 상이한 동작을 내포할 수 있다. 예시적인 일 실시예에서, 소자 별로, 웨이퍼 분류 시 인덱싱 시간은 프로버(108)을 웨이퍼 상의 하나의 XY 위치에서 웨이퍼 상의 다른 XY 위치로 배치하는데 소요하고 테스트 컨트롤러에게 다음 테스트를 실행할 준비가 되어 있다고 통보하는데 걸리는 시간이다. 최종 테스트 시, 인덱싱 시간은 핸들러(110)가 패키지에서 소켓을 제거하되 이 소켓을 양호/불량 트레이 내에 채워 넣고 다른 패키지를 그 소켓에 삽입하고 이 패키지가 테스팅을 받기 위해 준비되었음을 테스터에게 통보하는데 필요할 것이다.
예시적인 일 실시예에서, 지연이 낮고 연속 테스팅 공정에 영향을 주는 오버헤드 또는 테스트 시간이 거의 제로인 채로 결정 트리가 실행될 수 있도록, SPC 룰 실행 지연을 줄이려는 기회의 계산 윈도우가 식별될 수 있다. 예를 들면, 결정 트리에서 SPC 룰의 실행은 현재의 테스팅 공정의 유휴 기간 동안 실행될 수 있다. 예를 들면, 도 13에 도시된 바와 같이, SPC 룰은 프로버 및 핸들링 장비 인덱싱 시간 동안 실행될 수 있다. SPC 룰은, 테스트 모니터링의 기간(예를 들면, 테스트 계산의 기간)이 행하여지지 않는 동안 테스트 결과의 분석(예를 들면, 결과 계산의 기간)이 행하여지도록, 테스트 활동이 낮은 기간 동안 검증될 수 있다. 계산 윈도우는, 계산 윈도우가 열리고 닫힐 때의 시간이 식별될 수 있도록, 식별되고 정의될 수 있다. 계산 윈도우의 정의(예를 들면, 그의 시작과 중단 시간)는 결정 트리의 생성 및 실행을 중단하거나, 지연하거나 또는 동기화하는데 사용될 수 있다.
예시적인 일 실시예에서, 계산 윈도우의 정의는 이벤트 스케줄링을 포함한다. 이벤트 스케줄링은 다른 재료가 어디에 위치적으로 배치되어 있는지에 관해 이벤트 정보를 수집하여 동기화된 결정 트리 생성 및 실행을 위한 윈도우 이용가능성을 결정하도록 재료 핸들링 장비(106)와의 통신을 포함할 수 있다. 예시적인 일 실시예에서, 이벤트 가변성을 조정하는 것은 기회의 윈도우(예를 들면, 웨이퍼 분류 시 X-축 대 Y-축의 조정할 때의 가변성, 및 웨이퍼의 끝, 등)를 예상대로 결정하도록 결정될 수 있다.
식별된 계산 윈도우 동안 결정 트리의 생성 및 실행은 예시적인 통계적 분석 및 공정 제어 프레임워크 실시예의 능력을 개선하여 적응적 테스트 프로그램 환경을 제공할 수 있다. 테스트 프로그램 환경은 공정 드리프트 검출 및 방지를 수행하여 제품 흐름에 대해 경보를 발하거나, 중단시키거나 또는 자동으로 액션을 취함으로써 "불량" 제품의 발생을 회피할 수 있다. 예시적인 일 실시예에서, 진단 절차와 같은 유지 자동화는 유지 및 보수 공정의 결과를 개선할 수 있는 구동 중인 생산 공정 내의 계산 윈도우에서 실행될 수 있다.
예시적인 일 실시예에서, 결정 트리의 생성 및 실행은 테스트 셀 내에서 다른 처리와 동반할 수 있다. 예를 들면, 계산 윈도우는 아래에서 논의되는 바와 같이 임의의 프로버/핸들러 수퍼바이저(414) 개시한 보류와 동반할 수 있다.
도 14는 계산 역량이 증가한 식별된 계산 윈도우에서 결정 트리를 생성하고 실행하기 위한 프로세스의 단계를 도시한다. 도 14의 단계(1402)에서, 계산 윈도우는 계산 역량이 증가한 기간이다. 예시적인 실시예에서, 계산 윈도우는 증가된 계산 역량을 갖는 시간 기간이다. 본 출원에서 논의된 바와 같이, 계산 역량이 증가한 기간은 프로버/핸들링 장비 인덱싱 시간과 같은 테스팅 휴지의 기간과 일치할 수 있거나, 또는 본 출원에서 논의된 바와 같이 테스팅 활동이 감소한 다른 기간 에 속할 수 있다. 예시적인 일 실시예에서, 계산 윈도우는 기획되거나 예상된 테스팅 활동에 기초하여 식별된다.
도 14의 단계(1404)에서, 결정 트리는 계산 역량이 증가한 식별된 계산 윈도우 동안 생성된다. 일 실시예에서, 계산 역량이 증가한 기간은 감소한 테스팅 활동과 일치한다.
도 14의 단계(1406)에서, 결정 트리는 테스팅 활동이 감소한 기간과 일치하는 계산 역량이 증가한 식별된 계산 윈도우 동안 실행된다. 일 실시예에서, 결정 트리의 실행은 결정 트리가 생성되었을 때 계산 윈도우와 상이한 계산 윈도우에서 이루어질 수 있다. 예시적인 일 실시예에서, 결정 트리의 실행은 테스트 데이터 획득, 테스트 데이터 통계적 분석, 및 테스트 데이터의 통계적 분석에 대응하여 액션의 실행 중 적어도 하나를 포함한다.
PH 수퍼바이저 모듈 및 프록시 PH 드라이버: 테스트 셀 동작을 방해하지 않고 제어 또는 데이터 수집을 삽입하는 인터포저:
도 15에서 도시된 바와 같이, 프로버/핸들러 수퍼바이저(414)는 액션이나 데이터 수집을 테스트 셀 동작에 삽입하는 인터포저로서 사용될 수 있다. 본 출원에서 기술된 바와 같이, 예시적인 일 실시예에서, 프로버 또는 핸들러 명령은 생산 공정에 삽입될 수 있으며, 이 명령은 끊김없이 그리고 테스트 셀에 지장을 주지 않고 삽입된다. 도 15에 도시된바와 같이, 테스트 프로그램(103)은 함수 호출을 송신하고 그 답례로 프록시 프로버/핸들러 드라이버(1502)로부터 응답을 수신한다. 함수 호출을 수신하면, 이 함수 호출은 프록시 PH 드라이버(1502)로부터 프로버/핸들러 수퍼바이저(414)로 포워드될 수 있고, 이곳에서 제어 명령 및 다른 상태 요청 통신이 커스텀 또는 표준 PH 드라이버 라이브러리(1504)를 경유하여 핸들링 장비(106)의 프로버(108) 또는 핸들러(110)에 전달될 수 있다. 일 실시예에서, 제어 명령 및 상태 요청 통신은 GPIB 명령이다. 예시적인 일 실시예에서, 제어 명령 및 상태 요청 통신은 GPIB, RS-232, 및 LAN과 같은 버스를 통해 전송될 수 있다.
도 15에 도시된 바와 같이, 테스트 실행 서버(1506)는 상태 머신(406)과 테스트 셀 API(1508) 사이에 배치될 수 있다. 예시적인 일 실시예에서, 상태 머신(406)은 테스트 실행 서버(1506)를 통해 테스트 셀 API(1508)에 액세스할 수 있다. 또한 도 15에서, 알람 및 이벤트가 테스트 실행 서버(1506)를 통해 상태 머신(406)으로 전달되는 것으로 도시되어 있다. 다시 말해서, 테스트 실행 서버(1506)는 테스트 셀 API(1508)를 테스트 셀의 모듈로부터 직접적인 액세스를 하지 못하게 격리하도록 사용될 수 있다. 예시적인 일 실시예에서, 테스트 실행 서버(1506)는 상태 머신과 테스트 셀 API(1508) 사이의 인터페이스로서 사용된다. 알람 및 이벤트는 테스트 실행 서버(1506)에 의해 수신될 수 있고, 이 서버는 이것을 상태 머신 모듈(406) 및 테스트 셀 아키텍처 내 다른 모듈로 발송한다.
일 실시예에서, 명령을 사이에 삽입하는 기능 없이도, 테스트 프로그램(103)의 애플리케이션 모델은 핸들링 장비(106)(예를 들면, 프로버(108) 또는 핸들러(110))와 직접 통신하는 라이브러리 드라이버를 호출한다. 그러므로, 예시적인 실시예에서, 프록시 라이브러리(1502)가 설치되며, 이 곳에서 테스트 프로그램(103)의 애플리케이션 모델은 드라이버 라이브러리를 찾을 것이다. 일 실시예에서, 프록시 라이브러리(1502)는 테스트 프로그램(103)의 애플리케이션 모델의 전통적인 라이브러리처럼 보일 수 있다. 본 출원에서 기술된 바와 같이, 프록시 라이브러리(1502)는 테스트 셀 명령 프레임워크를 이용하여 명령을 애플리케이션 모델로부터 프로버/핸들러 수퍼바이저(414)로 포워드할 수 있고, 수퍼바이저는 커스텀 또는 표준 PH 라이브러리(1504)를 이용하여 수신된 명령을 실행할 수 있다.
도 15에 도시된 바와 같이, 추가의 프로버 또는 핸들러 명령은 (테스트 프로그램(103) 대신) 통계적 분석 및 공정 제어 프레임워크(400)의 모듈에 의해 개시될 수 있다. 일 실시예에서, 추가의 프로버 또는 핸들러 명령은 상태 머신 모듈(406)에 의해 개시된다. 본 출원에서 논의된 바와 같이, 그러한 추가 프로버 또는 핸들러 명령은 검출된 SPC 룰 위반 또는 불합격에 대응하여 SPC 룰-개시된 액션일 수 있다. 본 출원에서 기술된 바와 같이, z-높이 조절 또는 바늘 세척과 같은 SPC 룰-개시된 액션은 테스트 동작에 투명하게 삽입될 수 있다. 예시적인 일 실시예에서, SPC 룰-개시된 액션이 미리정의된 (예를 들면, 다음 테스트 대상 유닛을 검색하려는 핸들러의 동작 동안) 시간에 실시될 필요가 있을 때, PH 수퍼바이저(414)는 SPC 요청된 액션이 완료되는 시간까지 보류를 테스트 셀 동작에다 삽입할 수 있다. 그러한 보류는 테스트 프로그램(103)으로부터 더 이상의 임의의 함수 호출이 재료 핸들링 장비(106)(예를 들면, 프로버(108) 및 핸들러(110))로 전달되지 못하게 할 것이다. 예시적인 일 실시예에서, 테스트 셀은 바늘을 세척하라는 또는 다른 핸들링 장비 함수를 수행하라는 주기적인 명령을 발행하며, 그래서 본 출원에 기술된 바와 같이 삽입된 명령이 그 즈음에 스케줄링된될 수 있으며/있거나 명령의 스케줄링을 참작할 수 있어서, SPC 룰 개시된 액션이 스케줄링된 테스트 셀-개시된 명령과 중복하지 않을 것이다.
도 15에 도시된 바와 같이, 예시적인 PH 수퍼바이저(414)는 애플리케이션 모델로부터 프로버 또는 핸들러 장비 드라이버 호출의 실행과 동기화함으로써 상태 머신(406)을 테스트 프로그램(103)의 실행과 동기화시킬 수 있다. 상태 머신(406) 및 테스트 프로그램(103)은 테스트 프로그램-개시된 PH 호출을 보류함으로써 동기화될 수 있으므로, 상태 머신(406)은 SPC 룰-개시된 액션을 수행할 수 있고 필요에 따라 PH 수퍼바이저(414) 내 PH 드라이버 라이브러리에 액세스할 수 있다. PH 수퍼바이저(414)는 SPC 룰-개시된 액션이 z-높이 조정, 바늘 세척, 및 상태 질의 및 제어를 수행하게 할 수 있다. 예시적인 일 실시예에서, PH 수퍼바이저(414)는 테스트 프로그램(103)의 애플리케이션 모델로부터의 프로버 또는 핸들러 장비 드라이버 호출의 실행과 동기화함으로써 상태 머신(406)을 테스트 프로그램(103)의 실행과 동기화시킬 수 있다. 이러한 동기화는 프로버/핸들러 인덱스 시간 (예를 들면, 핸들링 장비(106)가 웨이퍼 분류 시 프로버(108)를 재위치 설정함으로써 또는 최종 테스트 시 다음 테스트-대상-소자를 검색함으로써 다음 테스트 흐름을 준비하는 기간 등) 동안 상태 머신(406)이 SPC 룰 체크 및 SPC 룰-개시된 액션을 수행하게 할 수 있다.
예시적인 일 실시예에서, 예시적인 PH 수퍼바이저(414)는 표 9에 열거된 함수를 수행할 수 있다.
Figure 112014108112686-pct00008
도 15에 도시된 바와 같이, 테스트 프로그램 애플리케이션 모델은 정상 PH 드라이버 함수를 호출하는 것과 동일한 방식으로 프록시 PH 드라이버(1502)를 호출할 수 있다. 다시 말해서, 테스트 프로그램 애플리케이션 모델은 그의 명령이 프록시 라이브러리(1502)에 의해 수신되며 그리고 PH 드라이버 라이브러리(1504)에 의해 수신되는 대신 PH 드라이버 라이브러리(1504)에게 전달된 것을 알지 못한다. 프록시 라이브러리(1502)는 함수 실행 요청을 IPC 메시지 큐를 이용하여 PH 수퍼바이저(414)로 전달할 수 있다. 대부분의 사례에서, PH 수퍼바이저(414)는 커스텀 또는 표준 PH 드라이버 라이브러리(1504) 내에서 일치하는 호출을 실행할 수 있다. 예시적인 일 실시예에서, 프록시 라이브러리(1502)는 애플리케이션 모델에 의해 로드되며 두 핸들러 드라이버 및 프로버 드라이버에 대해 모든 함수 호출의 상위집합을 갖는다.
예시적인 일 실시예에서, PH 수퍼바이저(414)의 동작은 테스트 셀의 실행에다 오버헤드를 추가하지 않을 것이다. 이러한 이유 때문에, (테스트 프로그램으로 부터) PH 호출의 보류는 프로버 또는 핸들링 장비 인덱싱 시간(예를 들면, 핸들링 장비(106)가 웨이퍼 분류 시 프로버(108)를 재위치 설정함으로써 또는 최종 테스트 시 다음 테스트-대상-소자를 검색함으로써 다음 테스트 흐름을 준비하고 있는 동안의 테스트 휴지의 기간)과 같은 테스팅 휴지 동안 발생할 수 있다. 예시적인 일 실시예에서, 다음 패키지 또는 다이를 로드하는 PH 드라이버 호출은 보류 상태로 놓일 수 있다. 일 실시예에서, PH 수퍼바이저(414)의 오버헤드는 대략 호출 당 200 μsec 처럼 극히 적다.
물리적인 액션(예를 들면, 바늘 세척 등)을 행하는 결정은 최적한 시간에 실행될 필요가 있다. 본 출원에서 기술된 바와 같이, 정상적 테스트 공정은 임시적으로 보류 상태에 놓일 수 있으므로 요청된 물리적 액션은 생산 시스템을 최적한 성능 수준으로 가져다 놓을 수 있다. 예시적인 명령(예를 들면, 삽입된 물리적 액션)이 잠재적으로 테스팅을 늦출 수 있지만, 공정을 수정하는 것 또는 부적절한 테스팅 또는 불량 컴포넌트의 추가적으로 불필요한 테스팅을 방지하는 것은 나중의 테스팅을 개선할 것이다. 본 출원에서 기술된 바와 같이, 예시적인 실시예의 한가지 목적은 SPC 룰을 맞춤화하고, 결정 트리를 구축하며, 테스트 활동이 낮은 원하는 주기에서 결정 트리를 실행함으로써, 그 뿐만 아니라 프로그래밍 모델이 그의 장비 핸들러 명령에 대해 보류 사실을 알게 되는 일 없이 프로버 및 핸들러 명령을 투명하게 삽입함으로써 생산을 최적화하는 것이다.
도 16은 ATE 테스트 셀에 의해 실행된 테스트 흐름의 예시적인 흐름도를 도시한다. 도 16의 단계(1602)에서, 소자 테스트가 개시된다. 도 16의 단계(1604)에서, 테스트를 위한 다음 다이를 갖고 오라는 명령이 실행된다. 본 출원에서 논의된 바와 같이, 이 요청은 PH 수퍼바이저(414)에게 전달되며, 이 때 도 16의 단계(1606)에 도시된 바와 같이, 프로버 또는 핸들러 명령은 SPC 룰-개시된 액션이 실시되는 동안 보류 상태로 놓일 수 있다. SPC 룰-개시된 액션이 완료되면, PH 수퍼바이저(414)에 의해 보류가 해제될 수 있으며 PH 명령이 포워드되고 다음 요청된 다이가 검색될 것이다. 도 16에서 도시된 바와 같이, 테스트 흐름은 단계(1606)로부터 다시 단계(1604)로 리턴한다. 도 16의 단계(1604)로 리턴하면, 그리고 다이 입수 명령이 완료되면, 테스팅 공정은 도 16의 단계(1608)에서 지속할 것이며 이 테스팅은 새로이 배치된 다이에 대해 시작할 것이다. 도 16의 단계(1610)에서, 핸들링 장비(106)의 프로버(108) 및 핸들러(110)는 인덱싱 시간에 진입할 것이다. 본 출원에서 논의된 바와 같이, 그러한 인덱싱 시간은 테스팅 활동이 인덱싱 동안 줄어들고 아울러 가용 계산 역량이 대응하여 증가하므로, SPC 룰 처리를 수행하는데에도 또한 사용될 수 있다. 도 16의 단계(1612)에서, 현재 다이에 대한 테스팅이 완료되며 테스트 종료 명령이 개시되고 현재의 다이가 테스트될 다음 다이로 교환되고 이 공정은 단계(1602)로 리턴된다.
도 17은 테스트 프로그램-개시된 프로버 또는 핸들러 명령들 중에 SPC 룰-개시된 프로버 또는 핸들러 명령을 투명하게 삽입하기 위한 프로세스를 도시한다. 도 17의 단계(1702)에서, 테스트 프로그램-개시된 프로버 또는 핸들러 명령이 발생되고 PH 수퍼바이저(414)로 전송된다.
도 17의 단계(1704)에서, SPC 룰-개시된 프로버 또는 핸들러 명령이 발생되고 PH 수퍼바이저(414)로 전송된다. 예시적인 일 실시예에서, SPC 룰-개시된 프로버 또는 핸들러 명령이 발생되고 프로세서 제어 룰 불합격(예를 들면, "추가"프로버 또는 핸들러 명령)에 대응하여 전송될 수 있다.
도 17의 단계(1706)에서, SPC 룰-개시된 프로버 또는 핸들러 명령의 실행을 예상하여, PH 수퍼바이저(414)에 의해 테스트 프로그램-개시된 프로버 또는 핸들러 명령이 보류 상태에 놓인다. 예시적인 일 실시예에서, PH 수퍼바이저(414)에 의해 보류 상태에 놓인 것은 상태 머신(406)의 지시에 의한 것이다. 도 17의 단계(1708)에서, SPC 룰-개시된 프로버 또는 핸들러 명령이 실행된다. 예시적인 일 실시예에서, SPC 룰-개시된 프로버 또는 핸들러 명령의 실행 및 테스트 프로그램-개시된 프로버 또는 핸들러 명령의 보류 상태에 놓인 것은 테스트 프로그램(103)에 대해 투명하다.
비록 본 출원에서 소정의 바람직한 실시예 및 방법이 기술되었을지라도, 본 기술에서 통상의 지식을 가진 자들에게는 그러한 실시예 및 방법의 변경 및 수정이 본 발명의 정신과 범위를 일탈하지 않고도 이루어질 수 있다는 것이 자명할 것이다. 본 발명은 첨부의 청구범위 및 적용가능한 법의 규칙과 원리에 필요한 정도로만 한계치될 것이다.

Claims (21)

  1. 소자를 테스트하는 방법으로서,
    계산 윈도우(computational window)를 결정하는 단계 - 상기 계산 윈도우는 테스트 장치의 활동 임계치 미만의 소자 테스팅 활동의 기간이며, 적어도 하나의 계산 윈도우가 상기 소자 테스팅 활동 중에 발생하고, 상기 테스트 장치는 프로버 및 핸들러에 연결됨 - 와,
    상기 계산 윈도우 동안 결정 트리를 생성하고 실행하는 단계 - 상기 결정 트리는 테스트 결과의 스케줄링된(scheduled) 테스트 분석 및 상기 테스트 분석에 응답하여 실행하도록 스케줄링된 테스트 제어 액션의 선택을 포함함 - 를 포함하고,
    상기 계산 윈도우는 시작 시간 및 종료 시간에 의해 정의되고, 상기 계산 윈도우는 또한 상기 결정 트리의 스케줄링(scheduling) 및 실행이 중단, 지연 또는 동기화될 때를 정의하는
    소자를 테스트하는 방법.
  2. 제 1 항에 있어서,
    상기 계산 윈도우 동안, 상기 테스트 장치의 계산 역량(computational capacity)의 제 1 부분은 상기 테스트 장치의 테스트 분석 모듈에 의해 사용되어 상기 결정 트리를 생성하고 실행하고, 상기 테스트 장치의 상기 계산 역량의 제 2 부분은 상기 테스트 장치의 테스트 제어 모듈에 의해 사용되어 상기 소자 테스팅 활동을 실행하며, 상기 테스트 장치의 상기 계산 역량은 상기 테스트 분석 모듈 및 상기 테스트 제어 모듈에 의해 공유되는
    소자를 테스트하는 방법.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 계산 윈도우를 결정하는 단계는 프로버 이벤트 및 핸들러 이벤트를 정의하기 위해 상기 테스트 장치의 상기 프로버 및 핸들러 중 적어도 하나로부터의 통신에 액세스하는 단계를 포함하며, 상기 프로버 이벤트 및 핸들러 이벤트는 테스트-대상-소자 인덱싱 기간을 포함하고, 상기 인덱싱 기간 내에,
    테스트-대상-소자 스위치 아웃이 이루어지며, 상기 스위치 아웃의 예상 소요 시간이 포함되고,
    완료된 테스트 흐름의 종료부터 다음 테스트 흐름 실행의 시작까지의 기간이 포함되며,
    x-축 대 y-축의 위치 결정 및 웨이퍼 끝(end of wafer)의 결정이 이루어지는
    소자를 테스트하는 방법.
  5. 제 1 항에 있어서,
    상기 활동 임계치는,
    테스팅 프로세스 유휴 기간과,
    낮은 테스트 활동 모니터링 기간과,
    테스트-대상-소자의 인덱싱 기간 중 적어도 하나인
    소자를 테스트하는 방법.
  6. 제 2 항에 있어서,
    결정 트리를 생성하고 실행하는 단계는,
    테스트 데이터를 수집하고 모니터하는 단계와,
    선택된 제어 룰을 결정하고 우선순위화하며 상기 선택된 제어 룰을 결정 트리 내에 배열하는 단계와,
    수집된 테스트 데이터를 분석하는 단계와,
    테스트 데이터 분석에 응답하여 적어도 하나의 제어 룰 액션을 실행하는 단계 중 적어도 하나를 포함하는
    소자를 테스트하는 방법.
  7. 제 2 항에 있어서,
    상기 계산 윈도우 동안, 상기 테스트 분석 모듈로부터의 제 2 프로버 명령 및 제 2 핸들러 명령은, 상기 프로버 및 핸들러 각각에 의한 실행을 위해 상기 테스트 제어 모듈로부터의 선행 프로버 명령 및 선행 핸들러 명령의 발생 및 전송을 방해하지 않고, 상기 프로버 및 핸들러에 의해 각기 실행되는
    소자를 테스트하는 방법.
  8. 소자를 테스트하기 위한 장치로서,
    테스트-대상-소자 상에서 테스트 활동을 실행하도록 동작가능한 테스트 제어 모듈 - 상기 테스트 활동은 테스트 결과를 발생함 - 과,
    결정 트리를 생성하고 실행하도록 동작가능한 테스트 분석 모듈 - 상기 결정 트리는 테스트 결과의 스케줄링된 테스트 분석 및 상기 테스트 분석에 응답하여 실행할 테스트 제어 액션의 선택을 포함함 - 을 포함하며,
    상기 테스트 분석 모듈은 계산 윈도우 동안 상기 결정 트리를 생성하고 실행하고, 상기 계산 윈도우는 상기 장치의 활동 임계치 미만의 소자 테스팅 활동의 기간이며, 적어도 하나의 계산 윈도우가 상기 소자 테스팅 활동 중에 발생하고,
    상기 장치는 프로버 및 핸들러에 연결되고,
    상기 테스트 분석 모듈은 또한 상기 계산 윈도우를 시작 시간 및 종료 시간을 이용하여 정의하도록 동작가능하고, 그리고 또한 상기 결정 트리의 스케줄링 및 실행이 중단, 지연 또는 동기화될 때를 결정하도록 동작가능한
    소자를 테스트하기 위한 장치.
  9. 제 8 항에 있어서,
    상기 계산 윈도우 동안 상기 장치의 계산 역량의 제 1 부분은 상기 테스트 분석 모듈에 의해 사용되어 상기 결정 트리를 생성하고 실행하고, 상기 장치의 계산 역량의 제 2 부분은 상기 테스트 제어 모듈에 의해 사용되어 상기 소자 테스팅 활동을 실행하며, 상기 장치의 계산 역량은 상기 테스트 분석 모듈 및 상기 테스트 제어 모듈에 의해 공유되는
    소자를 테스트하기 위한 장치.
  10. 삭제
  11. 제 9 항에 있어서,
    상기 테스트 분석 모듈은 또한 프로버 이벤트 및 핸들러 이벤트를 정의하기 위해 상기 프로버 및 핸들러 중 적어도 하나로부터의 통신에 액세스함으로써 상기 계산 윈도우를 결정하도록 동작가능하며, 상기 프로버 이벤트 및 핸들러 이벤트는 테스트-대상-소자 인덱싱 기간을 포함하고, 상기 인덱싱 기간 내에,
    테스트-대상-소자 스위치 아웃이 이루어지며 상기 스위치 아웃의 예상 소요 시간이 포함되고,
    완료된 테스트 흐름의 종료부터 다음 테스트 흐름 실행의 시작까지의 시간 기간이 포함되며,
    x-축 대 y-축의 위치 결정 및 웨이퍼 끝의 결정이 이루어지는
    소자를 테스트하기 위한 장치.
  12. 제 8 항에 있어서,
    상기 활동 임계치는,
    테스팅 프로세스 유휴 기간과,
    낮은 테스트 활동 모니터링 기간과,
    테스트-대상-소자의 스위치 아웃 기간 중 적어도 하나인
    소자를 테스트하기 위한 장치.
  13. 제 9 항에 있어서,
    테스트 분석 모듈에 의해 결정 트리를 스케줄링하고 실행하는 것은,
    테스트 데이터를 수집하고 모니터하는 것과,
    선택된 제어 룰을 결정하고 우선순위화하며 상기 선택된 제어 룰을 결정 트리 내에 배열하는 것과,
    수집된 테스트 데이터를 분석하는 것과,
    테스트 데이터 분석에 응답하여 적어도 하나의 제어 룰 액션을 실행하는 것 중 적어도 하나를 포함하는
    소자를 테스트하기 위한 장치.
  14. 제 8 항에 있어서,
    상기 계산 윈도우 동안, 상기 테스트 분석 모듈로부터의 제 2 프로버 명령 및 제 2 핸들러 명령은, 상기 프로버 및 핸들러 각각에 의한 실행을 위해 상기 테스트 제어 모듈로부터의 선행 프로버 명령 및 선행 핸들러 명령의 발생 및 전송을 방해하지 않고, 상기 프로버 및 핸들러에 의해 각기 실행되는
    소자를 테스트하기 위한 장치.
  15. 컴퓨터 판독가능한 프로그램 코드가 내장되어 컴퓨터 시스템으로 하여금 소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체로서, 상기 방법은,
    계산 윈도우(computational window)를 결정하는 단계 - 상기 계산 윈도우는 테스트 장치의 활동 임계치 미만의 소자 테스팅 활동의 시간 기간이며, 적어도 하나의 계산 윈도우가 상기 소자 테스팅 활동 중에 발생하며, 상기 테스트 장치는 프로버 및 핸들러에 연결됨 - 와,
    상기 계산 윈도우 동안 결정 트리를 생성하고 실행하는 단계 - 상기 결정 트리는 테스트 결과의 스케줄링된 테스트 분석 및 상기 테스트 분석에 응답하여 실행하도록 스케줄링된 테스트 제어 액션의 선택을 포함함 - 를 포함하며,
    상기 계산 윈도우는 시작 시간 및 종료 시간에 의해 정의되며, 상기 계산 윈도우는 또한 상기 결정 트리의 스케줄링 및 실행이 중단, 지연 또는 동기화될 때를 정의하는
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
  16. 제 15 항에 있어서,
    상기 계산 윈도우 동안, 상기 테스트 장치의 계산 역량의 제 1 부분은 상기 테스트 장치의 테스트 분석 모듈에 의해 사용되어 상기 결정 트리를 생성하고 실행하고, 상기 테스트 장치의 계산 역량의 제 2 부분은 상기 테스트 장치의 테스트 제어 모듈에 의해 사용되어 상기 소자 테스팅 활동을 실행하며, 상기 테스트 장치의 계산 역량은 상기 테스트 분석 모듈 및 상기 테스트 제어 모듈에 의해 공유되는
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
  17. 삭제
  18. 제 16 항에 있어서,
    상기 계산 윈도우를 결정하는 단계는 프로버 이벤트 및 핸들러 이벤트를 정의하기 위해 상기 테스트 장치의 상기 프로버 및 핸들러 중 적어도 하나로부터의 통신에 액세스하는 단계를 포함하며, 상기 프로버 이벤트 및 핸들러 이벤트는 테스트-대상-소자 인덱싱 기간을 포함하고, 상기 인덱싱 기간내에,
    테스트-대상-소자 스위치 아웃이 이루어지며 상기 스위치 아웃의 예상 소요 시간이 포함되고,
    완료된 테스트 흐름의 종료부터 다음 테스트 흐름 실행의 시작까지의 시간 기간이 포함되며,
    x-축 대 y-축의 위치 결정 및 웨이퍼 끝의 결정이 이루어지는
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
  19. 제 15 항에 있어서,
    상기 활동 임계치는,
    테스팅 프로세스 유휴 기간과,
    낮은 테스트 활동 모니터링 기간과,
    테스트-대상-소자의 스위치 아웃 기간 중 적어도 하나인
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
  20. 제 16 항에 있어서,
    결정 트리를 생성하고 실행하는 단계는,
    테스트 데이터를 수집하고 모니터하는 단계와,
    선택된 제어 룰을 결정하고 우선순위화하며 상기 선택된 제어 룰을 결정 트리 내에 배열하는 단계와,
    수집된 테스트 데이터를 분석하는 단계와,
    테스트 데이터 분석에 응답하여 적어도 하나의 제어 룰 액션을 실행하는 단계 중 적어도 하나를 포함하는
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
  21. 제 16 항에 있어서,
    상기 계산 윈도우 동안, 상기 테스트 분석 모듈로부터의 제 2 프로버 명령 및 제 2 핸들러 명령은, 상기 프로버 및 핸들러 각각에 의한 실행을 위해 상기 테스트 제어 모듈로부터의 선행 프로버 명령 및 선행 핸들러 명령의 발생 및 전송을 방해하지 않고, 상기 프로버 및 핸들러에 의해 각기 실행되는
    소자를 테스트하는 방법을 수행하도록 하는 컴퓨터-판독가능 매체.
KR1020147031581A 2012-04-11 2013-04-11 테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링 KR101685780B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/444,705 US9448276B2 (en) 2012-04-11 2012-04-11 Creation and scheduling of a decision and execution tree of a test cell controller
US13/444,705 2012-04-11
PCT/US2013/036232 WO2013155340A1 (en) 2012-04-11 2013-04-11 Creation and scheduling of a decision and execution tree of a test cell controller

Publications (2)

Publication Number Publication Date
KR20150006439A KR20150006439A (ko) 2015-01-16
KR101685780B1 true KR101685780B1 (ko) 2016-12-12

Family

ID=49325851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147031581A KR101685780B1 (ko) 2012-04-11 2013-04-11 테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링

Country Status (4)

Country Link
US (1) US9448276B2 (ko)
KR (1) KR101685780B1 (ko)
CN (1) CN104583789B (ko)
WO (1) WO2013155340A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10371744B2 (en) 2012-04-11 2019-08-06 Advantest Corporation Method and apparatus for an efficient framework for testcell development
WO2014146690A1 (en) * 2013-03-19 2014-09-25 Nokia Solutions And Networks Oy System and method for rule creation and parameter adaptation by data mining in a self-organizing network
US20160266198A1 (en) * 2014-09-15 2016-09-15 Kwun Jong Chen Method for ic testing bigdata analysis option value analysis
CN105868222A (zh) * 2015-09-17 2016-08-17 乐视网信息技术(北京)股份有限公司 一种任务调度方法及装置
JP6771443B2 (ja) * 2017-09-21 2020-10-21 株式会社東芝 演算処理装置およびその方法
US11402419B2 (en) * 2018-11-13 2022-08-02 Optimal Plus Ltd. Method and system for real time outlier detection and product re-binning
CN110471394B (zh) * 2019-07-30 2020-10-20 中车青岛四方机车车辆股份有限公司 任务测试方法及装置、系统、存储介质和处理器
CN112345776B (zh) * 2019-08-06 2024-01-09 深圳迈瑞生物医疗电子股份有限公司 一种样本分析系统、装置及样本的测试方法
CN112491905B (zh) * 2020-12-01 2023-05-05 郑州昂视信息科技有限公司 网络设备的性能测试方法、装置及系统
CN113204478B (zh) * 2021-04-06 2022-05-03 北京百度网讯科技有限公司 测试单元的运行方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060125509A1 (en) * 2002-04-25 2006-06-15 Micron Technology, Inc. Dynamically adaptable semiconductor parametric testing
US20060150018A1 (en) 2004-12-21 2006-07-06 International Business Machines Corporation Diagnostic method and system
US20070198445A1 (en) 2006-02-22 2007-08-23 Microsoft Corporation Techniques to organize test results
US20120051369A1 (en) * 2010-08-30 2012-03-01 International Business Machines Corporation Using gathered system activity statistics to determine when to schedule a procedure

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0397937A3 (en) 1988-05-18 1991-07-24 Hewlett-Packard Company Control system and method for automated parametric test equipment
US5359648A (en) 1992-12-28 1994-10-25 Rolm Company Escape sequence using monitoring of control signal states
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6778679B1 (en) * 2000-11-22 2004-08-17 Xerox Corporation Method for steganographic decoding
US6618682B2 (en) 2001-04-20 2003-09-09 International Business Machines Corporation Method for test optimization using historical and actual fabrication test data
US7337088B2 (en) 2001-05-23 2008-02-26 Micron Technology, Inc. Intelligent measurement modular semiconductor parametric test system
KR100500329B1 (ko) * 2001-10-18 2005-07-11 주식회사 핸디소프트 워크플로우 마이닝 시스템 및 방법
US8412915B2 (en) * 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US6968250B2 (en) 2001-12-28 2005-11-22 Kimberly-Clark Worldwide, Inc. Intelligent agent system and method for evaluating data integrity in process information databases
US7519802B2 (en) * 2004-05-05 2009-04-14 Hewlett-Packard Development Company, L.P. System and method for configuring a computer system
US20060095237A1 (en) 2004-10-28 2006-05-04 Weidong Wang Semiconductor yield management system and method
US7598725B2 (en) 2005-12-30 2009-10-06 Teradyne, Inc. Alignment receptacle of a sensor adapted to interact with a pin to generate position data along at least two transverse axes for docking a test head
JP5324792B2 (ja) 2008-01-28 2013-10-23 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの動作を検証するシステムおよび方法
US20100023294A1 (en) 2008-07-28 2010-01-28 Credence Systems Corporation Automated test system and method
US8396825B2 (en) * 2009-02-25 2013-03-12 Toyota Motor Engineering & Manufacturing North America Method and system to recognize temporal events using enhanced temporal decision trees

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060125509A1 (en) * 2002-04-25 2006-06-15 Micron Technology, Inc. Dynamically adaptable semiconductor parametric testing
US20060150018A1 (en) 2004-12-21 2006-07-06 International Business Machines Corporation Diagnostic method and system
US20070198445A1 (en) 2006-02-22 2007-08-23 Microsoft Corporation Techniques to organize test results
US20120051369A1 (en) * 2010-08-30 2012-03-01 International Business Machines Corporation Using gathered system activity statistics to determine when to schedule a procedure

Also Published As

Publication number Publication date
US20130275073A1 (en) 2013-10-17
CN104583789B (zh) 2017-10-24
US9448276B2 (en) 2016-09-20
WO2013155340A1 (en) 2013-10-17
CN104583789A (zh) 2015-04-29
KR20150006439A (ko) 2015-01-16

Similar Documents

Publication Publication Date Title
KR101685780B1 (ko) 테스트 셀 컨트롤러의 결정 및 실행 트리의 생성 및 스케줄링
US9322874B2 (en) Interposer between a tester and material handling equipment to separate and control different requests of multiple entities in a test cell operation
US8862424B2 (en) Integrated cross-tester analysis and real-time adaptive test
KR100216066B1 (ko) 반도체 집적회로 소자 검사공정 제어 시스템 및 제어방법
US9529036B2 (en) Systems and methods for test time outlier detection and correction in integrated circuit testing
KR101829956B1 (ko) Spc 룰 결정 트리의 생성, 정의 및 실행을 위한 알고리즘 및 구조
JP2009532695A (ja) 試験シナリオ言語を用いた半導体試験方法およびシステム
KR100429116B1 (ko) 반도체 ic 소자의 검사 공정 손실 요인 자동 분석 및관리 시스템과 그 방법
CN106201804A (zh) 一种测试计算机主板的装置、方法及系统
CN107462821B (zh) 晶圆测试机台的远端监控方法及系统
US9905483B2 (en) Adaptive value capture for process monitoring
Rehani et al. ATE Data Collection-A comprehensive requirements proposal to maximize ROI of test
Shvachko et al. Digital circuit testing methods: an analysis of modern problems
Bhojak Reliability and Statistical Analysis of a Printed Circuit Board Automated Production Line

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191126

Year of fee payment: 4