KR102479320B1 - 상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템 - Google Patents

상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템 Download PDF

Info

Publication number
KR102479320B1
KR102479320B1 KR1020180049198A KR20180049198A KR102479320B1 KR 102479320 B1 KR102479320 B1 KR 102479320B1 KR 1020180049198 A KR1020180049198 A KR 1020180049198A KR 20180049198 A KR20180049198 A KR 20180049198A KR 102479320 B1 KR102479320 B1 KR 102479320B1
Authority
KR
South Korea
Prior art keywords
test
primitives
subset
tester
dut
Prior art date
Application number
KR1020180049198A
Other languages
English (en)
Other versions
KR20180121409A (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 KR20180121409A publication Critical patent/KR20180121409A/ko
Application granted granted Critical
Publication of KR102479320B1 publication Critical patent/KR102479320B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • 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/01Subjecting similar articles in turn to test, e.g. "go/no-go" tests in mass production; Testing objects at points as they pass through a testing station
    • 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/2855Environmental, reliability or burn-in testing
    • G01R31/286External aspects, e.g. related to chambers, contacting devices or handlers
    • G01R31/2868Complete testing stations; systems; procedures; software aspects
    • G01R31/287Procedures; Software aspects
    • 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/2893Handling, conveying or loading, e.g. belts, boats, vacuum fingers

Abstract

자동화된 시험을 수행하기 위한 시스템이 개시된다. 이 시스템은 제 1 사용자로부터 제어 서버로 제 1 시험 계획을 로딩하도록 동작 가능한 제 1 사용자 컴퓨터와, 제 2 사용자로부터 제어 서버로 제 2 시험 계획을 로딩하도록 동작 가능한 제 2 사용자 컴퓨터를 포함한다. 시스템은 또한 복수의 프리미티브를 배치하기 위한 적어도 하나의 랙을 포함하는 시험기를 포함한다. 제어 서버는 제 1 사용자 컴퓨터, 제 2 사용자 컴퓨터 및 시험기에 통신 가능하게 연결되고, 제어 서버는 제 1 프리미티브 서브세트를 제 1 시험 계획에 할당하고 제 1 프리미티브 서브세트 상의 제 1 시험 계획의 실행을 관리하도록 동작가능하며, 또한 제 2 프리미티브 서브세트를 제 2 시험 계획에 할당하고 제 2 프리미티브 서브세트 상의 제 2 시험 계획의 실행을 관리하도록 동시에 동작 가능하다.

Description

상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템{TEST SYSTEM SUPPORTING MULTIPLE USERS USING DIFFERENT APPLICATIONS}
관련 출원에 대한 상호 참조
관련 출원
본 출원은 Rotem Nahum, Rebecca Toy, Boilam Pham, Kevin Liu 및 Leon Chen을 발명자로 지명하고, 대리인 사건 번호 ATSY-0054-01.01US를 갖는 "TEST PROGRAM FLOW CONTROL"이라는 제목의 미국 특허 출원과 관련된다. 그 출원은 그 전체가 모든 목적을 위해 본원에 참고로써 포함된다.
기술분야
본 개시물은 일반적으로 자동화된 시험 장비 분야에 관한 것으로 보다 구체적으로는 그러한 장비의 제어 기법에 관한 것이다.
자동화된 시험 장비(Automated test equipment: ATE)는 반도체 웨이퍼 또는 다이, 집적 회로(IC), 회로 보드 또는 솔리드 스테이트 드라이브와 같은 패키징된 장치에 대한 시험을 수행하는 임의의 시험 어셈블리일 수 있다. ATE 어셈블리는 빠르게 측정을 수행하고 그 이후 분석될 수 있는 시험 결과를 생성하는 자동화된 시험을 실행한다. ATE 어셈블리는 계량기(meter)에 결합된 컴퓨터 시스템에서부터 맞춤형 전용 컴퓨터 제어 시스템 및 전자 부품 및/또는 반도체 웨이퍼 시험, 예컨대, SOC(System-On-Chip) 시험 또는 집적 회로 시험을 자동으로 시험할 수 있는 많은 상이한 시험 기기를 포함할 수 있는 복잡한 자동화된 시험 어셈블리에 이르기까지 다양하다. ATE 시스템은 시험 장치에 소비되는 시간을 줄여 장치가 설계된 대로 기능할 수 있게 하고 진단 도구의 역할을 하여 장치가 소비자에게 도달하기 전에 주어진 장치 내의 고장 컴포넌트의 존재를 판단할 수 있다.
전형적인 ATE 시스템이 장치(일반적으로 피시험 장치(device under test) 또는 DUT로 지칭됨)를 시험할 때, ATE 시스템은 자극(예를 들어, 전기 신호)을 장치에 인가하고 장치의 응답(예를 들어, 전류 및 전압)을 검사한다. 전형적으로, 시험의 최종 결과는 장치가 사전 설정된 허용오차 내에서 특정 예상 응답을 성공적으로 제공하면 "합격이고, 또는 장치가 사전 설정된 허용오차 내에서 예상 응답을 제공하지 않으면 "불합격"이다. 더 정교한 ATE 시스템은 불합격된 장치를 평가하여 하나 이상의 고장 원인을 잠재적으로 판단할 수 있다.
일반적으로 ATE 시스템은 ATE 시스템의 동작을 지시하는 컴퓨터를 포함한다. 전형적으로, 컴퓨터는 하나 이상의 특수 소프트웨어 프로그램을 작동시켜 (i) 시험 개발 환경 및 (ii) 장치 시험 환경을 제공한다. 시험 개발 환경에서, 사용자는 시험 프로그램, 예를 들어, ATE 시스템의 다양한 부분을 제어하는 하나 이상의 파일의 소프트웨어 기반 구성을 전형적으로 생성한다. 장치 시험 환경에서, 사용자는 전형적으로 ATE 시스템에 시험을 위한 하나 이상의 장치를 제공하고, 시험 프로그램에 따라 각 장치를 시험하도록 ATE 시스템에 지시한다. 사용자는 ATE 시스템에 추가 장치를 단순히 제공하고 시험 프로그램에 따라 추가 장치를 시험하도록 ATE 시스템에 지시함으로써 추가 장치를 시험할 수 있다. 따라서, ATE 시스템은 사용자로 하여금 시험 프로그램에 기초하여 일관되고 자동화된 방식으로 많은 장치를 시험할 수 있게 한다.
전형적인 종래 시험 환경에서, DUT는 제어형 환경 챔버 또는 "오븐(oven)" 내에 배치된다. DUT는 시험 헤드(test head)의 슬라이스들에 연결된다. 다수의 DUT는 단일 슬라이스에 연결될 수 있고 단일 시험 챔버는 다수의 슬라이스를 포함할 수 있다. 슬라이스는 시험 계획에 따라 DUT에 대한 시험을 수행하는 시험 회로를 포함한다. DUT는 오븐 안에 있을 때 챔버의 제어된 환경을 방해하지 않도록 하기 위해 사용자가 접근할 수 없다. 복수의 슬라이스는 일반적으로 복수의 DUT에 대해 동일한 시험 계획을 엄격하게 실행하도록 동작한다. 또한, 시험 헤드는 전형적으로 시험 헤드에 직접 연결된 단일 제어기 컴퓨터 시스템에 의해 제어되고, 이러한 방식으로 시험 헤드의 모든 슬라이스를 제어한다. 제어기 컴퓨터는 전형적으로 DUT에 대한 단일 시험 계획을 실행하도록 단일 사용자에 의해 동작한다.
이러한 시험 환경의 문제점은 각 시험 동안 주어진 시험 헤드의 슬라이스를 완전히 채우기에 충분한 DUT가 없는 경우가 종종 있다는 것이다. 이러한 조건 하에서, 시험 동안 비어있는 슬라이스들은 이들이 어떤 유용한 작업도 수행하고 있지 않다는 점에서 낭비된다. 이러한 비어있는 공간은 매우 비싼 전자 제품이 유휴 상태에 있기 때문에 전체 시험 처리량을 감소시킬 수 있다. 이러한 유휴 슬라이스들은, 1) 시험 동안 챔버 내부가 접근 가능하지 않고, 2) 제어 컴퓨터가 언제든지 한 명의 사용자만 지원할 수 있으며, 3) 슬라이스(모든 슬라이스)가 한 유형의 DUT에만 전형적으로 전용되는 때마다 하나의 시험 계획에 대해서만 동작하기 때문에, 다른 용도로 사용될 수 없다.
시험 챔버는 또한 부피가 크고 비싸다. 종래 시험 환경의 또 다른 단점은 시험 챔버를 완전하게 동시에 이용하기 위해 제조, 엔지니어링 등의 다수의 상이한 사용자 그룹 사이에서 시험 챔버를 공유하고자 하는 전형적인 고객이 그렇게 할 수 없다는 것이다. 전형적인 시험 환경에서 시험 슬라이스들은 한 번에 하나의 시험 계획에 대해서만 동작할 수 있고 단일 사용자 경험만 지원할 수 있기 때문에, 고객은 임의의 주어진 시간에 시험 챔버를 완전히 이용할 수 없으므로 추가 장비를 구매하거나 효율성을 희생해야 한다. 즉, 종래 시험 챔버는 매우 유연성이 없다.
따라서, 복수의 사용자들 사이에서 공유될 수 있는 시험 환경이 필요하다. 또한, 복수의 시험기 슬라이스를 포함할 수 있는 시험 환경이 필요하며, 각각의 슬라이스는 독립적인 시험 계획을 실행할 수 있거나 시험 챔버 내의 나머지 슬라이스에 대해 독립적으로 이용될 수 있다. 또한, 챔버가 복수의 사용자에 의해 동시에 완전히 이용될 수 있도록 챔버 내에서 시험이 실행 중인 동안 챔버 내부에 액세스할 수 있게 하는 시험 챔버가 필요하다. 마지막으로, 각각의 시험기 슬라이스 내의 상이한 DUT가 시스템 내의 다른 DUT에 대해 독립적으로 시험 흐름을 실행할 수 있는 시험 환경이 필요하다. 설명된 시스템의 이로운 측면들을 각각의 제한 없이 사용하여, 본 발명의 실시예들은 그러한 문제들을 해결하는 신규 해결책을 제공한다.
본원에 개시된 발명은 복수의 프리미티브(또는 시험기 슬라이스) 및 연관된 DUT 인터페이스 보드(DIB)를 이용하여 DUT를 시험한다. 각각의 프리미티브는 모듈식이고 이는 다른 프리미티브에 대해 독립적으로 동작할 수 있음을 의미한다. 따라서 랙 안에 놓인 복수의 프리미티브는 상이한 시험 계획이 상이한 DUT 유형에서 동작하는 경우도 각각 동작할 수 있다. 프리미티브는 명령, 제어, 관리 등을 위해 제어 서버와 통신한다. 제어 서버는 지원하는 다양한 프리미티브에 대해 복수의 응용 프로그램 또는 시험 계획을 호스팅할 수 있다. 프리미티브는 표준 IP 네트워크를 통해 서버와 통신할 수 있다. 원격으로 위치할 수 있는 다양한 컴퓨터 시스템은 표준 IP 네트워크 연결을 통해 서버에 액세스할 수 있다. 또한, 일 실시예에서, 환경 챔버는 프리미티브의 랙과 연관된 DUT를 시험할 때 더 이상 필요하지 않으므로, DUT 및 프리미티브에 대해 언제든지 사용자가 유리하게 조작할 수 있다.
따라서, 이러한 시험 플랫폼에서, 1) 프리미티브 모듈성, 2) 표준 IP 네트워크 사용으로 인해, 복수의 프리미티브가 한 사용자에 따라 주어진 시험 계획하에서 복수의 DUT를 시험하는 동안 동일한 랙의 두 번째 복수의 프리미티브가 두 번째 사용자에 의해 지시된 완전히 상이한 애플리케이션(심지어 상이한 DUT 유형에서도)을 수행하는 것이 가능하다. 따라서, 본 기술 분야의 유휴 시험 회로와 연관된 지금까지의 문제점들이 제거된다.
또한, 본 발명의 일 실시예에서, 임의의 주어진 프리미티브(또는 시험기 슬라이스) 내의 각각의 DUT는 프리미티브 내의 다른 DUT로부터 다른 시험 흐름을 실행하도록 허용되고, 따라서 확장되어 사용자에게 추가 유연성을 제공하며 시험 프로세스를 보다 효율적으로 만든다. 즉, 시험기 내의 모든 DUT에 대해 동일한 시험 프로그램 및 동일한 시험 흐름을 실행하도록 요구되었던 종래 시험기와는 달리, 본 발명의 실시예들은 프리미티브(또는 시험기 슬라이스) 내의 각각의 DUT가 동일한 프리미티브 내의 다른 DUT와 상이한 테스트 흐름을 실행할 수 있게 한다.
일 실시예에서, 자동화된 테스트 장비(ATE)를 사용하여 시험을 수행하기 위한 방법이 제시된다. 이 방법은 제 1 사용자 컴퓨터로부터 제어 서버로 제 1 시험 계획을 로딩하는 단계를 포함하되, 제어 서버는 시험기 내의 복수의 프리미티브와 통신하고, 복수의 프리미티브는 시험기의 단일 랙 내에 배치된다. 방법은 복수의 프리미티브 중 제 1 프리미티브 서브세트로 제 1 시험 계획을 다운로드하는 단계를 더 포함한다. 또한, 방법은 제 2 시험 계획을 제 2 사용자 컴퓨터로부터 제어 서버로 로딩하는 단계 및 복수의 프리미티브 중 제 2 프리미티브 서브세트로 제 2 시험 계획을 다운로드하는 단계를 포함한다. 마지막으로, 방법은 제 1 시험 계획과 제 2 시험 계획을 동시에 실행하는 단계를 포함한다.
다른 실시예에서, 자동화된 테스트를 수행하기 위한 시스템이 제시된다. 시스템은 제 1 사용자로부터 제어 서버로 제 1 시험 계획을 로딩하도록 동작 가능한 제 1 사용자 컴퓨터 및 제 2 사용자로부터 제어 서버로 제 2 시험 계획을 로딩하도록 동작 가능한 제 2 사용자 컴퓨터를 포함한다. 시스템은 또한 복수의 프리미티브 및 제어 서버를 배치하기 위한 적어도 하나의 랙을 포함하는 시험기를 포함한다. 제어 서버는 제 1 사용자 컴퓨터, 제 2 사용자 컴퓨터 및 시험기에 통신 가능하게 결합되고, 제어 서버는 제 1 테스트 계획에 제 1 프리미티브 서브세트를 할당하고 제 1 프리미티브 서브세트 상의 제 1 시험 계획의 실행을 관리하도록 동작 가능하며, 제어 서버는 또한 제 2 시험 게획에 제 2 프리미티브 서브세트를 할당하고 제 2 프리미티브 서브세트 상의 제 2 시험 계획의 실행을 관리하도록 동시에 동작 가능하다.
또 다른 실시예에서, 자동화된 테스트를 수행하기 위한 시스템이 제시된다. 시스템은 제 1 사용자로부터 제어 서버로 제 1 시험 계획을 로딩하도록 동작 가능한 제 1 사용자 컴퓨터 및 제 2 사용자로부터 제어 서버로 제 2 시험 계획을 로딩하도록 동작 가능한 제 2 사용자 컴퓨터를 포함한다. 시스템은 또한 복수의 시험기 슬라이스를 배치하기 위한 적어도 하나의 랙을 포함하는 시험기 및 제어 서버를 포함한다. 제어 서버는 제 1 사용자 컴퓨터, 제 2 사용자 컴퓨터 및 시험기에 통신 가능하게 연결되고, 제어 서버는 제 1 시험기 슬라이스 서브세트를 제 1 시험 계획에 할당하고 제 1 시험기 슬라이스 서브세트 상의 제 1 시험 계획의 실행을 관리하며, 제어 서버는 또한 제 2 시험기 슬라이스 서브세트를 제 2 시험 계획에 할당하고 제 2 시험기 슬라이스 서브세트 상의 제 2 시험 계획의 실행을 관리하도록 동시에 동작 가능하다.
다음 상세한 설명은 첨부된 도면과 함께 본 발명의 속성 및 이점에 대한 더 나은 이해를 제공할 것이다.
본 발명의 실시예들은 제한이 아닌 예시로 도시되며, 첨부 도면의 도면에서 동일한 참조 번호는 유사한 요소들을 지칭한다.
도 1a는 본 발명의 자동화된 시험 시스템의 실시예가 본 발명의 일 실시예에 따라 구현될 수 있는 컴퓨터 시스템이다.
도 1b는 본 발명의 실시예들에 따라 클라이언트 시스템 및 서버가 네트워크에 결합될 수 있는 네트워크 아키텍처의 일례에 관한 블록도이다.
도 2는 DUT가 제어된 환경 챔버 내에 배치되는 전형적인 시험 환경을 도시한다.
도 3은 시험기 슬라이스 및 이의 시스템 제어기 및 DUT와의 상호연결을 도시한 상세한 개략적인 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 DUT 인터페이스 보드(DIB)(400)와 인터페이싱된 프리미티브를 도시한다.
도 4b는 복수의 프리미티브를 포함하는 작업 셀을 도시한다.
도 5는 본 발명의 일 실시예에 따라 상이한 애플리케이션을 사용하여 다수의 사용자를 지원하는 시험 시스템을 도시한다.
도 6은 본 발명의 실시예들이 종래 시험기에 대해 제공하는 신규 개선점을 도시하는 고수준 개요도이다.
도 7은 본 발명의 일 실시예에 따른 시험 프로그램의 다양한 컴포넌트들을 도시한다.
도 8은 본 발명의 일 실시예에 따라 동일한 시험기 상에서 복수의 시험 프로그램을 동시에 실행하기 위한 예시적인 컴퓨터로 구현된 프로세스의 흐름도를 도시한다.
도 9는 본 발명의 일 실시예에 따라 동일한 시험기 상의 단일 프리미티브 내에서 복수의 시험 흐름을 동시에 실행하기 위한 예시적인 컴퓨터로 구현된 프로세스의 흐름도를 도시한다.
도면에서, 동일한 명칭을 갖는 요소들은 동일하거나 유사한 기능을 갖는다.
이제 본 개시물의 다양한 실시예들에 대한 세부사항을 참조할 것이며, 그 예가 첨부 도면에 도시된다. 이러한 실시예들과 함께 설명되지만, 본 개시물을 이들 실시예로 한정하고자 하는 것이 아니라는 점이 이해될 것이다. 반대로, 본 개시물은 첨부된 청구 범위에 의해 정의된 바와 같은 본 개시물의 정신 및 범위 내에 포함될 수 있는 대안, 수정 및 균등물을 포함하는 것으로 의도된다. 더욱이, 본 개시물의 다음의 상세한 설명에서, 본 개시물에 관한 철저한 이해를 위해 제공하기 위해 다수의 특정 세부사항이 개시된다. 그러나, 본 개시물은 그러한 특정 세부사항 없이도 실시될 수 있다는 점이 이해될 것이다. 다른 경우에서, 공지의 방법, 절차, 컴포넌트, 및 회로는 본 개시물의 양태들을 불필요하게 모호하게 하지 않도록 상세히 설명되지 않는다.
다음의 상세한 설명의 일부는 절차, 논리 블록, 처리 및 컴퓨터 메모리 내의 데이터 비트에 대한 다른 상징적 연산 표현의 용어로 표현된다. 이러한 설명 및 표현은 데이터 처리 기술 분야의 당업자가 다른 당업자에게 그들의 작업의 내용을 가장 효과적으로 전달하기 위해 사용하는 수단이다. 본 출원에서, 절차, 논리 블록, 프로세스 등은 원하는 결과로 이어지는 일관성 있는 단계 또는 명령어 시퀀스인 것으로 이해된다. 이러한 단계들은 물리량의 물리적 조작을 이용하는 단계이다. 보통, 이러한 양은 반드시 그런 것은 아니지만 컴퓨터 시스템에서 저장, 전송, 조합, 비교, 및 달리 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 일반적으로 공통적인 사용을 위해 그러한 신호를 트랜잭션, 비트, 값, 요소, 기호, 문자, 샘플, 픽셀 등으로 나타내는 것이 편리하다는 것이 입증되었다.
그러나 모든 이러한 용어 및 유사한 용어는 적절한 물리량과 연관되고, 단지 이러한 양에 적용되는 간편한 레이블이라는 점을 유념해야 한다. 다음 논의에서 명시적으로 언급되지 않거나 명백하지 않다면, 본 명세서 전체에 걸쳐, "구성하는(configuring)", "제공하는(providing)", "실행하는(executing)", "전송하는(transmitting)", "획득하는(obtaining)", "구현하는(implementing)", "프로그래밍하는(programming)", "할당하는(allocating)", "연관시키는(associating)", "설정하는(setting)" "액세스하는(accessing)", "제어하는(controlling)", "결정하는(determining)", "식별하는(identifying)", "캐싱하는(caching)", "관리하는(maintaining)", "비교하는(comparing)", "제거하는(removing)", "판독하는(reading)", "기록하는(writing)" 등과 같은 용어를 이용한 논의는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치 또는 프로세서(예를 들어, 도 1a의 시스템(110))의 동작 및 프로세스(예를 들어, 도 8의 흐름도(800))를 나타내는 것으로 이해된다. 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치는 컴퓨터 시스템 메모리, 레지스터, 또는 다른 그러한 정보 저장소, 전송 장치 또는 디스플레이 장치 내에서 물리적(전자적) 양으로 제시되는 데이터를 조작하고 변환한다.
본원에 설명된 실시예들은 프로그램 모듈과 같이 하나 이상의 컴퓨터 또는 다른 장치에 의해 실행되는 일부 형태의 컴퓨터 판독가능 저장 매체 상에 상주하는 컴퓨터 실행가능 명령어의 일반적 맥락으로 설명될 수 있다. 제한이 아닌 예시로써, 컴퓨터 판독가능 저장 매체는 비일시적 컴퓨터 판독가능 저장 매체 및 통신 매체를 포함할 수 있고, 비일시적 컴퓨터 판독가능 매체는 일시적, 전파 신호를 제외한 모든 컴퓨터 판독가능 매체를 포함한다. 일반적으로, 프로그램 모듈은, 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에 부합되는 바와 같이 조합되거나 분산될 수 있다.
컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기법으로 구현되는 휘발성 및 휘발성, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는 RAM(random access memory), ROM(read only memory), EEPROM(electrically erasable programmable ROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 ROM(CD-ROM), 디지털 다목적 디스크(DVD) 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장소, 또는 원하는 정보를 저장하는데 사용될 수 있고 그 정보를 검색하기 위해 액세스할 수 있는 임의의 다른 매체를 포함하나 이로 제한되지 않는다.
통신 매체는 컴퓨터 실행 가능 명령어, 데이터 구조 및 프로그램 모듈을 구현할 수 있고, 임의의 정보 전달 매체를 포함한다. 제한이 아닌 예로써, 통신 매체는 유선 네트워크 또는 직접 유선 연결과 같은 유선 매체 및 음향, 무선 주파수(RF), 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다. 이들의 임의의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함될 수 있다.
도 1a는 상이한 애플리케이션들로 복수의 사용자들을 지원할 수 있는 시험기 제어 시스템(110)에 관한 일례의 블록도이다. 예를 들어, 시스템(110)은 (도 5에 도시된 바와 같은) 서버(525)의 기능을 수행할 수 있다. 시험기 제어 시스템(110)은 컴퓨터 판독 가능 명령어를 실행할 수 있는 임의의 단일 또는 멀티 프로세서 컴퓨팅 장치 또는 시스템을 광범위하게 나타낸다. 제어 시스템(110)의 예는 워크스테이션, 랩톱, 클라이언트 측 단말기, 서버, 분산형 컴퓨팅 시스템, 핸드헬드 장치, 또는 임의의 다른 컴퓨팅 시스템 또는 장치를 포함하지만 이로 제한되지 않는다. 가장 기본적인 구성에서, 제어 시스템(110)은 적어도 하나의 프로세서(114) 및 시스템 메모리(116)를 포함한다.
프로세서(114)는 일반적으로 데이터를 처리하거나 명령어를 해석하고 실행할 수 있는 임의의 유형 또는 형태의 처리 유닛을 나타낸다. 특정 실시예들에서, 프로세서(114)는 소프트웨어 애플리케이션 또는 모듈로부터 명령어를 수신할 수 있다. 이러한 명령어는 프로세서(114)로 하여금 본원에서 설명되고/되거나 예시된 실시예들 중 하나 이상의 기능을 수행하게 할 수 있다.
시스템 메모리(116)는 일반적으로 데이터 및/또는 다른 컴퓨터 판독가능 명령어를 저장할 수 있는 임의의 유형 또는 형태의 휘발성 또는 비휘발성 저장 장치 또는 매체를 나타낸다. 시스템 메모리(116)에 관한 예는 RAM, ROM, 플래시 메모리, 또는 임의의 다른 적합한 메모리 장치를 포함하지만, 이로 제한되는 것은 아니다. 필수는 아니지만, 특정 실시예들에서, 제어 시스템(110)은 휘발성 메모리 유닛(예를 들어, 시스템 메모리(116)) 및 비휘발성 저장 장치(예를 들어, 1차 저장 장치(132)) 둘 모두를 포함할 수 있다.
시험기 제어 시스템(110)은 또한 프로세서(114) 및 시스템 메모리(116) 외에 하나 이상의 컴포넌트 또는 요소를 포함할 수 있다. 예를 들어, 도 2a의 실시예에서, 제어 시스템(110)은 메모리 제어기(118), 입/출력(I/O) 제어기(120) 및 통신 인터페이스(122)를 포함하고, 이들 각각은 통신 인프라스트럭처(112)를 통해 상호연결될 수 있다. 통신 인프라스트럭처(112)는 일반적으로 컴퓨팅 장치의 하나 이상의 컴포넌트 사이의 통신을 가능하게 할 수 있는 임의의 유형 또는 형태의 인프라스트럭처를 나타낸다. 통신 인프라스트럭처(112)의 예는 통신 버스(예컨대, ISA(Industry Standard Architecture), PCI(Peripheral Component Interconnect), PCIe(PCI Express) 또는 유사한 버스) 및 네트워크를 포함하지만 이로 제한되는 것은 아니다.
메모리 제어기(118)는 일반적으로 메모리 또는 데이터를 처리하거나 제어 시스템(110)의 하나 이상의 컴포넌트 사이의 통신을 제어할 수 있는 임의의 유형 또는 형태의 장치를 나타낸다. 예를 들어, 메모리 제어기(118)는 통신 인프라스트럭처(112)를 통해 프로세서(114), 시스템 메모리(116) 및 I/O 제어기(120) 사이의 통신을 제어할 수 있다.
I/O 제어기(120)는 일반적으로 컴퓨팅 장치의 입력 및 출력 기능을 조정 및/또는 제어할 수 있는 임의의 유형 또는 형태의 모듈을 나타낸다. 예를 들어, I/O 제어기(120)는 제어 시스템(110)의 하나 이상의 요소, 예컨대, 프로세서(114), 시스템 메모리(116), 통신 인터페이스(122), 디스플레이 어댑터(126), 입력 인터페이스(130) 및 저장 인터페이스(134) 사이의 데이터 전송을 제어하거나 가능하게 할 수 있다.
통신 인터페이스(122)는 예시적인 제어 시스템(110)과 하나 이상의 추가 장치들 사이의 통신을 가능하게 할 수 있는 임의의 유형 또는 형태의 통신 장치 또는 어댑터를 폭넓게 나타낸다. 예를 들어, 통신 인터페이스(122)는 제어 시스템(110)과 추가 제어 시스템을 포함하는 사설 또는 공중 네트워크 사이의 통신을 가능하게 할 수 있다. 통신 인터페이스(122)의 실시예들은 유선 네트워크 인터페이스(예컨대, 네트워크 인터페이스 카드), 무선 네트워크 인터페이스(예컨대, 무선 네트워크 인터페이스 카드), 모뎀 및 기타 적합한 인터페이스를 포함하나, 이로 제한되지 않는다. 일 실시예에서, 통신 인터페이스(122)는 인터넷과 같은 네트워크에 대한 직접 링크를 통해 원격 서버에 대한 직접 연결을 제공한다. 통신 인터페이스(122)는 또한 임의의 다른 적합한 연결을 통해 그러한 연결을 간접적으로 제공할 수도 있다.
통신 인터페이스(122)는 또한 외부 버스 또는 통신 채널을 통해 제어 시스템(110)과 하나 이상의 추가 네트워크 또는 저장 장치 사이의 통신을 가능하게 하도록 구성된 호스트 어댑터를 나타낼 수도 있다. 호스트 어댑터의 실시예는 SCSI(Small Computer System Interface) 호스트 어댑터, USB(Universal Serial Bus) 호스트 어댑터, IEEE(Institute of Electrical and Electronics Engineers) 1394 호스트 어댑터, SATA(Serial Advanced Technology Attachment) 및 eSATA(External SATA) 호스트 어댑터, ATA(Advanced Technology Attachment) 및 PATA(Parallel ATA) 호스트 어댑터, 파이버 채널 인터페이스 어댑터, 이더넷 어댑터 등을 포함하나, 이로 제한되지 않는다. 또한, 통신 인터페이스(122)는 제어 시스템(110)이 분산 또는 원격 컴퓨팅에 참여할 수 있게 할 수 있다. 예를 들어, 통신 인터페이스(122)는 실행을 위해 원격 장치로부터 명령어를 수신하거나 원격 장치에 명령어를 송신할 수 있다.
도 1a에 도시된 바와 같이, 제어 시스템(110)은 또한 디스플레이를 통해 통신 인프라스트럭처(112)에 결합된 적어도 하나의 디스플레이 장치(124)를 포함할 수 있다. 디스플레이 장치(124)는 일반적으로 디스플레이 어댑터(126)에 의해 전송된 정보를 시각적으로 디스플레이할 수 있는 임의의 유형 또는 형태의 장치를 나타낸다. 유사하게, 디스플레이 어댑터(126)는 디스플레이 장치(124) 상에 디스플레이하기 위해 그래픽, 텍스트 및 다른 데이터를 전송하도록 구성된 임의의 유형 또는 형태의 장치를 일반적으로 나타낸다.
도 1a에 도시된 바와 같이, 제어 시스템(110)은 또한 입력 인터페이스(130)를 통해 통신 인프라스트럭처(112)에 결합된 적어도 하나의 입력 장치(128)를 포함할 수 있다. 입력 장치(128)는 일반적으로 컴퓨터 또는 인간이 생성한 입력을 제어 시스템(110)에 제공할 수 있는 임의의 유형 또는 형태의 입력 장치를 나타낸다. 입력 장치(128)에 관한 예는 키보드, 포인팅 장치, 음성 인식 장치 또는 임의의 다른 입력 장치를 포함하지만 이로 제한되지 않는다.
도 1a에 도시된 바와 같이, 제어 시스템(110)은 또한 저장 인터페이스(134)를 통해 통신 인프라스트럭처(112)에 결합된 주 저장 장치(132) 및 백업 저장 장치(133)를 포함할 수 있다. 저장 장치들(132 및 133)은 일반적으로 데이터 및/또는 기타 컴퓨터 판독 가능 명령어를 저장할 수 있는 임의의 유형 또는 형태의 저장 장치 또는 매체를 나타낸다. 예를 들어, 저장 장치들(132 및 133)은 자기 디스크 드라이브(예를 들어, 소위 하드 드라이브), 플로피 디스크 드라이브, 자기 테이프 드라이브, 광학 디스크 드라이브, 플래시 드라이브 등일 수 있다. 저장 인터페이스(134)는 일반적으로 저장 장치들(132 및 133)과 제어 시스템(110)의 컴포넌트들 사이에서 데이터를 전달하기 위한 임의의 유형 또는 형태의 인터페이스 또는 장치를 나타낸다.
일례에서, 데이터베이스(140)는 주 저장 장치(132)에 저장될 수 있다. 데이터베이스(140)는 단일 데이터베이스 또는 컴퓨팅 장치의 일부를 나타낼 수 있거나 또는 복수의 데이터베이스 또는 컴퓨팅 장치를 나타낼 수 있다. 예를 들어, 데이터베이스(140)는 제어 시스템(110)의 일부 및/또는 (이하의) 도 2의 예시적인 네트워크 아키텍처(200)의 일부를 나타낼 수 있다. 대안적으로, 데이터베이스(140)는 제어 시스템(110) 및/또는 네트워크 아키텍처(200)의 일부와 같은 컴퓨팅 장치에 의해 액세스 될 수 있는 하나 이상의 물리적으로 분리된 장치를 나타낼 수 있다(장치에 저장될 수 있다).
계속해서 도 1a를 참조하면, 저장 장치들(132 및 133)은 컴퓨터 소프트웨어, 데이터, 또는 다른 컴퓨터 판독가능 정보를 저장하도록 구성된 착탈식 저장 유닛으로부터 판독하고/하거나 착탈식 저장 유닛에 기록하도록 구성될 수 있다. 적합한 착탈식 저장 유닛의 예는 플로피 디스크, 자기 테이프, 광학 디스크, 플래시 메모리 장치 등을 포함하지만 이로 제한되지 않는다. 저장 장치들(132 및 133)은 또한 컴퓨터 소프트웨어, 데이터, 또는 다른 컴퓨터 판독가능 명령어가 제어 시스템(110)에 로딩될 수 있게 하기 위한 다른 유사한 구조 또는 장치를 포함할 수 있다. 예를 들어, 저장 장치(132 및 133)는 소프트웨어, 데이터 또는 다른 컴퓨터 판독가능 정보를 판독하고 기록하도록 구성될 수 있다. 저장 장치(132 및 133)는 제어 시스템(110)의 일부일 수 있거나 다른 인터페이스 시스템을 통해 액세스되는 별도의 장치일 수도 있다.
많은 다른 장치 또는 서브 시스템이 제어 시스템(110)에 연결될 수 있다. 반대로, 본원에 설명된 실시예들을 실시하기 위해 도 1a에 도시된 모든 컴포넌트 및 장치가 반드시 실제로 있어야 하는 것은 아니다. 앞에서 참고한 장치 및 서브시스템은 또한 도 1a에 도시된 것과는 상이한 방식으로 상호연결될 수도 있다. 제어 시스템(110)은 또한 임의의 수의 소프트웨어, 펌웨어 및/또는 하드웨어 구성을 포함할 수 있다. 예를 들어, 개시된 예시적인 애플리케이션의 예는 컴퓨터 판독가능 매체 상의 컴퓨터 프로그램(또한 컴퓨터 소프트웨어, 소프트웨어 애플리케이션, 컴퓨터 판독가능 명령어, 또는 컴퓨터 제어 로직으로도 지칭됨)으로 인코딩될 수 있다.
컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 매체는 제어 시스템(110)에 로딩될 수 있다. 그 다음에 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 프로그램의 전부 또는 일부가 시스템 메모리(116) 및/또는 저장 장치(132 및 133)의 다양한 부분에 저장될 수 있다. 프로세서(114)에 의해 실행될 때, 제어 시스템(110)에 로딩된 컴퓨터 프로그램은 프로세서(114)로 하여금 본원에 설명되고/되거나 도시된 예시적인 실시예의 기능을 수행하게 하고/하거나 수행하기 위한 수단일 수 있다. 추가적으로 또는 대안적으로, 본원에 설명되고/되거나 도시된 예시적인 실시예는 펌웨어 및/또는 하드웨어로 구현될 수 있다.
도 1b는 클라이언트 시스템(151, 152, 153) 및 서버(141, 145)가 네트워크(150)에 연결될 수 있는 네트워크 아키텍처(100)의 일례에 관한 블록도이다. 클라이언트 시스템(151, 152 및 153)은 일반적으로 도 1a의 시험기 제어 시스템(110)과 같은 임의의 유형 또는 형태의 컴퓨팅 장치 또는 시스템을 나타낸다.
유사하게, 서버(141 및 145)는 일반적으로 다양한 데이터베이스 서비스를 제공하고/하거나 특정 소프트웨어 애플리케이션을 실행하도록 구성된 컴퓨팅 장치 또는 시스템, 예컨대, 애플리케이션 서버 또는 데이터 서버를 나타낸다. 네트워크(150)는 일반적으로, 예를 들어, 인트라넷, 광역 네트워크(WAN), 근거리 통신망(LAN), 개인 영역 네트워크(PAN), 또는 인터넷을 포함하는 임의의 원격통신 또는 컴퓨터 네트워크를 나타낸다.
도 1a의 제어 시스템(110)을 참조하면, 통신 인터페이스(122)와 같은 통신 인터페이스는 각 클라이언트 시스템(151, 152, 153)과 네트워크(150) 사이에 연결성을 제공하는데 사용될 수 있다. 클라이언트 시스템(151, 152, 153)은, 예를 들어, 웹 브라우저 또는 다른 클라이언트 소프트웨어를 사용하여, 서버(141 또는 145) 상의 정보에 액세스할 수 있다. 이러한 소프트웨어는 클라이언트 시스템(151, 152 및 153)이 서버(140), 서버(145), 저장 장치들(160(1) 내지 160(L)), 저장 장치들(170(1) 내지 170(N)), 저장 장치들(190(1) 내지 190(M)), 또는 지능형 저장 어레이(195)에 의해 호스팅되는 데이터에 액세스할 수 있게 한다. 도 2a는 데이터 교환을 위한 네트워크(예컨대, 인터넷)의 사용을 도시하지만, 본원에 설명되는 실시예들은 인터넷 또는 임의의 특정 네트워크 기반 환경으로 제한되지 않는다.
일 실시예에서, 본원에 개시된 예시적인 실시예들 중 하나 이상의 실시예의 전부 또는 일부가 컴퓨터 프로그램으로 인코딩되고 서버(141), 서버(145), 저장 장치들(160(1) 내지 160(L)), 저장 장치들(170(1) 내지 170(N)), 저장 장치들(190(1) 내지 190(M)), 지능형 저장 어레이(195), 또는 이들의 임의의 조합 상에 로딩되고 이들에 의해 실행된다. 본원에 개시된 예시적인 실시예들 중 하나 이상의 실시예들의 전부 또는 일부는 또한 컴퓨터 프로그램으로 인코딩되고, 서버(141) 내에 저장되며, 서버(145)에 의해 실행되고, 네트워크(150)를 통해 클라이언트 시스템(151, 152 및 153)에 분산될 수도 있다.
상이한 애플리케이션을 사용하는 복수의 사용자를 지원하는 시험 시스템
도 2는 DUT가 제어된 환경 챔버(10) 또는 "오븐"에 배치되는 전형적인 시험 환경을 도시한다. DUT는 시험 헤드(20)의 시험기 슬라이스에 연결된다. 여러 DUT가 단일 시험기 슬라이스(40)에 연결될 수 있다. 시험기 슬라이스(도 4와 관련하여 더 상세히 설명됨)는 시험 계획에 따라 DUT에 대한 시험을 수행하는 시험 회로를 포함한다. 시험 헤드(20) 당 여러 시험기 슬라이스가 있을 수 있다. DUT는 오븐(10)에 삽입될 때 트레이(30)에 배치된다. 오븐(10)에 있을 때, DUT는 일반적으로 챔버(10)의 제어 환경을 방해하지 않도록 사용자가 접근할 수 없다. 전형적인 환경 챔버에서, 복수의 시험기 슬라이스는 복수의 DUT에 대해 동일한 시험 계획을 실행하는 잠금 단계에서 동작한다. 또한, 시험 헤드는 종종 시험 헤드에 직접 연결되고 이러한 방식으로 시험 헤드(20)의 모든 슬라이스를 제어하는 단일 제어기 컴퓨터 시스템(미도시)에 의해 제어된다. 제어기 컴퓨터는 전형적으로 단일 사용자가 DUT들에 대해 단일 시험 계획을 실행함으로써 동작한다.
이러한 시험 환경의 문제점은 각 시험 동안 주어진 시험 헤드의 시험기 슬라이스를 완전히 채우는 데 필요한 DUT가 충분하지 않은 경우가 종종 있다는 것이다. 이러한 조건에서 시험 동안 빈 슬라이스들은 유용한 작업을 수행하지 않는다는 점에서 낭비이다. 이는 전체 시험 처리량을 감소시킬 수 있고 매우 비싼 전자 장치가 유휴 상태에 놓이게 된다. 이러한 유휴 슬라이스들은, 1) 챔버의 내부가 시험 동안 접근할 수 없고, (2) 제어 컴퓨터가 언제든지 한 명의 사용자만 지원할 수 있으며, 3) 슬라이스(모두)가 한 번의 시험 계획에 대해 한 번만 동작하기 때문에, 다른 용도로 사용될 수 없다.
시험 챔버는 또한 전형적으로 부피가 크고 비싸다. 시험 환경의 또 다른 단점은 시험 챔버를 완전히 이용하기 위해 제조, 엔지니어링 등과 같은 다수의 상이한 사용자 그룹 사이에서 시험 챔버를 동시에 공유하고자 하는 전형적인 고객이 그렇게 할 수 없다는 것이다. 전형적인 시험 환경에서는 시험 슬라이스가 한 번에 하나의 시험 계획에서만 동작하고 단일 사용자 경험만 지원할 수 있기 때문에 고객은 주어진 시간에 시험 챔버를 완전히 사용할 수 없고, 따라서 추가 장비를 구매하거나 효율성을 희생해야 한다.
도 3은 시험기 슬라이스 및 이의 시스템 제어기 및 DUT들과의 상호연결에 관한 예시적인 실시에들 도시하는 상세하고 개략적인 블록도이다.
도 3을 참조하면, 각각의 시험기 슬라이스는 사이트 모듈을 포함한다. 일 실시예에서, 사이트 모듈은 시험기 슬라이스(340A 내지 340N) 상에 기계적으로 구성될 수 있고, 각 시험기 슬라이스는 적어도 하나의 사이트 모듈을 포함한다. 특정한 전형적인 실시예들에서, 각 시험기 슬라이스는 2개의 사이트 모듈 및 2개의 장치 전원 공급 장치 보드를 포함할 수 있다. 다른 실시예들에서, 시험기 슬라이스는 더 많거나 적은 사이트 모듈 및/또는 전원 공급 보드를 포함할 수 있다. 예를 들어, 도 3의 시험기 슬라이스(340A)는 사이트 모듈들(310A 및 310B) 및 장치 전력 공급 보드들(332A 및 332B)을 포함한다. 그러나 시험기 슬라이스 상에 구성될 수 있는 전원 공급 보드 또는 사이트 모듈의 수는 제한되지 않는다. 시험기 슬라이스(340)는 네트워크 스위치(302)를 통해 시스템 제어기(301)에 연결된다. 네트워크 스위치(302)는 32비트 폭의 버스를 사용하여 사이트 모듈들 각각에 연결될 수 있다.
일 실시예에서, 시스템 제어기(301)는 ATE의 사용자가 시험 프로그램을 로딩하고 ATE(300)에 연결된 DUT에 대한 시험을 실행하기 위한 사용자 인터페이스를 제공하는 개인용 컴퓨터(PC)와 같은 컴퓨터 시스템일 수 있다. Advantest StylusTM 운영체제는 장치 시험 동안 일반적으로 사용되는 시험 소프트웨어의 한 예이다. 이는 시험을 구성하고 제어할 수 있는 그래픽 사용자 인터페이스를 사용자에게 제공한다. 또한, Advantest StylusTM 운영체제는 시험 흐름을 제어하고, 시험 프로그램의 상태를 제어하며, 어떤 시험 프로그램이 실행 중인지를 결정하고, 시험 결과 및 시험 흐름과 관련된 다른 데이터를 로그(log)하는 기능을 포함할 수 있다. 일 실시예에서, 시스템 제어기는 최대 512개의 DUT에 연결되고 이들 DUT를 제어할 수 있다.
일 실시예에서, 시스템 제어기(301)는 이더넷 스위치와 같은 네트워크 스위치를 통해 사이트 모듈 보드들(310A 내지 310B)에 연결될 수 있다. 임의의 실시예에서, 네트워크 스위치는, 예를 들어, 파이버 채널, 802.11 또는 ATM과 같은 상이한 프로토콜과 호환가능할 수 있다.
각각의 장치 전원 공급 보드(332A 내지 332B)는 사이트 모듈(310A 내지 310B) 중 하나로부터 제어될 수 있다. 시험기 프로세서(304) 상에서 실행되는 소프트웨어는 장치 전원 공급기를 특정 사이트 모듈에 할당하도록 구성될 수 있다. 일 실시예에서, 사이트 모듈들(310A 내지 310B) 및 장치 전원 공급기(332A 내지 332B)는 고속 직렬 프로토콜, 예를 들어, PCIe(Peripheral Component Interconnect Express), SATA(Serial AT Attachment) 또는 SAS(Serial Attached SCSI)를 사용하여 서로 통신하도록 구성된다.
일 실시예에서, 각각의 사이트 모듈은 도 3에 도시된 바와 같이 2개의 FPGA와 함께 구성된다. 도 3의 실시예의 FPGA들(316 및 318) 각각은 시험기 프로세서(304)에 의해 제어된다. 시험기 프로세서(304)는 시스템 버스들(330 및 332)에 의해 표시된 바와 같이 PCIe와 같은 8레인 고속 직렬 프로토콜 인터페이스를 사용하여 각각의 FPGA들과 통신할 수 있다. 다른 실시예들에서, 시험기 프로세서(304)는 또한 상이한 고속 직렬 프로토콜, 예를 들어, SATA(Serial AT Attachment) 또는 SAS(Serial Attached SCSI)를 사용하여 FPGA들과 통신할 수 있다.
FPGA(316 및 318)는 메모리 모듈(308 및 304)에 각각 연결된다. 메모리 모듈은 FPGA 장치 및 시험기 프로세서(304) 둘 모두와 결합될 수 있고, 둘 모두에 의해 제어될 수 있다.
FPGA(316 및 318)는 버스(352 및 354)를 통해 로드 보드(load board)(380) 상의 DUT(372A 내지 372M)에 각각 연결될 수 있다. 로드 보드(380)는 라인(352 및 354) 상의 DUT와 통신하기 위해 사용되는 프로토콜에 대해 무관한 사이트 모듈 단부에서 범용 고속 연결을 허용하는 물리적 장치이다. 그러나, DUT 단부에서, 로드 보드는 DUT에 의해 사용되는 프로토콜에 특정한 커넥터를 갖도록 설계될 필요가 있다.
도 3은 단지 시험기 슬라이스의 예시적인 실시예를 예시한다는 점을 유념해야 한다. 또한, 본 발명의 실시예들은 도 3에 도시된 시험기 슬라이스의 유형으로만 제한되지 않는다는 점을 유념한다. 본 발명의 실시예들은 아래에 더 상세히 설명되는 바와 같이 상이한 유형의 시험기 슬라이스 및 프리미티브를 포함할 수 있다.
본 발명의 일실시예에서, DUT(372A 내지 372M)는 시험을 위해 열 챔버(390) 내부에 배치된 로드 보드(380) 상에 적재된다. DUT(372A 내지 372M) 및 로드 보드(380)는 장치 전원 공급기(332A 및 332B)로부터 전력을 얻는다.
각 FPGA에 연결될 수 있는 DUT의 수는 FPGA 내의 트랜시버 수 및 각 DUT에 필요한 I/O 레인 수에 따라 달라진다. 일 실시예에서, FPGA(316 및 318)는 각각 32개의 고속 트랜시버를 포함할 수 있고 버스(352 및 354)는 각각 32비트 폭일 수 있지만, 애플리케이션에 따라 더 많거나 적게 구현될 수 있다. 각 DUT에 8개의 I/O 레인이 필요하다면, 예를 들어, 4개의 DUT만 이러한 시스템의 각 FPGA에 연결될 수 있다.
도 4a는 본 발명의 일 실시예에 따른 DUT 인터페이스 보드(DIB)(400)와 인터페이싱된 프리미티브(410)를 도시한다. 도 2에 도시된 시험기 슬라이스(40)와 유사하게, 도 4의 프리미티브는 시험 헤드(20)에 맞는 개별 시험 모듈의 유형이고 시험 계획을 따라 DUT에 대한 시험을 수행하는 시험 회로를 포함한다. 프리미티브는 모든 다양한 전자장치, 예를 들어, 사이트 모듈, 전원 공급기 등이 하우징된 인클로저를 포함한다. DIB(400)는 DUT(420)를 위한 사이즈 맞춤형 커넥터를 사용하는 복수의 DUT(420)를 포함할 수 있다. DIB(400)는 또한 인클로저(470)를 포함할 수 있다. DIB(400)는 도 3에 도시된 로드 보드(380)와 유사한 로드 보드(미도시)를 통해 프리미티브(410)의 범용 백플레인(미도시)에 인터페이싱한다. 프리미티브(410)는 DUT(420) 상에서 시험 계획을 수행하기 위한 시험 회로(도 3에 도시된 시험기 슬라이스(340A)와 유사함)를 포함한다. 프리미티브(410)는 임의의 다른 프리미티브와 독립적으로 동작하고 제어 서버(도 3에 도시된 시스템 제어기(301)와 유사함)에 연결된다.
도 4b는 복수의 프리미티브(491)를 포함하는 작업 셀을 도시한다. 본 발명의 실시예들은 복수의 프리미티브(도 4b에 도시된 프리미티브와 유사함) 및 연관 DIB를 이용하여 DUT를 시험한다. 본 발명의 실시예들은 시험기 슬라이스(도 2의 시험기 슬라이스(40)와 유사함)를 사용하여 DUT를 시험할 수 있다. 각 프리미티브(또는 시험기 슬라이스)는 다른 프리미티브(또는 다른 시험기 슬라이스)와 독립적으로 동작할 수 있는 모듈식이다. 따라서, (도 4b에 도시된 바와 같이) 랙 내에 설정된 복수의 프리미티브는 상이한 시험 계획하에서 각각 동작할 수 있다. 프리미티브는 명령, 제어, 관리 등을 위해 제어 서버와 통신한다. 제어 서버는 제어 서버가 지원하는 다양한 프리미티브에 대한 복수의 애플리케이션 프로그램 또는 시험 계획을 호스팅할 수 있다. 프리미티브는 표준 IP 네트워크를 통해 서버와 통신할 수 있다. 원격으로 위치할 수 있는 다양한 컴퓨터 시스템이 표준 IP 네트워크 연결을 통해 서버에 액세스할 수 있다.
따라서, 이러한 시험 플랫폼에서, 1) 프리미티브 모듈성 및 2) 표준 IP 네트워크 연결의 사용으로 인해, 복수의 프리미티브 또는 시험 슬라이스가 한 명의 사용자를 따라 주어진 시험 계획하에서 복수의 DUT를 검사하는 동안 동일 랙의 제 2 복수의 프리미티브가 제 2 사용자 등에 의해 지시되는 완전히 상이한 애플리케이션(또는 상이한 시험 계획)을 수행하는 것이 가능하다. 따라서, 종래 시험 시스템의 유휴 시험 회로와 지금까지 연관된 문제점들이 제거된다. 예를 들어, 6개의 프리미티브를 포함하는 시험 헤드에서, 2개의 프리미티브는 SATA 유형 장치를 디버깅하기 위해 엔지니어링 부서에 전용되고, 4개의 프리미티브는 SSD 드라이브의 볼륨 시험을 위해 제조 부서에 의해 전용되는 것이 가능하다.
일 실시예에서, 시험 시스템이 도 4에 도시된 프리미티브를 사용하면, 프리미티브가 효율적인 방식으로 분할되도록 설계되기 때문에, 프리미티브 랙과 연관된 DUT를 시험할 때 환경 챔버가 더 이상 필요하지 않다. 이 실시예에서, 프리미티브를 위한 인클로저(450)는 DUT로부터의 열이 인클로저 내부에 유지되게 하고, 따라서 별도의 가열 챔버가 요구되지 않는다. 그 결과, DUT 및 프리미티브에 대해 언제든지 직접적인 사용자 조작이 허용된다. 즉, 높은 온도에서 DUT를 시험하는 데(인클로저 내에서 긴 시간 동안 전원 공급될 때) 필요한 열을 DUT가 공급한다. 또한, 프리미티브 인클로저(450)는 팬 및/또는 통풍구를 포함하여 공기가 프리미티브 내에서 순환하게 할 수 있어 DUT를 냉각시키고 따라서 프리미티브의 내부 온도를 낮춘다.
다른 실시예에서, 시험 시스템이 도 2에 도시된 시험기 섹션들을 사용한다면, 환경 챔버가 여전히 필요하지만, 시스템의 모듈성은 상이한 사용자들이 환경 챔버의 각각의 섹션들을 독점적으로 제어할 수 있게 한다. 따라서, 언제든지 DUT 및 시험기 슬라이스에 대해 직접적인 사용자 조작이 허용된다. 예를 들어, 제 1 사용자가 제 1 시험기 슬라이스 세트를 갖는 환경 챔버에서 시험을 수행하는 동안, 제 2 사용자는 자신의 독점적 제어하에 있는 제 2 시험기 슬라이스 세트 내에서 DUT를 조작할 수 있다.
도 5는 본 발명의 일 실시예에 따라 상이한 애플리케이션을 사용하는 다수의 사용자를 지원하는 시험 시스템(500)을 도시한다. 도 5에 도시된 바와 같이, 제어 서버(525)는 상이한 프리미티브(540a 및 540b)와 통신한다. 이러한 두 프리미티브는 단일 랙 내에 위치할 수 있다(도 4b 참조). 도 5의 예시적인 시험 시스템은 프리미티브를 사용하지만, 본 발명의 원리는 시험기 슬라이스를 또한 사용하는 시험 시스템에도 균등하게 적용 가능하다는 점을 유념한다.
프리미티브(540a)는 시험 계획 "TP1"을 사용하여 (DIB를 통해) 복수의DUT(550a)를 시험하는 것으로 도시된다. 프리미티브(540b)는 시험 계획 "TP2"로 불리는 별도의 애플리케이션을 사용하여 (DIB를 통해) DUT를 시험하는 것으로 도시된다. 2개의 상이한 표준 IP 네트워크 연결을 통해, 제 1 사용자 컴퓨터(510) 및 제 2 사용자 컴퓨터(520) 둘 모두 제어 서버(525)에 연결된다.
예를 들어, 제 1 사용자 컴퓨터는 고객의 엔지니어링 부서 전용이고 제 2 사용자 컴퓨터는 제조 부서 전용일 수 있다. 이들 사용자 컴퓨터는 서로 멀리 떨어져 있을 수 있고 서버(525)로부터 원격에 있을 수 있다. 서버(525)와 통신할 수 있는 더 많은 프리미티브 및/또는 시험기 슬라이스가 있고 단지 예시를 위해 2개만 도시된 점이 이해되어야 한다.
도 5에 도시된 예에서, 제 2 사용자 컴퓨터(520)는 프리미티브(540b)에 의한 실행을 통해 복수의 DUT(550b)에 대한 제조 시험 계획을 제어한다. 이 제조 시험 계획은 제어 서버(525)에 로딩될 수 있고, 그 다음에 DUT(550b) 상에서 실행하기 위해 프리미티브(540b)에 다운로드 될 수 있다. 그 다음, 시험 결과가 그 반대로 통신될 수 있다. 본 예에서, 사용자 컴퓨터(520)는 DUT(550b)의 대량 제조 시험 동안 생산 전문가의 제어하에 있을 수 있다.
이러한 방식으로, 본 발명의 실시예들은 동일한 시험기를 사용하여 완전히 상이한 기능들을 지원할 수 있다. 예를 들어, 제조 시험 동안 시험기는 시험 헤드 내의 프리미티브의 서브세트를 사용하여 고정 작업 흐름을 실행할 수 있다. 예를 들어, 제조 작업 흐름은 SSD 드라이브에 바코드를 붙이는 것, 시험하는 것 및 "합격" 또는 "불합격" 태그를 붙이는 것을 포함할 수 있다. 동시에 엔지니어링 팀의 구성원은 시험 헤드 내의 다른 프리미티브 세트를 사용하여 SATA 드라이브의 불합격 결과를 디버깅하는 것과 같이 전혀 다른 기능을 수행할 수 있다.
상기 시험과 동시에, 제 1 사용자 컴퓨터(510)는 프리미티브(540a)를 통해 복수의 DUT(550a)에 적용하기 위한 엔지니어링 시험 계획을 제어할 수 있다. 엔지니어링 시험 계획은 아직 완료되지 않은 개발 중인 시험 계획일 수 있다. 대안적으로, 엔지니어링 시험 계획은 상이한 프로토콜, 예를 들어, DUT 유형 x 대 DUT 유형 y를 사용하는 상이한 DUT를 시험하기 위한 상이한 유형의 제조 시험 계획일 수 있다. 이 엔지니어링 시험 계획은 제어 서버(525)에 로딩될 수 있고 그 다음에 DUT(550a) 상에서 실행하기 위해 프리미티브(540a)에 다운로드 될 수 있다. 시험 결과는 그 이후 반대 방향으로 통신될 수 있다. 이 예에서, 사용자 컴퓨터(510)는 추후 사용을 위해 현재 프로토타입 하에 있는 시험 계획을 개발하는 시험 엔지니어의 제어하에 있을 수 있다.
일 실시예에서, 사용자 컴퓨터(510 및 520)는 시험 소프트웨어, 예를 들어, Advantest StylusTM를 작동시키는 시스템 제어기일 수 있다. 다른 실시예에서, 사용자 컴퓨터(510 및 520)는 IP 네트워크와 같은 통신 네트워크, 예를 들어, IP 네트워크를 통해 서버(525)에 연결된 사용자 단말일 수 있고, 서버(525)는 시험 소프트웨어, 예를 들어, Advantest StylusTM를 작동시키는 시스템 제어기이다.
일 실시예에서, 서버(525)는 모든 연결된 프리미티브(또는 시험기 슬라이스)에 대한 시험을 모니터링하고 또한 GUI를 사용자에게 제공하는 제어기이다. 다른 실시예들에서, 사용자는 도 5에 도시된 바와 같은 IP 연결을 통해 서버에 연결하고, 서버에 연결된 각 사용자 컴퓨터는 연관된 사용자에게 별도의 GUI를 제공하여 연관된 프리미티브 세트를 제어한다.
일 실시예에서, 서버(525)는 사용자들 사이에서 자원을 할당하는 할당 방식을 실행할 수 있다. 예를 들어, 서버는 사용자의 애플리케이션에 따라 사용자에게 프리미티브 및/또는 시험기 슬라이스를 할당할 수 있다. 일 실시예에서, 서버는 상이한 목적을 위한 상이한 프리미티브 및/또는 시험기 슬라이스를 상이한 사용자에게 동적으로 할당하고 관리할 수 있다. 서버는 또한 서버(525)에 연결된 각 사용자 컴퓨터들과 다양한 프리미티브들(및 이들의 연관 DUT들) 사이의 양방향 통신을 허용한다. 서버는 또한 다양한 연결된 프리미티브에 대해 실행되는 동시 작업 흐름들을 관리하고 연결된 프리미티브 및/또는 시험기 슬라이스에 대한 다양한 작업 흐름들을 추적할 수 있다.
본 발명의 실시예들은 동일한 시험 헤드(20)를 사용하여 (상이한 크기, 유형 및 폼 팩터를 포함하는) 상이한 유형의 장치들을 동시에 시험하는데 유리하게 사용될 수 있다는 점을 유념한다. 예를 들어, 동일한 시험기는 상이한 프리미티브 또는 시험기 슬라이스를 사용하여 SATA 드라이브 및 SSD 드라이브를 동시에 시험하는데 사용될 수 있다.
또한, 시험받는 다른 유형의 장치 각각에 대해 또는 시험 헤드 내의 각 프리미티브 또는 시험기 슬라이스에 대해 상이한 시험 계획이 실행될 수 있다. 이는 단일 고객이 병렬인 복수의 기능을 위해 단일 시험기를 사용할 수 있게 하고, 각 기능을 위한 전용 시험기의 필요성이 없게 한다. 본 발명의 실시예들을 지지하기 위해, 일 실시예에서, 시험기 소프트웨어는 동시에 복수의 시험 프로그램을 로딩하는 능력을 갖고, 각 시험 프로그램은 다른 프리미티브들에 대해 동시에 실행될 수 있다. 예를 들어, 사용자는 그룹 당 하나의 시험 프로그램을 로딩할 수 있고, 그룹은 하나의 트레이 슬롯 상의 모든 DUT들로 정의된다. 일 실시예에서, 시험기 소프트웨어는 시험기 시스템 내에 존재하는 프리미티브 만큼 많은 동시 실행되는 시험 프로그램을 지원하는 능력을 가질 수 있다.
따라서, 프리미티브(540a)가 복수의 DUT를 시험하는 복수의 프리미티브를 나타낸다고 가정하면, 동일한 랙의 제 2 복수의 프리미티브(540b)는 상이한 사용자들에 의해 상이한 목적으로 사용될 수 있고, 이로써 임의의 유휴 컴포넌트를 제거한다. 보다 구체적으로는, 엔지니어링 팀에 의해 DUT(550a) 상에서 제 1 시험이 수행되는 동안, 제조 팀은 프리미티브(550b)를 유리하게 사용하여 추후 사용을 위한 후속 시험을 준비할 수 있다.
표준 IP 네트워크 통신이 제어 서버(525)와 사용자 컴퓨터 사이에서 사용되기 때문에, 복수의 사용자 컴퓨터는 언제든지 제어 서버(525)에 액세스할 수 있고 원격에 있을 수 있다. 복수의 상이한 시험 계획이 랙의 다양한 프리미티브에 로딩될 수 있게 하고 상이한 사용자에 의한 서버 제어를 통해 서로 독립적으로 실행되게 한다.
프리미티브의 설계로 인해 환경 챔버가 제거되는 실시예에서, 프리미티브(540b)의 시험 계획이 동작 중인 동안, 프리미티브(540a)는 수동으로 직접 상호 작용할 수 있고, 그 역 또한 같다.
유사하게, 환경 챔버가 여전히 사용되는 시험기 슬라이스를 갖는 실시예에서도, 시험기 슬라이스들이 서로 독립적으로 사용될 수 있기 때문에 상이한 사용자들은 환경 챔버의 개별 섹션을 독점적으로 제어할 수 있다.
본 발명의 이점은 각 프리미티브가 독립적으로 동작할 수 있다는 점에서 시험기의 유연성이 커진다는 것이다. 본 발명의 다른 이점은 유휴 시험 회로의 제거로 인한 시험기 효율성이 증가한다는 것이다. 본 발명의 또 다른 이점을 복수의 사용자가 주어진 트리미티브의 랙 내에서 동시에 상이한 DUT들에 대해 상이한 시험 계획들을 실행할 수 있다는 것이다.
시험 프로그램 흐름 제어
일 실시예에서, 사용자는 프리미티브 또는 시험기 슬라이스에 연결된 각각의 DUT에 대해 상이한 시험 흐름을 실행할 수 있다. 도 6은 본 발명이 종래 시험기에 대해 제공하는 신규 개선점을 예시하는 고수준 개요도이다.
도 6에 도시되고 전술된 바와 같이, 종래 시험기는 시험 헤드 내에 포함된 모든 시험기 슬라이스 상에서 단일 시험 계획(또는 시험 프로그램)만 실행할 수 있기 때문에 제한적이다.
또한, 앞에서 설명된 바와 같이, 본 발명의 실시예들은 적어도, 1) 프리미티브 모듈성(primitive modularity), 및 (2) 표준 IP 네트워크 연결의 사용의 결과로 종래 시험기를 개선한다. 따라서, 도 6에 도시된 바와 같이, 동일 랙의 제 2 복수의 프리미티브가 제 2 사용자에 의해 지시된 완전히 다른 애플리케이션(또는 상이한 시험 계획)을 수행하는 동안, 복수의 프리미티브 또는 시험기 슬라이스가 한 사용자에 따라 주어진 시험 계획하에 복수의 DUT를 시험하는 것이 가능하다. 예를 들어, 시험기(620)가 8개의 프리미티브를 포함하면, 각 프리미티브는 상이한 시험 프로그램(TP0, TP1 ... TP8)을 실행할 수 있다. 또한, 각 프리미티브는 상이한 프로토콜을 실행하는 DUT를 시험하고, 예를 들어, 하나의 프리미티브 또는 프리미티브 세트는 SSD 드라이브를 시험하고, 다른 프리미티브 또는 프리미티브 세트는 SATA 드라이브를 시험할 수 있다.
본 발명의 실시예들은 또한 사용자가 프리미티브(또는 시험기 슬라이스)에 연결된 각각의 DUT 상에서 상이한 시험 흐름을 실행할 수 있게 함으로써 종래 시험기를 개선한다. 동일한 프리미티브에 연결된 모든 DUT가 동일한 프로토콜을 실행할 수 있지만, 본 발명의 실시예들은 각 프리미티브 상의 DUT가 상이한 시험 흐름을 실행할 수 있게 한다. 도 6의 시험기(630)에 도시된 바와 같이, 시험 프로그램 TP0에 연결된 DUT0는 흐름 A를 실행하고, DUT2는 흐름 B를 실행하며, DUT7은 흐름 C를 실행한다. 즉, 프리미티브 내의 각 DUT는 자신만의 시험 흐름을 실행할 수 있고 프리미티브 내의 다른 모든 DUT와 동일한 시험 흐름을 실행할 필요가 없다.
도 7은 본 발명의 일 실시예에 따른 시험 프로그램의 다양한 컴포넌트들을 도시한다. 시험 프로그램은 전형적으로 두 개의 파일, 즉 표준 시험 인터페이스 언어(STIL) 및 시험 방법(.so) 파일로 구성된다. 시험 방법(.so) 파일은 전형적으로 시험기 사이트 모듈 상에서 실행되어 DUT를 직접 시험하는 컴퓨터 코드를 포함한다. 반면 STIL 파일은 (다른 구성 정보 중에서) 시험 방법이 시험 프로그램을 생성하도록 구성되는 방법에 대한 정보를 포함한다.
시험 방법은 시험 프로그램의 기본 구축 블록을 포함한다. 예를 들어, 도 7에 도시된 바와 같이, 시험 방법(710)은 장치를 오픈하는 동작, DUT에 리셋을 수행하는 동작, 또는 임의의 다른 시험 관련 동작을 포함할 수 있다. 시험 방법은 DUT와 직접 통신한다. 시험 방법은 도 7을 사용하여 아래에서 자세히 설명되는 계층 구조 내의 STIL 파일 내에 구성된다.
본 발명의 일 실시예에서, 시험 방법은 시험 파라미터(730)에서 호출된다. 시험 파라미터(730)는 특정 순서로 실행되는 시험 방법 세트이다. 시험 파라미터는 전형적으로 시험 방법 리스트를 포함한다.
시험 세그먼트(740)는 전형적으로 단일 시험 파라미터(730)와 연관된다. 시험 파라미터(730)는 시험 세그먼트에서 호출될 수 있다. 동일한 시험 파라미터가 복수의 세그먼트들에서 사용될 수 있다는 점을 유의한다. 또한 시험 세그먼트는 DUT뿐만 아니라 시험 파라미터에 대한 빈 정보(bin information)를 포함한다는 점을 유념한다. 빈 번호는 DUT가 속한 물리적 빈과 관련될 수 있다. 따라서, 시험 세그먼트는 시험 파라미터 내의 시험 방법을 시험 파라미터로부터의 시험 방법이 실행되는 것으로 가정되는 물리적 DUT에 결부시킨다. 복수의 시험 세그먼트가 조합되어 프로그램 시퀀스가 될 수 있다.
프로그램 시퀀스(760)는 특정 순서로 실행되는 세그먼트 세트이다. 4개의 상이한 프로그램 시퀀스, 즉 a) 시작(Start)-전처리 단계 (b) 메인(Main)-실제 시험 단계 (c) 마침(Finish)-후처리 단계(예를 들어, 장치의 전원을 끄고 정리 등) 및 (d) 디버그(Debug)-디버깅 목적으로 수동으로 실행될 수 있는 세그먼트(선택 사항일 수 있음)가 있다. 모든 시험 프로그램은 시작, 메인, 마침 프로그램 시퀀스를 갖는다. 또한 디버깅 목적으로 사용할 수 있는 선택적 디버그 프로그램 시퀀스가 있다.
종래 시험기는 전형적으로 STIL 파일 당 하나의 프로그램 시퀀스 세트만을 허용한다. 본 발명의 일 실시예에서, 시험 흐름(Test Flow) 구성은 4개의 프로그램 시퀀스의 세트를 포함하는 시험기 소프트웨어(예를 들어, Advantest StylusTM) 내에 정의된다. 예를 들어, 도 7에 도시된 바와 같이, 시험 흐름 ABC는 4개의 프로그램 시퀀스, 즉 시작(Start), 메인(Main), 종료(Finish) 및 디버그(Debug)를 포함한다. 유사하게, 시험 흐름 DEF(Test Flow DEF)는 시작(Start), 메인(Main), 종료(Finish) 및 디버그(Debug)의 4개의 프로그램 시퀀스를 포함한다. 또한, 시험 스위트(Test Suite) 구조가 생성된다. 시험 스위트(720)는 시험 흐름의 모음으로 정의된다.
본 발명의 일 실시예에서, 사용자는 유리하게 하나의 STIL 파일 내에 복수의 시험 흐름을 정의할 수 있다. 본 발명의 실시예들은 사용자가 하나의 STIL 파일 내에 복수의 시험 흐름을 정의할 수 있게 하고 프리미티브(또는 시험기 슬라이스)에 연결된 각각의 DUT에서 상이한 시험 흐름을 실행함으로써 종래 시험기를 개선한다. 프리미티브의 각 DUT는 STIL 파일 내의 정의된 시험 흐름 중 하나를 작동시킬 수 있다. 동일한 프리미티브에 연결된 모든 DUT는 동일한 프로토콜을 실행할 수 있고 동일한 사용자의 제어하에 있을 수 있지만, 본 발명의 실시예들은 각 프리미티브 상의 DUT가 상이한 시험 흐름을 작동시킬 수 있게 한다. 따라서, 본 발명의 실시예들은 (전술된 매 프리미티브 유연성 외에) 매 DUT 유연성마다 허용한다. 또한, 본 발명의 실시예들은 장치마다 복수의 삽입을 가질 수 있게 하고, 여기서 모든 삽입은 상이한 시험 흐름을 요구한다. STIL 파일은 모든 삽입을 처리하도록 구성된다.
시험 프로세스 동안 프리미티브 내의 각 DUT가 상이한 포인트 또는 시나리오에 있을 수 있게 함으로써, 본 발명의 실시예들은 하나의 시험 프로그램에 단일 시험 흐름만을 허용하는 종래 시험기를 더욱 효율적으로 만든다. 종래 시험기는 시험기 내의 모든 DUT 상에서 동일한 시험 흐름을 작동시키는 것으로 제한되었다. 복수의 시험 흐름을 지원하지 않으면 자원을 효율적으로 사용할 수 없기 때문에 제조 및 엔지니어링 프로세스가 더 복잡해진다.
따라서, 본 발명의 실시예들은 임의의 주어진 시간에 상이한 시험 방법이 상이한 DUT에서 실행되게 하고, 이는 사용자로 하여금 시험기 자원을 완전히 이용할 수 있게 한다. 복수의 시험 흐름을 지원할 수 있는 능력 없이는, 테스팅 프로세스의 상이한 단계에서의 DUT가 다수의 시험기로 분리되어야 한다. 예를 들어, 시험기 내의 각 DUT가 3개의 상이한 시험 프로그램을 실행해야 한다고 고려해본다. 과거에 고객이 첫 번째 시험 프로그램을 로딩하고 두 번째 시험 프로그램을 시작하기 전에 시험기 내의 모든 DUT를 끝내야 했을 것이다. 첫 번째 시험 프로그램이 완료된 후, 그 다음에 사용자는 두 번째 시험 프로그램을 로딩하고 모든 장치가 완료되게 해야 할 것이다.
본 발명의 실시예들을 사용하여, 고객은 3개의 시험 프로그램 각각을 복수의 흐름 STIL 파일 내의 단일 시험 흐름으로 통합할 수 있다. 그런 다음, DUT(12)가 DUT(0) 훨씬 이전에 끝나면, 고객은 DUT(0)가 여전히 제 1 시험 흐름을 실행하는 중인 동안 DUT(12)에 대한 제 2 시험 흐름을 실행할 수 있다. 따라서, 본 실시예들은 고객이 각 프리미티브에 대해 상이한 시험 프로그램을 실행할 수 있게 할 뿐만 아니라 고객이 각 DUT 상에서 상이한 시험 프로그램을 실행할 수 있게 한다. 따라서, 본 발명의 실시예들은 사용자에게 많은 유연성을 제공하고 시스템 자원을 보다 효율적으로 사용할 수 있도록 돕는다.
일 실시예에서, 사용자는 2개의 종래 STIL 파일을 조합할 수 있다. STIL 파일에 정의된 모든 시험 흐름은 동일한 시험 메소드 세트(예를 들어, 시험 방법(710))에 의존하기 때문에, 사용자는 각각의 개별 시험 프로그램에 대한 시험 방법(.so) 파일에서 이용 가능한 모든 시험 방법이 또한 조합된 시험 프로그램에 대한 시험 방법 파일에서 이용 가능하도록 보장해야 한다.
본 발명의 실시예들은 또한 시험 흐름의 그래픽 사용자 인터페이스(GUI) 편집을 허용한다. 예를 들어, 도 7에 도시된 바와 같이, GUI는 다양한 데이트 흐름, 예를 들어, 1차, ABC, DEF, GHI 등에 대한 탭을 갖는다. 또한, 각 흐름은 도 7에 도시된 바와 같이, 해당 흐름 내의 프로그램 시퀀스들 각각, 예를 들어, 시작(Start), 메인(Main), 종료(Finish), 디버그(Debug)에 대한 별도의 탭을 갖는다. 도 7의 예에서, 시험 흐름 윈도우(795)는 테스트 흐름 프라이머리에 대한 메인 시퀀스를 보여준다. 메인 시퀀스는 테스트 흐름 프라이머리에 대한 실제 시험 단계를 포함한다. 본 발명의 실시예들은 도 7의 예에 도시된 GUI를 사용하여 시험 흐름을 편집할 수 있게 한다. 예를 들어, 테스트 흐름 프라이머리에 대한 메인 시퀀스를 편집하기 위해, 예를 들어, 사용자는 시험 흐름 윈도우(795)에 보이는 세그먼트를 그래픽으로 편집할 수 있다.
본 발명의 실시예들은 또한 시험 흐름의 GUI 실행을 허용한다. GUI로부터 시험 프로그램을 실행할 때, 사용자는 하나의 시험 흐름 또는 전체 시험 스위트를 실행하도록 선택할 수 있다. 특정 시험 흐름을 실행하기 위해 사용자는 자신이 실행하기 원하는 시험 흐름을 선택한다. 그 다음에 사용자는 시험 프로그램의 실행을 시작할 수 있다. 선택된 흐름은 DUT 도구에서 선택된 모든 DUT에 대해 실행된다. 시험 스위트를 실행하기 위해 사용자가 프로그램이 실행되기 원하는 DUT를 선택한 다음 GUI의 DUT 도구에서 실행 버튼을 누를 수 있다. 시험 스위트를 실행할 때, 임의의 고장이 있다면, 시험 스위트는 실행을 멈추고 GUI는 고장을 보고한다(후속 흐름은 고장 시 실행되지 않는다).
본 발명의 실시예는 또한 실행 순서 넘버링을 허용한다. 각각의 시험 흐름은 전술한 바와 같이 하위 세그먼트들에 기초한다. 본 발명의 실시예들은 식별 번호를 사용하여 각각의 세그먼트를 할당한다. 이는 사용자에게 시험 프로세스에 대한 더 나은 가시성을 제공한다. 런타임 동안에는 사용자가 식별 번호를 사용하여 시험이 어느 단계에 있는지 판단할 수 있게 한다. 도 7에 도시된 바와 같이, 실행 번호(761)는 사용자에 의해 편집될 수 있다. 또한, 실행 번호는 선택적이고, 모든 세그먼트가 실행 번호를 요구하지는 않는다. 실행 번호가 정의되지 않는다면, 디스플레이되지 않을 것이다.
일 실시예에서, 시험기 소프트웨어는 특정 런타임 단계를 지원한다. 예를 들어, 각 장치에 대해 시험기 소프트웨어는 DUT 상에서 어느 시험 흐름이 DUT 상에서 실행될지 자동으로 판단할 수 있다. 시험 흐름이 종료되면, 자동화 시스템은 다음 시험 흐름을 계속 진행할지 아니면 연관된 DUT에서 시험 프로세스를 완료할지 결정할 수도 있다.
도 8은 본 발명의 일 실시예에 따라 동일한 시험기 상에서 복수의 시험 프로그램을 동시에 실행하기 위한 예시적인 컴퓨터로 구현된 프로그램에 관한 흐름도를 도시한다. 그러나, 본 발명은 흐름도(800)에 의해 제공되는 설명으로 제한되지 않는다. 오히려, 다른 기능적 흐름이 본 발명의 범위 및 정신 내에 있다는 것이 본 발명의 범위 및 사상 내에 있는 교시로부터 당업자에게 명백할 것이다. 흐름도(800)는 전술한 예시적인 실시예를 계속 참조하여 설명될 것이지만, 방법은 그러한 실시예들로 제한되지 않는다.
단계(802)에서, 제 1 시험 계획은 제 1 사용자 컴퓨터, 예를 들어, 사용자 컴퓨터(510)로부터 제어 서버, 예를 들어 서버(525)로 로딩되고, 여기서 제어 서버는 시험기의 복수의 프리미티브와 통신한다. 전술한 바와 같이, 본 발명의 실시예들은 시험기 슬라이스에도 적용된다. 제어 서버는 전형적으로 프리미티브와 통신할 수 있게 하고 프리미티브 내부의 DUT 상에서 시험 계획을 실행하게 할 수 있는 시험기 소프트웨어, 예를 들어, Advantest StylusTM 운영 체제를 실행할 것이다.
단계(804)에서, 제 1 시험 계획은 제 1 프리미티브 세트와 연관된 DUT 상의 실행을 위해 복수의 프리미티브 중 제 1 프리미티브 세트에 다운로드 된다. 도 5와 연관된 예에서 언급된 바와 같이, 제 1 사용자 컴퓨터는 엔지니어링 그룹에 의해 제어될 수 있고 제 1 프리미티브 세트는 엔지니어링 그룹을 위한 시험 계획을 실행할 수 있다.
단계(806)에서, 제 2 시험 계획은 제 2 사용자 컴퓨터, 예를 들어, 사용자 컴퓨터(520)로부터 제어 서버에 로딩된다. 제 2 사용자 컴퓨터는, 예를 들어, 고객 사이트의 제조 그룹의 제어하에 있을 수 있다.
단계(808)에서, 제 2 시험 계획은 제 2 프리미티브 세트와 연관된 DUT 상에서 실행하기 위해 복수의 프리미티브 중 제 2 프리미티브 세트에 다운로드 된다.
단계(810)에서, 서버는 제 1 프리미티브 세트 상의 제 1 시험 계획 및 제 2 프리미티브 세트 상의 제 2 시험 계획을 동시에 실행한다.
도 9는 본 발명의 일 실시예에 따라 동시에 동일한 시험기 상의 단일 프리미티브 내부에서 복수의 시험 흐름을 실행하기 위한 예시적인 컴퓨터로 구현된 프로세스의 흐름도를 도시한다. 그러나, 본 발명은 흐름도(900)에 의해 제공된 설명으로 제한되지 않는다. 오히려, 다른 기능적 흐름이 본 발명의 범위 및 정신 내에 있다는 것이 본원에 제공된 교시로부터 당업자에게 명백할 것이다. 흐름도(900)는 전술한 예시적인 실시예들을 계속 참조하여 설명될 것이지만, 방법은 이러한 실시예들로 제한되지는 않는다.
단계(902)에서, 시험 계획은 사용자 컴퓨터(예를 들어, 컴퓨터(510))로부터 서버(예를 들어, 서버(525))에 로딩되고, 여기서 제어 서버는 시험기의 프리미티브들, 예를 들어, 복수의 프리미티브(540a 내지 540b)와 통신한다. 제어 서버는 전형적으로 프리미티브와 통신하고 프리미티브 내부의 DUT 상에서 시험 계획을 실행하게 할 수 있는 Advantest StylusTM 운영 체제와 같은 시험기 소프트웨어를 실행할 것이다.
단계(904)에서, 시험 계획은 프리미티브와 연관된 DUT 상에서 실행하기 위해 복수의 프리미티브 중 하나의 프리미티브 상에 다운로드 된다. 전술한 바와 같이, 본 발명의 일 실시예에서, 사용자는 시험 계획의 하나의 STIL 파일 내에서 복수의 시험 흐름을 정의할 수 있다.
단계(906)에서, 복수의 시험 흐름 중 제 1 시험 흐름이 프리미티브 내의 제 1 DUT 상에서 실행된다. 단계(908)에서, 복수의 시험 흐름 중 제 2 시험 흐름이 프리미티브 내의 제 2 DUT 상에서 실행되고, 제 1 시험 흐름 및 제 2 시험 흐름이 동시에 실행된다. 전술한 바와 같이, 본 발명의 실시예들은 사용자가 하나의 IL 파일 내에 복수의 시험 흐름을 정의할 수 있게 하고 프리미티브(또는 시험기 슬라이스)에 연결된 DUT의 각각에서 상이한 시험 흐름을 실행함으로써 종래 시험기를 개선한다. 프리미티브의 각 DUT는 정의된 시험 흐름 중 하나를 STIL 파일 내에서 실행할 수 있다. 동일한 프리미티브에 연결된 모든 DUT는 동일한 프로토콜을 실행하고 동일한 사용자의 제어하에 있지만, 본 발명의 실시예들은 각 프리미티브 상의 DUT가 상이한 시험 흐름을 실행할 수 있게 한다.
위의 설명은 설명을 위해 특정 실시예들을 참조하여 설명되었다. 그러나, 위의 예시적인 설명은 배타적이거나 개시된 특정 형태로 본 발명을 제한하고자 하는 것은 아니다. 전술한 내용을 고려하여 많은 수정 및 변형이 가능하다. 실시예들은 본 발명의 원리 및 그 실제 응용을 가장 잘 설명하기 위해 선택되고 설명됨으로써, 다른 당업자들이 특정 용도에 적합할 수 있는 다양한 수정과 함께 본 발명 및 다양한 실시예들을 가장 잘 이용할 수 있게 한다.

Claims (22)

  1. 자동화된 시험 장비(automated test equipment: ATE)를 사용하여 시험을 수행하기 위한 방법으로서,
    제 1 사용자 컴퓨터로부터 제어 서버로 제 1 시험 계획을 로딩하는 단계 - 상기 제어 서버는 시험기 내의 복수의 프리미티브와 통신하고 상기 복수의 프리미티브는 상기 시험기 내의 랙 내에 배치되며, 각 프리미티브는 연관된 피시험 장치들(devices under test, DUTs)과 인터페이싱하기 위한 보드 및 인클로저(enclosure)를 포함하고 상기 복수의 프리미티브 중 다른 프리미티브들에 대해 독립적으로 동작할 수 있음 - 와,
    상기 복수의 프리미티브 중 제 1 프리미티브 서브세트로 상기 제 1 시험 계획을 다운로드하는 단계와,
    제 2 사용자 컴퓨터로부터 상기 제어 서버로 제 2 시험 계획을 로딩하는 단계와,
    상기 복수의 프리미티브 중 제 2 프리미티브 서브세트로 상기 제 2 시험 계획을 다운로드하는 단계와,
    상기 제 1 시험 계획 및 상기 제 2 시험 계획을 동시에 실행하는 단계를 포함하는
    ATE를 사용한 시험 수행 방법.
  2. 제 1 항에 있어서,
    표준 IP 네트워크 연결을 사용하여 상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터로부터 상기 제어 서버에 통신하는 단계를 더 포함하는
    ATE를 사용한 시험 수행 방법.
  3. 제 1 항에 있어서,
    상기 제 2 프리미티브 서브세트 내의 피시험 장치(device under test: DUT)가 시험 중인 동안 상기 제 1 프리미티브 서브세트 내의 DUT는 물리적으로 조작될 수 있고, 상기 제 1 프리미티브 서브세트 내의 DUT가 시험 중인 동안 상기 제 2 프리미티브 서브세트 내의 DUT는 물리적으로 조작될 수 있는
    ATE를 사용한 시험 수행 방법.
  4. 제 1 항에 있어서,
    상기 제 1 프리미티브 서브세트 상에서 실행 중인 상기 제 1 시험 계획은 제조 시험 계획이고, 상기 제 2 프리미티브 서브세트 상에서 실행 중인 상기 제 2 시험 계획은 엔지니어링 시험 계획인
    ATE를 사용한 시험 수행 방법.
  5. 제 1 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 서로 멀리 떨어진
    ATE를 사용한 시험 수행 방법.
  6. 제 1 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 상기 제어 서버로부터 멀리 떨어진
    ATE를 사용한 시험 수행 방법.
  7. 제 1 항에 있어서,
    상기 제 1 프리미티브 서브세트 내의 DUT는 상기 제 2 프리미티브 서브세트 내의 DUT와 상이한 프로토콜을 실행하는
    ATE를 사용한 시험 수행 방법.
  8. 제 1 항에 있어서,
    상기 제 1 프리미티브 서브세트 내의 DUT는 크기 및 형상 중 하나로부터 선택된 방식으로 상기 제 2 프리미티브 서브세트 내의 DUT와 상이한
    ATE를 사용한 시험 수행 방법.
  9. 자동화된 시험을 수행하기 위한 시스템으로서,
    제어 서버와,
    제 1 사용자로부터 상기 제어 서버로 제 1 시험 계획을 로딩하도록 동작 가능한 제 1 사용자 컴퓨터와,
    제 2 사용자로부터 상기 제어 서버로 제 2 시험 계획을 로딩하도록 동작 가능한 제 2 사용자 컴퓨터와,
    복수의 프리미티브를 배치하기 위한 적어도 하나의 랙을 포함하는 시험기를 포함하되,
    상기 제어 서버는, 상기 제 1 사용자 컴퓨터, 상기 제 2 사용자 컴퓨터 및 상기 시험기와 통신 가능하게 연결되고, 제 1 프리미티브 서브세트를 상기 제 1 시험 계획에 할당하여 상기 제 1 프리미티브 서브세트 상의 상기 제 1 시험 계획의 실행을 관리하도록 동작 가능하며, 또한 동시에 제 2 프리미티브 서브세트를 상기 제 2 시험 계획에 할당하여 상기 제 2 프리미티브 서브세트 상의 상기 제 2 시험 계획의 실행을 관리하도록 동작 가능하고,
    각 프리미티브는 연관된 피시험 장치들(devices under test, DUTs)과 인터페이싱하기 위한 보드 및 인클로저(enclosure)를 포함하고, 상기 복수의 프리미티브중 다른 프리미티브들에 대해 독립적으로 동작할 수 있는,
    자동화된 시험 수행 시스템.
  10. 제 9 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 표준 IP 네트워크 연결 및 프로토콜을 사용하여 상기 제어 서버와 통신하는
    자동화된 시험 수행 시스템.
  11. 제 9 항에 있어서,
    상기 제 2 프리미티브 서브세트 내의 피시험 장치(DUT)가 시험 중인 동안 상기 제 1 프리미티브 서브세트 내의 DUT는 물리적으로 조작될 수 있고, 상기 제 1 프리미티브 서브세트 내의 DUT가 시험 중인 동안 상기 제 2 프리미티브 서브세트 내의 DUT는 물리적으로 조작될 수 있는
    자동화된 시험 수행 시스템.
  12. 제 9 항에 있어서,
    상기 제 1 프리미티브 서브세트 상에서 실행되는 상기 제 1 시험 계획은 제조 시험 계획이고, 상기 제 2 프리미티브 서브세트 상에서 실행되는 상기 제 2 시험 계획은 엔지니어링 시험 계획인
    자동화된 시험 수행 시스템.
  13. 제 9 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 서로 멀리 떨어진
    자동화된 시험 수행 시스템.
  14. 제 9 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 상기 제어 서버로부터 멀리 떨어진
    자동화된 시험 수행 시스템.
  15. 제 9 항에 있어서,
    상기 제 1 프리미티브 서브세트 내의 DUT는 상기 제 2 프리미티브 서브세트 내의 DUT와 상이한 프로토콜을 실행하는
    자동화된 시험 수행 시스템.
  16. 자동화된 시험을 수행하기 위한 시스템으로서,
    제어 서버와,
    제 1 사용자로부터 상기 제어 서버로 제 1 시험 계획을 로딩하도록 동작 가능한 제 1 사용자 컴퓨터와,
    제 2 사용자로부터 상기 제어 서버로 제 2 시험 계획을 로딩하도록 동작 가능한 제 2 사용자 컴퓨터와,
    복수의 시험기 슬라이스를 배치하기 위한 적어도 하나의 랙을 포함하는 시험기를 포함하되,
    상기 제어 서버는, 상기 제 1 사용자 컴퓨터, 상기 제 2 사용자 컴퓨터 및 상기 시험기와 통신 가능하게 결합되고, 제 1 시험기 슬라이스 서브세트를 상기 제 1 시험 계획에 할당하여 상기 제 1 시험기 슬라이스 서브세트 상의 상기 제 1 시험 계획의 실행을 관리하도록 동작 가능하며, 또한 동시에, 제 2 시험기 슬라이스 서브 세트를 상기 제 2 시험 계획에 할당하여 상기 제 2 시험기 슬라이스 서브세트 상의 상기 제 2 시험 계획의 실행을 관리하도록 동작 가능하고,
    각 시험기 슬라이스는, 적어도 하나의 FPGA(Field Programmable Gate Array) 및 시험 계획을 실행하도록 동작 가능한 적어도 하나의 프로세서를 포함하고, 연관된 피시험 장치들(devices under test, DUTs)과 인터페이싱하며, 상기 복수의 시험기 슬라이스 중 다른 시험기 슬라이스들에 대해 독립적으로 동작할 수 있는,
    자동화된 시험 수행 시스템.
  17. 제 16 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 표준 IP 네트워크 연결을 사용하여 상기 제어 서버와 통신하는
    자동화된 시험 수행 시스템.

  18. 제 16 항에 있어서,
    상기 제 2 시험기 슬라이스 서브세트 내의 피시험 장치(DUT)가 시험 중인 동안 상기 제 1 시험기 슬라이스 서브세트 내의 DUT는 물리적으로 조작될 수 있고, 상기 제 1 시험기 슬라이스 서브세트 내의 DUT가 시험 중인 동안 상기 제 2 시험기 슬라이스 서브세트 내의 DUT는 물리적으로 조작될 수 있는
    자동화된 시험 수행 시스템.
  19. 제 16 항에 있어서,
    상기 제 1 시험기 슬라이스 서브세트 상에서 실행 중인 상기 제 1 시험 계획은 제조 시험 계획이고, 상기 제 2 시험기 슬라이스 서브세트 상에서 실행 중인 상기 제 2 시험 계획은 엔지니어링 시험 계획인
    자동화된 시험 수행 시스템.
  20. 제 16 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 서로 멀리 떨어진
    자동화된 시험 수행 시스템.
  21. 제 16 항에 있어서,
    상기 제 1 사용자 컴퓨터 및 상기 제 2 사용자 컴퓨터는 상기 제어 서버로부터 멀리 떨어진
    자동화된 시험 수행 시스템.
  22. 제 16 항에 있어서,
    상기 제 1 시험기 슬라이스 서브세트 내의 DUT는 상기 제 2 시험기 슬라이스 서브세트 내의 DUT와 상이한 프로토콜을 실행하는
    자동화된 시험 수행 시스템.
KR1020180049198A 2017-04-28 2018-04-27 상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템 KR102479320B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/582,316 2017-04-28
US15/582,316 US10557886B2 (en) 2017-04-28 2017-04-28 Test system supporting multiple users using different applications

Publications (2)

Publication Number Publication Date
KR20180121409A KR20180121409A (ko) 2018-11-07
KR102479320B1 true KR102479320B1 (ko) 2022-12-19

Family

ID=63917133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180049198A KR102479320B1 (ko) 2017-04-28 2018-04-27 상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템

Country Status (5)

Country Link
US (1) US10557886B2 (ko)
JP (1) JP2018189645A (ko)
KR (1) KR102479320B1 (ko)
CN (1) CN109001581A (ko)
TW (1) TWI761496B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602306B1 (en) * 2017-11-10 2022-10-26 Google LLC Automated device test triaging system and techniques
US11108640B2 (en) * 2018-12-20 2021-08-31 Advantest Corporation Controlling devices in a decentralized storage environment
US10976361B2 (en) * 2018-12-20 2021-04-13 Advantest Corporation Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes
CN110514980A (zh) * 2019-09-20 2019-11-29 上海华力微电子有限公司 晶圆级测试方案的生成方法及装置
US11328789B2 (en) * 2019-12-18 2022-05-10 Micron Technology, Inc. Intelligent memory device test rack
KR20230038407A (ko) * 2020-07-21 2023-03-20 주식회사 아도반테스토 상이한 테스트 활동이 테스트 대상 장치 리소스의 서브세트를 활용하는, 하나 이상의 테스트 대상 장비를 테스트하는 자동 테스트 장비, 프로세스 및 컴퓨터 프로그램
CN112905476B (zh) * 2021-03-12 2023-08-11 网易(杭州)网络有限公司 测试的执行方法及装置、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130102091A1 (en) * 2011-10-25 2013-04-25 Teradyne, Inc. Test system supporting simplified configuration for controlling test block concurrency
US20140236527A1 (en) 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
JP2015025805A (ja) 2013-07-24 2015-02-05 株式会社アドバンテスト テストスライスとトレイとの間の高速テスタ通信インターフェイス

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682472A (en) * 1995-03-17 1997-10-28 Aehr Test Systems Method and system for testing memory programming devices
US6535523B1 (en) * 1999-09-30 2003-03-18 Qualcomm Incorporated System and method for persistence vector based rate assignment
US7039545B2 (en) * 2004-04-19 2006-05-02 Agilent Technologies, Inc. Apparatus, system and/or method for converting a serial test to a parallel test
US8441935B2 (en) * 2004-08-09 2013-05-14 Jds Uniphase Corporation Method and apparatus to distribute signaling data for parallel analysis
CN101501514A (zh) * 2006-07-27 2009-08-05 株式会社爱德万测试 电子部件移送方法以及电子部件输送装置
JP4814051B2 (ja) * 2006-11-01 2011-11-09 株式会社シスウェーブ 半導体試験装置
US7852094B2 (en) 2006-12-06 2010-12-14 Formfactor, Inc. Sharing resources in a system for testing semiconductor devices
US20090024324A1 (en) * 2007-07-20 2009-01-22 Clark Douglas W Method and System for GRR Testing
US7810001B2 (en) * 2007-07-31 2010-10-05 Texas Instruments Incorporated Parallel test system
EP2321751A4 (en) 2008-07-07 2014-03-05 Quali Systems Ltd SYSTEM AND METHOD FOR HARDWARE SEQUENCING AND AUTOMATIC SOFTWARE OF COMPUTER-AIDED DESIGN (CAD) FUNCTIONAL TESTING
US8078424B2 (en) 2008-09-29 2011-12-13 Advantest Corporation Test apparatus
CN101727389B (zh) 2009-11-23 2012-11-14 中兴通讯股份有限公司 一种分布式综合业务自动化测试系统及方法
US8762095B2 (en) * 2010-05-05 2014-06-24 Teradyne, Inc. System for concurrent test of semiconductor devices
US8694276B2 (en) * 2011-01-20 2014-04-08 Texas Instruments Incorporated Built-in self-test methods, circuits and apparatus for concurrent test of RF modules with a dynamically configurable test structure
US9514016B2 (en) 2011-02-01 2016-12-06 Echostar Technologies L.L.C. Apparatus systems and methods for facilitating testing of a plurality of electronic devices
CN102680911B (zh) * 2012-05-31 2015-05-06 株洲南车时代电气股份有限公司 一种机车开关电源多用户并行测试系统及其方法
US10161993B2 (en) 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
KR102030385B1 (ko) 2013-03-07 2019-10-10 삼성전자주식회사 자동 테스트 장비 및 그 제어방법
US9400307B2 (en) * 2013-03-13 2016-07-26 Keysight Technologies, Inc. Test system for improving throughout or maintenance properties of semiconductor testing
TW201500747A (zh) * 2013-06-25 2015-01-01 Hon Hai Prec Ind Co Ltd 自動化測量系統及方法
US9689923B2 (en) * 2013-08-03 2017-06-27 Kla-Tencor Corp. Adaptive electrical testing of wafers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130102091A1 (en) * 2011-10-25 2013-04-25 Teradyne, Inc. Test system supporting simplified configuration for controlling test block concurrency
US20140236527A1 (en) 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
JP2015025805A (ja) 2013-07-24 2015-02-05 株式会社アドバンテスト テストスライスとトレイとの間の高速テスタ通信インターフェイス

Also Published As

Publication number Publication date
US20180313892A1 (en) 2018-11-01
KR20180121409A (ko) 2018-11-07
JP2018189645A (ja) 2018-11-29
TW201842349A (zh) 2018-12-01
CN109001581A (zh) 2018-12-14
US10557886B2 (en) 2020-02-11
TWI761496B (zh) 2022-04-21

Similar Documents

Publication Publication Date Title
KR102479320B1 (ko) 상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템
KR102481257B1 (ko) 시험 프로그램 흐름 제어 기법
US20140236527A1 (en) Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US10288681B2 (en) Test architecture with a small form factor test board for rapid prototyping
US20140237292A1 (en) Gui implementations on central controller computer system for supporting protocol independent device testing
KR102043487B1 (ko) 독립적으로 다수의 dut를 시험하기 위한 다수의 fpga 기반 하드웨어 가속기 블록을 갖는 시험 아키텍처
KR101993504B1 (ko) Fpga 블록 내의 자동 패턴 생성을 위한 가속 및 메모리 상의 가속을 갖는 시험기
KR102430283B1 (ko) 소프트웨어 애플리케이션 프로그래밍 인터페이스(api)로 자동화된 시험 특징의 사용자 제어 기법
US20200200819A1 (en) Automated test equipment (ate) support framework for solid state device (ssd) odd sector sizes and protection modes
JP2009116876A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
KR20160019398A (ko) Fpga 블록 내 혼합된 프로토콜 엔진을 구비한 시험기
CN105143895A (zh) 从交互式图形用户界面中自动生成测试类预编译头
JP2009116878A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
US20170370988A1 (en) Burn-in testing of individually personalized semiconductor device configuration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant