KR102591340B1 - 버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 - Google Patents
버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102591340B1 KR102591340B1 KR1020217015271A KR20217015271A KR102591340B1 KR 102591340 B1 KR102591340 B1 KR 102591340B1 KR 1020217015271 A KR1020217015271 A KR 1020217015271A KR 20217015271 A KR20217015271 A KR 20217015271A KR 102591340 B1 KR102591340 B1 KR 102591340B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- port processing
- shared
- test equipment
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 333
- 230000015654 memory Effects 0.000 title claims abstract description 175
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004590 computer program Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 111
- 238000012546 transfer Methods 0.000 claims description 24
- 238000013500 data storage Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 14
- 230000003139 buffering effect Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000036316 preload Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 238000013144 data compression Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012029 structural testing Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- METKIMKYRPQLGS-UHFFFAOYSA-N atenolol Chemical compound CC(C)NCC(O)COC1=CC=C(CC(N)=O)C=C1 METKIMKYRPQLGS-UHFFFAOYSA-N 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31712—Input or output aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31712—Input or output aspects
- G01R31/31713—Input or output interfaces for test, e.g. test pins, buffers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31724—Test controller, e.g. BIST state machine
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31905—Interface with the device under test [DUT], e.g. arrangements between the test head and the DUT, mechanical aspects, fixture
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31907—Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31908—Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31919—Storing and outputting test patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31926—Routing signals to or from the device under test [DUT], e.g. switch matrix, pin multiplexing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/3193—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
- G01R31/31935—Storing data, e.g. failure memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비는 복수의 포트 처리 유닛을 포함하는데, 포트 처리 유닛은 적어도, 각각의 버퍼 메모리와, 테스트 대상 디바이스 중 적어도 하나와 접속되는 각각의 고속 입출력(HSIO) 인터페이스를 포함한다. 포트 처리 유닛은, 데이터를 수신하고, 수신된 데이터를 각각의 버퍼 메모리에 저장하고, 각각의 HSIO 인터페이스를 통해 접속된 테스트 대상 디바이스 중 하나 이상에 각각의 버퍼 메모리에 저장된 데이터를 제공하여 하나 이상의 접속된 테스트 대상 디바이스를 테스트하도록 구성된다. 또한, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램이 설명된다.
Description
본 발명에 따른 실시예는 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비에 관한 것이다.
본 발명에 따른 추가 실시예는 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법에 관한 것이다.
본 발명에 따른 추가 실시예는 각각의 컴퓨터 프로그램과 관련된다.
본 발명에 따른 실시예는 고속 입출력 인터페이스(high-speed-input-output interface: HSIO)를 통해 테스트 대상 디바이스(devices under test: DUT)로부터 데이터를 수신하고 HSIO를 통해 DUT로 데이터를 제공하는 디바이스의 테스트에 관한 것이다.
이하에서는 몇몇 기존 솔루션에 대한 소개가 제공될 것이다.
자동 테스트 장비(automated test equipment: ATE)는, 신속하게 측정을 수행하고 테스트 결과를 평가하기 위해 자동화를 사용하여 테스트 대상 디바이스(device under test: DUT)로 알려진 디바이스 상에서 테스트를 수행하는 임의의 장치이다. ATE는 간단한 컴퓨터 제어형 디지털 멀티미터이거나, 시스템 온 칩 및 집적 회로를 포함하는 복잡한 전자 패키지 부품 또는 웨이퍼 테스트에서 결함을 자동으로 테스트하고 진단할 수 있는 수 십 개의 복잡한 테스트 기기(실제 또는 시뮬레이션된 전자 테스트 장비)를 포함하는 복잡한 시스템일 수 있다.
구조 테스트(structural test)는, 시스템 온 칩(System on a Chip: SOC) 내에서 디지털 블록의 복잡한 기능을 구현하는 개별 구조(소위, 셀)의 체계적인 테스트 범위를 지원한다. 구조 테스트는 메모리 내장 자체 테스트(built-in self-test: BIST), 로직 BIST(칩 상에서 생성된 패턴) 및 스캔 테스트(외부에서 제공된 패턴)를 포함하지만 이에 국한되지 않는 다양한 테스트 방법을 포함한다. 개별 테스트들은 테스트 블록으로 결합되는데, 예컨대, 스캔 테스트는 블록에 계층적으로 적용된다(직렬 또는 병렬로).
고급 구조 테스트 방법론은 외부에서 제공되는 테스트 데이터(자동 테스트 장비(ATE)로부터의 자극)와 온 칩 테스트 디바이스(device for testing: DFT)의 조합을 적용하여 외부에서 제공되는 테스트 데이터(소위, 시드)를 스캔 체인으로 확장한다. 테스트 결과는 SOC의 기본 입출력 인터페이스(IO)에 제공되는 감소된 양의 테스트 데이터로 압축된다. 이 데이터는 수신된 데이터라고 불리며, ATE에 의해 예상 데이터와 비교된다. 수신된 데이터는 또한 ATE에 의해 마스킹될 수 있다.
테스트용 설계 또는 테스트 가능용 설계라고도 하는 DFT는 일반적으로, 하드웨어 제품 설계 또는 디바이스(즉, DUT)에 테스트 가능 기능을 추가하는 집적 회로 설계 기술로 구성된다. 추가된 기능은 DUT에 대한 테스트를 개발하고 적용하는 것을 더 쉽게 만든다.
다음은 위에서 설명한 구조 테스트의 일반적인 표현으로서 스캔 테스트를 언급한다.
그러나, 새로운 제조 공정에 의해 SOC의 복잡성이 증가함에 따라 스캔 테스트를 비용 효율적으로 확장하는 데 어려움이 존재한다.
한 가지 문제는 ATE에 저장되어야 하는 테스트 데이터의 양이 늘어나는 것이다. 또 다른 문제는 SOC IO를 통해 테스트 데이터를 공급하기 위해 테스트 시간이 늘어나는 것이다. 또한, 증가하는 온 칩 복잡성으로 인해 테스트 데이터를 테스트 대상 블록에 분배하고 필요한 클록 신호를 생성하는 데 어려움이 있다.
또한, 복잡한 SOC의 품질 및 신뢰성 기대는 SOC가 최종 애플리케이션(예컨대, 자동차 또는 통신 인프라스트럭처 시스템)에 배포될 때 구조 테스트를 요구한다.
이러한 상황을 고려하여, 자동 테스트 장비로 테스트 대상 디바이스를 테스트할 때, 저장될 데이터, 처리 속도, 테스트 품질 및 신뢰성 간의 개선된 절충안을 제공하는 개념이 요구된다.
본 발명에 따른 실시예는 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비이다.
자동 테스트 장비는 복수의 포트 처리 유닛을 포함한다.
포트 처리 유닛은 적어도 각각의 버퍼 메모리와, 테스트 대상 디바이스 중 하나 이상과 접속된 각각의 고속 입출력(high-speed-input-output: HSIO) 인터페이스를 포함하고, 데이터를 수신하고, 수신된 데이터를 각각의 버퍼 메모리에 저장하고, 각 버퍼 메모리에 저장된 데이터를 HSIO 인터페이스를 통해 접속된 테스트 대상 디바이스 중 하나 이상에 제공하여 하나 이상의 접속된 테스트 대상 디바이스를 테스트한다.
포트 처리 유닛이 수신하는 데이터는 공유 데이터, 예컨대, 테스트를 위해 DUT로 전송하는 데 사용되는 공유 자극 데이터와 같은, 복수의 포트 처리 유닛 간에 공유되는 데이터일 수 있다. 데이터는 예컨대 공유 메모리 풀 또는 다른 포트 처리 유닛으로부터 다른 포트 처리 유닛을 통해 수신될 수 있다.
공유될 수 있는 데이터는 예컨대 공유 메모리 풀의 공유 데이터에 기초하여 HSIO 또는 다른 인터페이스일 수 있는 인터페이스를 통해 테스트 대상 디바이스에 테스트 데이터 또는 테스트 프로그램을 제공하기 위해 DUT에 제공될 수 있다.
대안으로, 데이터는 공유 메모리 풀로부터의 공유 데이터에 기초하여 테스트 대상 디바이스에 테스트 신호를 제공하기 위해 DUT에 제공될 수 있다.
대안으로, 데이터는 공유 데이터에 기초하여 테스트 대상 디바이스로부터의 예상 신호 또는 예상 결과를 정의하기 위해 DUT에 제공될 수 있다.
하나 이상의 DUT에 제공되는 데이터는 위에 설명된 옵션들의 조합일 수 있으므로 전술한 것들의 임의의 조합도 가능하다.
HSIO 인터페이스는 고속 통신을 위해 설계된 인터페이스를 나타낸다. 불완전한 예시 리스트는 USB, PCIe, SATA, 기가비트 LAN이다. 테스트 대상 디바이스(devices under test: DUT)는 예컨대 시스템 온 칩(Systems-on-a-chip: SOC)일 수 있다.
이 실시예는 테스트 대상 디바이스를 테스트하려면 ATE와 DUT 사이의 양방향 데이터 전송이 필요하다는 아이디어에 기초한다. 이러한 전송 중 일부는 HSIO를 통해 전송된다.
자동 테스트 장비의 바람직한 실시예에서, 각각의 버퍼 메모리는 로컬 메모리로서 각각의 고속 입출력(HSIO) 인터페이스에 의해 액세스 가능하다.
포트 처리 유닛의 각각의 버퍼 메모리가 로컬 메모리로서 각각의 고속 입출력(HSIO) 인터페이스에 의해 액세스 가능하여 메모리 어드레스의 불필요한 변환을 피할 수 있다면 유익한 것으로 밝혀졌다. HSIO를 통해 메모리 콘텐츠를 어드레스 지정하는 한 가지 옵션은 직접 메모리 액세스(direct memory access: DMA)를 통하는 것이다. 따라서, 각각의 버퍼 메모리는 로컬 메모리로서 HSIO에 결합된다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 공유 메모리 풀을 포함하는 데이터 저장소를 더 포함하고, 포트 처리 유닛은 또한 공유 메모리 풀로부터 공유 데이터를 수신한다.
위에서 나타낸 바와 같이, 데이터가 포트 처리 유닛들 간에 공유될 수 있는 것이 유익한 것으로 밝혀졌다. 데이터를 공유하기 위해, ATE는 공유 데이터, 예컨대, DUT의 테스트를 위한 공유 자극 데이터와 같은 복수의 포트 처리 유닛들 간에 공유되는 데이터를 저장하는 공유 메모리 풀을 가지며, 포트 처리 유닛은 예컨대 공유 메모리 풀로부터 수신된 데이터로 버퍼를 채우기 위해 공유 메모리 풀로부터 공유 데이터를 수신한다.
자동 테스트 장비의 바람직한 실시예에서, 데이터 저장소는 또한 공유 데이터를 하나 이상의 포트 처리 유닛 및/또는 메모리 허브로 스트리밍한다.
ATE의 아키텍처는 전용 메모리를 갖는 포트 처리 유닛를 포함할 수 있지만 전반적 효율성을 향상시키기 위해 메모리 허브가 사용될 수도 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 데이터 저장소는 또한 디바이스별 결과 데이터를 복수의 메모리 영역에 저장한다.
ATE는 예를 들어 포트 처리 유닛에 의해 상이한 메모리 영역에 제공될 수 있는 결과 또는 결과 스트림을 디바이스별로 저장할 수 있음이 밝혀졌다. 이는 DUT별 결과 데이터의 데이터 속도들이 서로 다를 수 있기 때문에(예컨대 다른 결과 또는 결과 스트림의 데이터 속도보다 적어도 10배 더 작을 수 있음) 유익할 수 있다. 또한, 결과를 저장하는 데 필요한 볼륨 및 대역폭은 공유 자극 데이터에 대한 것보다 훨씬 더 작다.
자동 테스트 장비의 바람직한 실시예에서, 하나 이상의 포트 처리 유닛(PPU)은 또한 공유 메모리 풀로부터 적어도 하나의 다른 포트 처리 유닛으로 공유 데이터를 전달한다.
PPU들이 서로 간에 데이터를 전송할 수 있는 것이 유익한 것으로 밝혀졌다. 따라서, 공유 메모리 풀로부터 공유 데이터를 수신한 하나의 PPU는 데이터를 다른 PPU로 전달할 수 있으므로 공유 메모리 풀의 부담이 줄어들 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 하나 이상의 포트 처리 유닛은 적어도 하나의 다른 포트 처리 유닛으로부터 공유 데이터를 수신하도록 구성된다.
PPU들이 서로 간에 데이터를 전송할 수 있는 것이 유익한 것으로 밝혀졌다. 따라서 하나의 PPU는 공유 메모리 풀에서 공유 데이터를 수신한 다른 PPU로부터 공유 데이터를 수신할 수 있으므로 공유 메모리 풀의 부담이 줄어들 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 복수의 포트 처리 유닛 중 하나 이상은 공유 메모리 풀로부터의 공유 데이터를 연속적으로 전달하기 위해 데이지 체인을 형성한다.
공유 데이터를 PPU로 전달하고 그로부터 수신하는 한 가지 방법은 PPU 중에서 데이지 체인을 형성함으로써 초래될 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 복수의 포트 처리 유닛 중 하나 이상은 메모리 허브로부터 공유 데이터를 수신하도록 구성된다.
대안으로 PPU는 메모리 허브로부터 공유 데이터를 수신할 수도 있음이 밝혀졌다. 메모리 허브가 공유 데이터를 둘 이상의 PPU에 제공하는 경우, 이는 중앙 메모리 허브로 간주될 수도 있다.
자동 테스트 장비의 바람직한 실시예에서, 공유 데이터의 수신과 하나 이상의 테스트 대상 디바이스의 테스트를 위한 공유 데이터 사용 사이의 시간 시프트를 허용하기 위해, 포트 처리 유닛은 버퍼링 메모리 및/또는 하나 이상의 캐시를 포함한다.
버퍼링 메모리, 예컨대, 선입 선출(FIFO) 메모리는 지연을 줄이고 처리 속도를 높이는 데 필요한 데이터를 더 많이 제공하는 데 도움이 될 수 있음이 밝혀졌다. 마찬가지로, 처리 지연을 줄이고 PPU에 의한 사용을 위해 사실상 동시에 이용 가능한 더 많은 데이터를 갖기 위해 캐시가 사용될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 포트 처리 유닛 중 적어도 하나는 또한, 테스트 정보를 테스트 대상 디바이스로 전송하는 타이밍에 따라 테스트 대상 디바이스를 특성화하기 위해, 공유 데이터에 기초한 테스트 정보를 인터페이스를 통해 테스트 대상 디바이스에 제공한다.
PPU는 테스트 정보, 예컨대 공유 데이터에 기초한 테스트 프로그램 또는 테스트 데이터를 인터페이스(예컨대, HSIO)를 통해 DUT에 제공할 수 있음이 밝혀졌다. 또한, 그런 다음, PPU는 테스트 대상 디바이스를 특성화할 수 있고, 예컨대, 테스트 정보를 테스트 대상 디바이스로 전송하는 타이밍에 따라 DUT 유형을 결정하고/하거나 DUT를 식별한다. 여기에서 테스트 정보의 전송 타이밍은 테스트 대상 디바이스에 의해 결정되거나 영향을 받는데, 예컨대 이는 테스트 대상 디바이스가 예컨대 마스터 디바이스로서 인터페이스를 제어하거나 테스트 대상 디바이스가 슬레이브 디바이스로서 전송 속도를 늦추거나 전송을 중단시킬 수 있기 때문이다.
자동 테스트 장비의 바람직한 실시예에서, 적어도 하나의 포트 처리 유닛은, 테스트 대상 디바이스로의 테스트 정보의 전송이 각 포트 처리 유닛에 의한 공유 데이터의 수신 이후에 미리 결정된 시간을 초과하여 지연되는 경우, 테스트 대상 디바이스를 고장인 것으로 특성화하도록 구성된다.
ATE의 전반적인 성능을 향상시키기 위해 PPU는 DUT를 고장인 것으로 특성화하거나 식별할 수 있는데, 즉, DUT로 또는 그로부터의 데이터 전송이 특정 시간 임계 값을 초과하는 경우(즉, ATE와 DUT의 통신이 미리 결정된 시간 프레임 내에 수행되거나 완료될 수 없는 경우) DUT가 오작동하는 것으로 판정할 수 있음이 밝혀졌다. 미리 결정된 시간 프레임은 예컨대 사용자 지정되거나, 디바이스-특정적 또는 테스트-특정적일 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 포트 처리 유닛은 또한 디바이스별 결과 데이터를 획득하고 디바이스별 결과 데이터를 데이터 저장소로 전달한다.
PPU가 결과 데이터(예컨대, 결과 스트림 또는 고장 데이터)를 디바이스별로(즉, DUT별로) 획득하고, 디바이스별 결과 데이터(예컨대, DUT별 결과 스트림 또는 DUT별 고장 데이터)를 데이터 저장소로 전달하면 전반적 ATE 통신이 개선될 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 포트 처리 유닛은 또한 공유 데이터에 기초한 예상 데이터를 사용하여 디바이스별 결과 데이터를 획득한다.
PPU가 공유 데이터에 기초한 예상 데이터를 사용하여 디바이스별 결과 데이터(예컨대, DUT별 결과 스트림 또는 DUT별 고장 데이터)를 획득하면 전반적 ATE 데이터 처리가 개선될 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 스타 아키텍처(star architecture)에서 복수의 포트 처리 유닛을 데이터 저장소와 결합하기 위한 메모리 허브를 포함한다.
스타 아키텍처는 PPU에 대한 데이터 저장소 또는 공유 메모리 풀의 역할을 하는 메모리 허브를 구현하기 위한 실행 가능한 옵션임이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 메모리 허브는 서로 다른 포트 처리 유닛으로의 공유 데이터의 비동시 전달을 허용하기 위해 버퍼링 메모리 및/또는 하나 이상의 캐시를 포함한다.
버퍼링 메모리, 예컨대, 선입 선출(FIFO) 메모리는 지연을 줄이고 처리 속도를 높이는 데 필요한 데이터를 더 많이 제공하는 데 도움이 될 수 있음이 밝혀졌다. 마찬가지로, 처리 지연을 줄이고 메모리 허브에 의한 사용을 위해 사실상 동시에 이용 가능한 더 많은 데이터를 갖기 위해 캐시가 사용될 수 있다. 따라서, 버퍼링 메모리 또는 캐시에 더 많은 공유 데이터를 보유함으로써, 관련 데이터는 공유 메모리 풀 또는 데이터 저장소에 대한 다수의 판독 액세스없이 서로 다른 시간에 서로 다른 PPU로 전달될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 데이터 저장소는 포트 처리 유닛에 제공되는 공유 데이터 및 디바이스별 결과 데이터를 위한 개별 인터페이스를 더 포함한다.
PPU에 공유 데이터를 제공하고 디바이스별 결과를 제공하기 위한 개별 인터페이스를 사용함으로써 ATE의 전반적 성능을 향상시킬 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 데이터 저장소는 포트 처리 유닛에 대한 공유 데이터의 제공을 방해하지 않으면서 디바이스별 결과 데이터에 액세스하는 메모리 인터페이스를 포함한다.
데이터 저장소가 예컨대 데이터 저장소에 의한 HSIO 또는 다른 인터페이스를 통한 포트 처리 유닛에 대한 공유 데이터의 제공을 방해하지 않으면서 예컨대 후처리 또는 업로드를 위해 디바이스별 결과 데이터를 액세스(예컨대, 판독)하는 메모리 인터페이스를 가지면 유익하다는 것이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 포트 처리 유닛은 수신된 데이터에서 커맨드 오류를 검출하고 수신된 데이터를 미리 로딩된 예상 데이터와 비교하기 위한 스트리밍 오류 검출 블록을 더 포함하는데, 예상 데이터는 바람직하게는 마스크 데이터를 포함한다.
포트 처리 유닛이 커맨드 오류의 검출을 위한 스트리밍 오류 검출 블록을 포함하면 유익하다는 것이 밝혀졌다. 테스트 대상 디바이스를 테스트하면 예상 데이터와 비교될 수 있는 결과 데이터가 생성되는데, 이는 올바르게 기능하는 테스트 대상 디바이스가 결과로 반환할 내용을 나타낸다.
테스트 대상 디바이스(DUT)의 올바른 기능을 확인하기 위해, 소위 예상 데이터가 준비되어 ATE에 미리 로딩될 수 있음이 밝혀졌다. 그런 다음, 수신된 데이터는 예상 데이터와 비교될 수 있고, 그에 따라 디바이스의 올바른 기능이 판정될 수 있다. 수신된 데이터는 스캔 체인으로부터의 데이터, 커맨드 및/또는 페이로드를 나타낼 수 있다.
마스크 데이터, 즉, 수신된 데이터의 어느 비트가 어떤 경쟁(contest)을 포함해야 하는지를 정의하는 데이터를 사용함으로써, ATE가 데이터를 보다 지능적으로 처리할 수 있음이 밝혀졌다. 예를 들어, 예상 데이터는 마스크 데이터를 포함할 수 있는데, 이는 특정 테스트 절차에서 수신된 데이터가 3개의 데이터 블록, 즉, 관련 테스트를 나타내는 커맨드, DUT에 의해 생성된 결과 데이터, 및 그 결과를 생성하기 위해 DUT에 의해 사용된 시드 데이터를 포함할 것임을 나타낸다. ATE가 DUT에 시드를 제공했기 때문에, 테스트에 따라 시드의 저장은 불필요할 수 있다. 또한, 결과 데이터를 선택적으로 저장함으로써, 추가 메모리 공간이 절약될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 또한 하나 이상의 접속된 디바이스와 연관된 디바이스별 선입 선출(FIFO) 메모리 또는 관리 캐시에 예상 데이터를 미리 로딩할 수 있다.
따라서, ATE는 디바이스에 대한 선입 선출(FIFO) 메모리에 데이터를 미리 로딩함으로써 수신된 데이터와의 더 빠른 비교를 위해 예상 데이터를 준비할 수 있음이 밝혀졌다. 이것은 수신된 데이터가 특정 순서를 가질 것으로 예상되는 경우에 특히 유용한데, 가장 먼저 미리 로딩된 선입 데이터는 또한 가장 먼저 비교될 것이고 따라서 FIFO에서 가장 먼저 폐기(즉, 선출)될 수 있다. 이런 사용을 위해 예상 데이터의 일부(소위, 예상 데이터 창)만이 미리 로딩될 수 있다.
대안으로, 둘 이상의 DUT와 연관될 수 있는 관리 캐시가 사용되어 예상 데이터 또는 예상 데이터 창을 미리 로딩한 다음, 둘 이상의 DUT로부터 수신된 데이터와 비교할 수 있다. 따라서, 예상 데이터는 모든 디바이스에 대해 반복적으로 로딩되거나 미리 로딩될 필요는 없다.
또한, FIFO 또는 관리 캐시 메모리는 사용, 즉, 연관된 접속된 DUT로부터 수신된 데이터와의 비교를 추적할 수 있고, 사용된(즉, 비교되었거나 다른 이유로 더 이상 보유할 필요가 없는) 데이터를 폐기할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 데이터 사용의 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는다는 것을 발견한 것에 응답하여 특정 테스트 대상 디바이스를 고장인 것으로 인식한다.
특정 테스트 대상 디바이스가 데이터를 너무 느리게 제공하여, 특정 테스트 대상 디바이스와 연관된 관리 캐시 내의 예상 데이터가 다른 테스트 대상 디바이스와 연관된 대응하는 예상 데이터보다 훨씬 더 길게 미사용 상태로 유지되는 것을 발견한 것에 응답하여, DUT는 고장인 것으로 인식될 수 있음이 밝혀졌다.
관리 캐시의 경우, 대응하는 보유된 예상 데이터가 단순히 여러 DUT 중 하나에 대한 메모리에 유지되면 효율성은 악영향을 받을 수 있으며, 특정 예상 데이터가 보유되는 DUT를 고장인 것으로 간주함으로써 예상 데이터는 관리 캐시에서 폐기될 수 있고 전반적인 효율성은 향상될 수 있다. 또한, 수신된 데이터가 특정 데이터 스트림 또는 패턴을 따를 것으로 예상되고 DUT가 수신된 데이터를 해당 데이터 스트림 또는 패턴으로 전달하지 않으면, DUT는 고장인 것으로 간주될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 데이터를 압축된 표현으로 메모리에 저장한다.
압축된 데이터는 메모리 공간을 덜 사용하는 것이 밝혀졌다. ATE는 일반적으로 전체 데이터 세트의 상이한 부분들을 저장할 수 있는데, 예를 들어, 예상 데이터에서 벗어난 수신 데이터 및/또는 수신 데이터가 그와 다른 예상 데이터, 또는 수신 데이터와 예상 데이터 간의 편차를 설명하는 데이터만을 저장할 수 있다. ATE에 및/또는 ATE에 의해 저장된 데이터의 일부 또는 전부는 더 적은 메모리 공간을 사용하기 위해 압축될 수 있다. 압축 자체는 압축 저장될 모든 데이터에 대해 동일한 데이터 압축 방법일 수 있지만, 특정 파라미터에 따라 상이한 데이터 커맨드에 대해 상이할 수도 있다.
이러한 파라미터의 예는, 예컨대, 데이터와 관련된 테스트의 유형일 수 있다. 이러한 파라미터의 또 다른 예는 테스트 대상 디바이스의 유형 및/또는 ATE의 유형이다. 다른 파라미터는, 온도, 사용 통계, 메모리 상태, 가용 메모리, 가용 CPU 등과 같은, 관련 디바이스와 직접 관련된 것일 수 있다. 다른 파라미터는 커맨드 또는 페이로드, 커맨드 뒤에 페이로드가 이어지는지 여부, 현재 시간, 전송 시간, 수신 시간, 전송 지속시간 등을 나타낼 수 있다.
데이터의 일부 또는 전체에 사용되는 압축은 무손실 또는 손실 압축일 수 있다.
사용될 수 있는 무손실 압축 유형의 예는, 엔트로피 유형, 예컨대, 산술(Arithmetic), 비대칭 숫자 시스템(Asymmetric numeral systems), 골롬(Golomb), 허프만(Huffman), 레인지(Range), 섀넌(Shannon), 섀넌-파노(Shannon-Fano), 섀넌-파노-엘리어스(Shannon-Fano-Elias), 턴스털(Tunstall), 단항(Unary), 유니버설 (Universal), 예컨대, 지수-골롬(Exp-Golomb), 피보나치(Fibonacci), 감마(Gamma), 레벤시테인(Levenshtein), 사전형(dictionary type), 예컨대, 바이트 쌍 인코딩(Byte pair encoding), 렘펠 지프(Lempel-Ziv), 또는 다른 유형, 예컨대, BWT, CTW, 델타, DMC, DPCM, LDCT, MTF, PAQ, PPM, RLE(run-length encoding, 예컨대, 고장인 비트에 대한 것임)를 포함한다.
사용될 수 있는 손실 압축 유형의 예는 변환 유형, 예컨대, 이산 코사인 변환, DST, FFT, 웨이블릿(Wavelet), 예측 유형, 예컨대, DPCM, LPC, 모션, 음향심리형(Psychoacoustic)을 포함한다.
또한 압축 방법들의 조합이 사용될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 예상 오류 분포와 매칭되도록 압축을 동적으로 조정할 수 있다.
수신된 데이터가 레지스터 값을 포함할 때, 레지스터 값이 잘못되면 짧은 오류 버스트를 초래하는 것이 효과적인 것으로 밝혀졌다. 이는 오류 버스트가 시작될 때의 바이트 오프셋을 갖는 헤더 및 하나의 레지스터 값으로 확장되는 오류의 단어에 의해 효과적으로 저장될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 수신된 데이터 스트림의 근접 거리 내에 고장일 가능성이 있는 수신 데이터를 유지할 수 있다.
예를 들어 직렬 USB 또는 다른 HSIO 기술을 통한 고속 통신에서, 관련 비트는 직렬 비트의 작은 영역 내에서 이들을 스트리밍하기 위해 예컨대, DFT에 의해 DUT에서 버퍼링될 수 있음이 밝혀졌다. HSIO가 USB인 경우 이는 USB-DFT에 의해 달성될 수 있다. 예를 들어, 여러 스캔 체인을 통해 수신되는 MISR의 값이 버퍼링될 수 있다. 여기서, MISR은 다중 입력 시그너처 레지스터(Multi-Input Signature Register)로서, 다중 입력 시프트 레지스터(Multi-Input Shift Register)로도 불리는데, 이는 본질적으로 선형 피드백 시프트 레지스터(Linear Feedback Shift Register: LFSR)이면서 배타적 논리합(XOR) 게이트가 하나 이상의 LFSR 플립 플롭 입력을 구동하도록 수정된 구조를 갖는 순차적 전자 회로이다.
이 레지스터가 고장나면, 많은 비트가 플립(flip)될 것이고, 따라서 고장인 비트의 버스트는 전체 수신 스트림 내에서 시작 시의 단일 오프셋 값으로 저장될 수 있다(위의 단락 참조). 마찬가지로, DFT는 개별 스캔 체인으로부터의 데이터를 버퍼링하고 버스팅(burst-out)할 수 있다. 또한, DFT는 여러 스캔 체인으로부터 나오는 단일 블록의 결과를 다른 블록의 결과와 별도로 버퍼링 및 버스팅할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 스트리밍 오류 검출 블록은 또한 고장 분석과 관련된 통계 정보를 저장한다.
통계 정보를 저장하면 발생할 수 있는 오류를 평가하는 데 도움이 되는 것으로 밝혀졌다. 이러한 통계 정보의 예는 가능하면 위에서 설명된 유형별로 총 고장 수를 카운트하고/하거나 첫 번째 고장 주기의 바이트 오프셋을 저장하는 것이다.
실시예는, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법으로서, 데이터를 수신하는 단계와, 수신된 데이터를 저장하는 단계와, 저장된 데이터를 테스트 대상 디바이스 중 하나 이상에 제공하는 단계를 포함하는, 방법을 포함한다.
이 방법은 전술된 자동 테스트 장비와 동일한 고려사항에 기초한다. 그러나, 이 방법은 자동 테스트 장비와 관련하여 본 명세서에 설명된 모든 특징, 기능 및 세부사항에 의해 보완될 수 있음에 유의해야 한다. 또한, 이 방법은 자동 테스트 장비의 특징, 기능 및 세부사항을 개별적으로 또는 조합하여 취함으로써 보완될수 있다.
본 발명에 따른 실시예는 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 본 명세서에 설명된 방법을 수행하기 위한 컴퓨터 프로그램을 생성한다.
본 발명에 따른 실시예는 첨부된 도면을 참조하여 설명될 것이다.
도 1은 본 발명의 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 2는 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 3은 데이터 저장소 및 메모리 허브를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 4는 자극 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 5는 자극 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소 및 메모리 허브를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 6은 예상 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 7은 예상 데이터, 응답 데이터 및 고장 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 8은 데이터 흐름을 포함하는 본 발명의 다른 실시예에 따른 예시적 자동 테스트 장비의 개략적 블록도를 도시한다.
도면에서 유사한 참조 기호는 유사한 요소 및 특징을 나타낸다.
도 1은 본 발명의 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 2는 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 3은 데이터 저장소 및 메모리 허브를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 4는 자극 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 5는 자극 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소 및 메모리 허브를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 6은 예상 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 7은 예상 데이터, 응답 데이터 및 고장 데이터의 예시적 데이터 흐름을 포함하는, 데이터 저장소를 포함하는 본 발명의 다른 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 8은 데이터 흐름을 포함하는 본 발명의 다른 실시예에 따른 예시적 자동 테스트 장비의 개략적 블록도를 도시한다.
도면에서 유사한 참조 기호는 유사한 요소 및 특징을 나타낸다.
도 1은 본 발명의 실시예에 따른 자동 테스트 장비(100)의 개략적 블록도를 도시한다. 자동 테스트 장비(automated test equipment: ATE)는 하나 이상의 테스트 대상 디바이스(devices under test: DUT)(130)를 테스트하기 위한 것이다. 자동 테스트 장비(100)는, 테스트 대상 디바이스(130)와 접속되는 고속 입출력(high-speed-input-output: HSIO) 인터페이스(120) 및 버퍼 메모리(140)를 포함하는 복수의 포트 처리 유닛(port processing unit: PPU)(110)을 포함한다.
DUT는, 예컨대, 테스트 데이터를 DUT에 제공하고 그로부터의 테스트 결과를 다양한 방식으로 수신함으로써 테스트된다. PPU는 ATE 내부의 엔티티 또는 ATE의 외부로부터 이 테스트 데이터를 수신할 수 있다. 그러면 PPU는 수신된 데이터를 버퍼 메모리에 저장하고, 데이터를 HSIO를 통해 DUT에 제공할 수 있다.
테스트 대상 디바이스를 테스트하려면 ATE와 DUT 간의 양방향 데이터 전송이 필요하다. 이러한 전송 중 일부는 HSIO를 통해 전송된다.
포트 처리 유닛이 수신하는 데이터는 공유 데이터일 수 있다. 예를 들어, 이것은 유사하거나 동일한 DUT가 동시에 테스트되는 설정을 나타낼 수 있다. 그러나, 여전히 동일할 수 있는 동시 테스트는 다른 DUT에서도 수행할 수 있다. PPU는 테스트를 위해 DUT에 제공되는 자극 데이터를 수신할 수 있으며, 데이터가 모든 PPU에 대해 동일한 경우 데이터는 공유 데이터로 간주될 수 있다. 따라서, 이 공유 데이터는 PPU에 대해 동일한데, 즉, 데이터는 포트 처리 유닛들 간에 공유된다. 위에서 언급한 바와 같이, 이러한 공유 데이터의 예는 테스트를 위해 DUT로 전송되는 공유 자극 데이터이다.
예를 들어, 데이터는, 아래에 상세히 설명되는 바와 같이, 공유 메모리 풀 또는 다른 포트 처리 유닛으로부터 다른 포트 처리 유닛를 통해 수신될 수 있다.
데이터는 테스트 데이터, 테스트 신호 또는 테스트 프로그램을 DUT에 제공할 수 있으며, 데이터는 PPU가 수신하는 데이터이거나 그 데이터의 처리된 버전일 수 있고, 즉, DUT에 제공되는 데이터는 공유될 수 있는 데이터에 기초한 데이터이다. 대안으로, PPU가 수신하는 데이터는 DUT가 테스트 후 PPU로 반환하는 테스트 대상 디바이스로부터의 예상 신호 또는 예상 결과를 나타낼 수도 있다. 이 데이터는 또한 예상 데이터일 수 있고 PPU에서의 처리를 필요로 할 수 있으므로, 예상 데이터는 공유 데이터일 수도 있는 PPU에 의해 수신된 데이터에 기초한 데이터이다.
하나 이상의 DUT에 제공되는 데이터는 위에 설명된 옵션들의 조합일 수 있으므로 전술한 것들의 임의의 조합도 가능하다.
버퍼 메모리(140)는 오로지 PPU(110)로부터 액세스 가능할 수 있지만, HSIO(120)에 의해 직접 액세스 가능할 수도 있다. PPU 및/또는 HSIO에 결합된 버퍼 메모리는 어느 배치에서든 로컬 메모리처럼 어드레스 지정될 수 있다는 점에서 로컬 메모리의 역할을 할 수 있다.
로컬 메모리처럼 버퍼 메모리의 어드레스 지정을 허용함으로써 불필요한 메모리 어드레스 변환을 피할 수 있다. PPU 및/또는 HSIO로부터의 메모리 콘텐츠를 어드레스 지정하는 한 가지 옵션은 직접 메모리 액세스(DMA)를 통하는 것이다.
도 2는 본 발명의 일 실시예에 따른, ATE(100)와 유사한 자동화 테스트 장비(200)의 개략적 블록도를 도시한다. 자동 테스트 장비(ATE)는 하나 이상의 테스트 대상 디바이스(DUT)(230)를 테스트하기 위한 것이다. 자동 테스트 장비(200)는 복수의 포트 처리 유닛(PPU)(210)을 포함하는데, 이는 테스트 대상 디바이스(230)와 접속되는 고속 입출력(HSIO) 인터페이스(220) 및 버퍼 메모리(240)를 포함한다. 도 2는 데이터 저장소(250)를 더 도시하는데, 이는 예시적 구현으로서 도 2에서 공유 풀 메모리로 표기된다.
데이터 저장소(250)는 데이지 체인 형태로 서로 접속되는 PPU(210)에 접속된다. 단순히 예로서, 도 2에서 PPU(210)는 이 접속에 전용되는 하나의 HSIO(220)을 사용하여 DUT(230)에 접속되는 반면, 도 1에서 각 HSIO(120)는 DUT(130)와의 다중 접속을 보유할 수 있다. 두 가지 변형 모두 본 설명에 따라 다른 기능들과의 모든 조합에서 가능하다.
데이터 저장소(250)는 공유 메모리 풀이거나 이를 포함할 수 있다. 그러면 PPU(210)는 데이터 저장소(250)로부터 직접 데이터를 수신할 수 있다. 데이터 저장소(250)는 ATE(200)의 내부 요소일 수 있지만 ATE(200) 외부의 관련 요소일 수도 있다. PPU는 공유될 수 있는 데이터를 데이터 저장소(250) 및/또는 공유 메모리 풀로부터 각각 수신한다.
데이터는 포트 처리 유닛들 간에 공유될 수 있는데, 이는 복수의 포트 처리 유닛들 간에 공유되는 데이터가 데이터 저장소(250)로부터 PPU에 의해 수신될 수 있음을 의미한다. 공유 데이터는 예를 들어 DUT(230)의 테스트를 위한 공유 자극 데이터일 수 있으며, 포트 처리 유닛(210)은 공유 메모리 풀(250)로부터 공유 데이터를 수신한다. 예시적 사용은 예를 들어 공유 메모리 풀(250)로부터 수신된 데이터로 버퍼 메모리(240)를 채우는 것이다.
데이터 저장소(250)는 공유 데이터를 포트 처리 유닛(210) 중 하나 이상으로 스트리밍할 수 있고, 데이터 저장소(250)는 디바이스별(즉, DUT별) 결과 데이터, 예컨대, 결과 또는 결과 스트림을 복수의 메모리 영역에 저장할 수 있다. 특히, 이러한 메모리 영역들은 기능적으로 및/또는 기술적으로 상이할 수 있다. 이에 따라, PPU는 결과를 데이터 저장소에 제공하고, DUT별 결과 데이터의 데이터 속도는 서로 다를 수 있으므로(예컨대, 다른 결과 또는 결과 스트림의 데이터 속도보다 적어도 10배 더 작을 수 있음), 특정 특성에 따라 상이한 메모리 영역에 결과를 저장하는 것이 유리할 수 있다. 또한, 결과를 저장하는 데 필요한 볼륨 및 대역폭은 공유 자극 데이터에 대한 것보다 훨씬 더 작으므로, 이들은 또한 상이한 메모리 영역에 저장될 수 있다.
포트 처리 유닛(PPU)(210)은 또한, 공유 메모리 풀로부터 적어도 하나의 다른 포트 처리 유닛으로 공유 데이터를 전달할 수 있다. PPU가 서로 접속되거나 적어도 하나의 다른 PPU와 접속되는 실시예에서, PPU는 다른 PPU 또는 적어도 하나의 다른 PPU에 데이터를 전달할 수 있다. 이에 의해, PPU로부터 데이터 저장소(250)로의 메모리 액세스, 즉, 판독 및 기록이 감소된다.
마찬가지로, PPU(210)는 공유 메모리 풀로부터의 공유 데이터를 적어도 하나의 다른 포트 처리 유닛으로부터 수신할 수 있다. PPU가 서로 접속되거나 적어도 하나의 다른 PPU와 접속되는 실시예에서, PPU는 다른 PPU들 또는 적어도 하나의 다른 PPU로부터 데이터를 수신할 수 있다. 이에 의해, PPU로부터 데이터 저장소(250)로의 메모리 액세스, 즉, 판독 및 기록이 역시 감소된다.
위에서 설명된 PPU 접속의 특정 형태는 데이지 체인으로, 여기서 각 PPU는 두 개의 다른 PPU에 접속되어 PPU의 연속체가 달성되고, 첫 번째 PPU는 데이터 저장소(250)에 접속된다.
메쉬, 스타, 완전 접속, 라인, 트리, 버스와 같은 다른 토폴로지도 가능하다. 첫 번째와 마지막 PPU도 서로 접속되어 링이 형성될 수 있지만, 이들이 서로 접속되지 않아 일련의 PPU가 형성되는 것(진정한 데이지 체인)도 가능하다. 각 PPU가 데이터 저장소(250)와 접속되는 것도 가능하다.
도 3은 본 발명의 실시예에 따른, ATE(100 및 200)와 유사한 자동 테스트 장비(300)의 개략적 블록도를 도시한다. 자동 테스트 장비(ATE)는 하나 이상의 테스트 대상 디바이스(DUT)(330)를 테스트하기 위한 것이다. 자동 테스트 장비(300)는 복수의 포트 처리 유닛(PPU)(310)을 포함하는데, 이는 테스트 대상 디바이스(330)와 접속되는 고속 입출력(HSIO) 인터페이스(320) 및 버퍼 메모리(340)를 포함한다. 도 3은 데이터 저장소(350)(예시적 구현으로서 도 3에서 공유 풀 메모리로 표기됨)와 메모리 허브(360)를 더 도시한다.
이 실시예에 따르면, 데이터 저장소(350)는 공유 데이터를 메모리 허브(360)로 스트리밍할 수 있는데, 공유 데이터는 메모리 허브(360)로부터 PPU(310)로 전송될 수 있다. 메모리 허브(360)는 ATE(300)의 전반적 효율성을 향상시킬 수 있다.
PPU(310)는 메모리 허브(360)로부터 공유 데이터를 수신할 수 있다. 메모리 허브(360)가 하나 이상의 PPU(310)에 공유 데이터를 제공하는 경우, 이는 또한 중앙 메모리 허브로 간주될 수 있다.
다른 토폴로지도 가능한데, 예는 도 2의 설명에서 발견될 수 있다.
도 1의 레이아웃 뿐만 아니라 도 2 및 도 3과 관련하여 설명된 두 가지 변형 모두에 대해, 공유 데이터의 수신과 하나 이상의 접속된 테스트 대상 디바이스(330)를 테스트하기 위한 공유 데이터를 사용 사이에 시간 시프트를 허용하기 위해, PPU(210, 310)는 버퍼링 메모리(340) 및/또는 하나 이상의 캐시(도시되지 않음)를 포함할 수 있다.
선입 선출(FIFO) 메모리(340)는 지연을 줄이고 처리 속도를 높이는 데 필요한 데이터를 더 많이 제공하는 데 도움이 된다. 마찬가지로, 처리 지연을 줄이고 PPU에 의한 사용을 위해 사실상 동시에 이용 가능한 더 많은 데이터를 갖기 위해 캐시가 사용될 수 있다.
PPU(210, 310)의 각각은 인터페이스(220, 320)를 통해 하나 이상의 테스트 대상 디바이스(230, 330)에 공유 데이터에 기초한 테스트 정보를 제공한다. 이 테스트 정보를 전송하는 데 필요한 시간에 따라, PPU는 테스트 대상 디바이스를 특성화할 수 있다. 그러한 특성화는 개별 DUT의 식별 또는 DUT의 특정 유형의 결정일 수 있거나, 또는 DUT에 대한 파라미터(예컨대, 빠른/느린 디바이스, 올바르게 작동하는/파손된 DUT, 고속 사용 가능/불가능, 또는 디바이스 및/또는 테스트와 관련된 유사하거나 다른 파라미터)의 결정을 초래할 수 있다.
PPU(210, 310)는 공유 데이터에 기초한 테스트 정보(예컨대, 테스트 프로그램 또는 테스트 데이터)를 인터페이스(예컨대, HSIO(220, 230))를 통해 DUT(230, 330)에 제공할 수 있다. 또한, PPU(210, 310)는 테스트 대상 디바이스(230, 330)를 특성화할 수 있는데, 예컨대, 테스트 정보를 테스트 대상 디바이스로 전송하는 타이밍에 따라 DUT 유형을 결정하고/하거나 DUT를 식별한다. 여기에서 테스트 정보의 전송 타이밍은 테스트 대상 디바이스에 의해 결정되거나 영향을 받는데, 예컨대 이는 테스트 대상 디바이스가 예컨대 마스터 디바이스로서 인터페이스를 제어하거나 테스트 대상 디바이스가 슬레이브 디바이스로서 전송 속도를 늦추거나 전송을 중단시킬 수 있기 때문이다.
PPU(210, 310)는 테스트 대상 디바이스로의 테스트 정보의 전송이 각 포트 처리 유닛(210, 310)에 의한 공유 데이터의 수신 이후에 미리 결정된 시간을 초과하여 지연되는 경우, 테스트 대상 디바이스(230, 330)를 고장인 것으로 특성화할 수 있다.
ATE(200, 300)의 전반적인 성능을 향상시키기 위해 PPU(210, 310)는 DUT(230, 330)를 고장인 것으로 특성화하거나 식별할 수 있는데, 즉, DUT로 또는 그로부터의 데이터 전송이 특정 시간 임계 값을 초과하는 경우(즉, ATE와 DUT의 통신이 미리 결정된 시간 프레임 내에 수행되거나 완료될 수 없는 경우) DUT가 오작동하는 것으로 판정할 수 있다. 미리 결정된 시간 프레임은 예컨대 사용자 지정되거나, 디바이스-특정적 또는 테스트-특정적일 수 있다.
도 4, 도 5, 도 6 및 도 7은 본 발명의 실시예에 따른, 도 1 내지 도 3에 설명된 ATE(100, 200, 300)와 유사한 자동 테스트 장비(400, 500)의 개략적 블록도를 도시한다. 자동 테스트 장비(ATE)는 하나 이상의 테스트 대상 디바이스(DUT)(130, 230, 330, 430, 530)를 테스트하기 위한 것이다.
테스트 정보의 예시적 데이터 흐름(예컨대, 자극 데이터)이 도 4 및 도 5에 도시되어 있다. 도 4에서 데이터는 데이터 저장소(450)로부터 PPU(410) 중 하나로 전송되며, 이 PPU(410)로부터 전술한 바와 같이 다른 PPU(410)로 전송되고, 거기에서부터 다른 PPU(410)로 전송된다. PPU에서, 데이터는 로컬 버퍼 메모리(440)에 저장되고 거기에서부터 HSIO(420)를 통해 접속된 DUT(430)로 전송된다.
이 예시적 데이터 흐름은 예시적 토폴로지에 대해서만 도시된다. 전술한 바와 같이, 모든 PPU(410)가 데이터 저장소(450)로부터 직접 데이터를 수신하거나, 또는 일부 PPU(410)는 데이터 저장소(450)로부터 데이터를 직접 수신하고 다른 PPU(410)는 또 다른 PPU(410)로부터 데이터 수신하는 것도 가능하다.
도 5에서 데이터는 데이터 저장소(550)로부터 메모리 허브(560)로 전송되며, 메모리 허브(560)로부터 데이터는 PPU(510)로 전송된다. PPU에서 데이터는 로컬 버퍼 메모리(540)에 저장되고, 로컬 버퍼 메모리(540)로부터 HSIO(520)를 통해 접속된 DUT(530)로 전송된다.
테스트 후, PPU(210, 310, 410, 510)는 DUT(230, 330, 430, 530)로부터 디바이스별 결과 데이터를 획득하고, 디바이스별 결과 데이터를 데이터 저장소(250, 450)로 전달할 수 있다. 선택적으로, 전송은 메모리 허브(360, 560)를 향하며, 메모리 허브(360, 560)로부터 데이터는 데이터 저장소(350, 550)로 전송된다.
PPU(210, 310, 410, 510)가 결과 데이터(예컨대, 결과 스트림 또는 고장 데이터)를 디바이스별로(즉, DUT별로) 획득하고, 디바이스별 결과 데이터(예컨대, DUT별 결과 스트림 또는 DUT별 고장 데이터)를 데이터 저장소(250, 350, 450, 550)로 전달하면 ATE 통신이 전반적으로 개선될 수 있다.
PPU(210, 310, 410, 510)는 공유 데이터에 기초한 예상 데이터를 사용하여 디바이스별 결과 데이터를 획득할 수 있다. 이 예상 데이터는 예상 DUT 응답 데이터를 나타낸다. 예상 데이터는 데이터 저장소(250, 350, 450, 550, 650)에 저장되며, 도 6에 예시적으로 도시된 바와 같이, PPU(210, 310, 410, 510, 610)로 전송되어 로컬 버퍼 메모리(240, 340, 440, 540, 640)에 국부적으로 저장될 수 있다. 도 6에서는, 오직 하나의 PPU만이 데이터를 수신하여 그것을 다른 PPU로 전달하고, 여기서부터 데이터는 다시 다른 PPU로 전송된다. 전술한 바와 같이, 다른 데이터 흐름, 즉, 모든 또는 일부 PPU가 데이터 저장소(250, 350, 450, 550, 650) 및 토폴로지로부터 데이터를 수신하는 것, 즉, 데이터가 메모리 허브(360, 560)로 전송되는 것도 가능하다.
로컬 버퍼 메모리(240, 340, 440, 540, 640)로부터, 데이터는 예상 데이터를 처리하기 위해 필요할 때 PPU(210, 310, 410, 510, 610)로부터 검색된다. 예를 들어 예상 데이터는 DUT(230, 330, 430, 530, 630)의 실제 응답 데이터와 비교하기 위해 필요하다.
도 7에서는, PPU(210, 310, 410, 510, 610, 710)가 공유 데이터에 기초한 예상 데이터를 사용하여 디바이스별 결과 데이터(예컨대, DUT별 결과 스트림 또는 DUT별 고장 데이터)를 어떻게 획득하는지가 도시된다.
특히, DUT(730c, 730d, 730e 및 730f)는 각자의 HSIO 인터페이스(720c, 720d, 720e 및 720f)를 통해 대응하는 PPU(710b 및 710c)에 응답 데이터를 반환한다. PPU(710b 및 710c)는 로컬 버퍼 메모리(740b 및 740c)로부터 관련 예상 데이터를 검색하는데, 이것은 도 6과 관련하여 설명된 바와 같이 이전에 저장된 것이다.
그런 다음, PPU는 예상 데이터와 수신 데이터를 비교하고 가능하다면 고장 데이터를 계산하는데, 고장 데이터는 데이터 저장소(750)에 저장될 수 있다. 다시, 도 7의 데이터 흐름은 예시일 뿐이다. 위에서 설명한 것처럼 PPU들 간의 전송뿐만 아니라 메모리 허브의 사용도 가능하다.
ATE(100, 200, 300, 400, 500, 600, 700)는 스타 아키텍처(star architecture)에서 복수의 포트 처리 유닛을 데이터 저장소와 결합시키기 위한 메모리 허브를 포함할 수 있다. 메모리 허브는 또한 서로 다른 포트 처리 유닛으로의 공유 데이터의 비동시 전달을 허용하기 위해 버퍼링 메모리 및/또는 하나 이상의 캐시(둘 다 도시되지 않음)를 가질 수 있다.
선입 선출(FIFO) 메모리는 지연을 줄이고 처리 속도를 높이는 데 필요한 데이터를 더 많이 제공하는 데 도움이 될 수 있다. 마찬가지로, 처리 지연을 줄이고 메모리 허브에 의한 사용을 위해 사실상 동시에 이용 가능한 더 많은 데이터를 갖기 위해 캐시가 사용될 수 있다. 따라서, 버퍼링 메모리 또는 캐시에 더 많은 공유 데이터를 보유함으로써, 관련 데이터는 공유 메모리 풀 또는 데이터 저장소에 대한 다수의 판독 액세스없이 서로 다른 시간에 서로 다른 PPU로 전달될 수 있다.
데이터 저장소(250, 350, 450, 550, 650, 750)는 또한 포트 처리 유닛에 제공되는 공유 데이터 및 디바이스별 결과 데이터를 위한 개별 인터페이스를 가질 수 있으며, 이에 의해서도 ATE의 전반적 성능은 개선될 수 있다.
데이터 저장소(250, 350, 450, 550, 650, 750)는 예컨대 데이터 저장소에 의한 HSIO 또는 다른 인터페이스를 통한 포트 처리 유닛에 대한 공유 데이터의 제공을 방해하지 않으면서 예컨대 후처리 또는 업로드를 위해 디바이스별 결과 데이터를 액세스(예컨대, 판독)하는 메모리 인터페이스를 더 포함할 수 있다.
PPU(110, 210, 310, 410, 510, 610, 710)는 수신된 데이터에서 커맨드 오류를 검출하고 수신된 데이터를 미리 로딩된 예상 데이터와 비교하기 위한 스트리밍 오류 검출 블록(도시되지 않음)을 더 포함할 수 있는데, 예상 데이터는 바람직하게는 마스크 데이터를 포함한다. 테스트 대상 디바이스를 테스트하면 예상 데이터와 비교될 수 있는 결과 데이터가 생성되는데, 이는 올바르게 기능하는 테스트 대상 디바이스가 결과로 반환할 내용을 나타낸다. 테스트 대상 디바이스(DUT)의 올바른 기능을 확인하기 위해, 소위 예상 데이터가 준비되어 ATE에 미리 로딩될 수 있다. 그런 다음, 수신된 데이터는 예상 데이터와 비교될 수 있고, 그에 따라 디바이스의 올바른 기능이 판정될 수 있다. 수신된 데이터는 스캔 체인으로부터의 데이터, 커맨드 및/또는 페이로드를 나타낼 수 있다. 마스크 데이터, 즉, 수신된 데이터의 어느 비트가 어떤 경쟁을 포함해야 하는지를 정의하는 데이터를 사용함으로써, ATE는 데이터를 보다 지능적으로 처리할 수 있다. 예를 들어, 예상 데이터는 마스크 데이터를 포함할 수 있는데, 이는 특정 테스트 절차에서 수신된 데이터가 3개의 데이터 블록, 즉, 관련 테스트를 나타내는 커맨드, DUT에 의해 생성된 결과 데이터, 및 그 결과를 생성하기 위해 DUT에 의해 사용된 시드 데이터를 포함할 것임을 나타낸다. ATE가 DUT에 시드를 제공했기 때문에, 테스트에 따라 시드의 저장은 불필요할 수 있다. 또한, 결과 데이터를 선택적으로 저장함으로써, 추가 메모리 공간이 절약될 수 있다.
ATE는 또한 예상 데이터를 하나 이상의 접속된 디바이스와 연관된 디바이스별 선입 선출(FIFO) 메모리 또는 관리 캐시에 미리 로딩할 수 있으며, 그에 따라 수신된 데이터와의 더 빠른 비교를 위해 예상 데이터가 준비될 수 있다. 이것은 수신된 데이터가 특정 순서를 가질 것으로 예상되는 경우에 특히 유용한데, 가장 먼저 미리 로딩된 선입 데이터는 또한 가장 먼저 비교될 것이고 따라서 FIFO에서 가장 먼저 폐기(즉, 선출)될 수 있다. 이런 사용을 위해 예상 데이터의 일부(소위, 예상 데이터 창)만이 미리 로딩될 수 있다.
대안으로, 둘 이상의 DUT와 연관될 수 있는 관리 캐시가 사용되어 예상 데이터 또는 예상 데이터 창을 미리 로딩한 다음, 둘 이상의 DUT로부터 수신된 데이터와 비교할 수 있다. 따라서, 예상 데이터는 모든 디바이스에 대해 반복적으로 로딩되거나 미리 로딩될 필요는 없다.
또한, FIFO 또는 관리 캐시 메모리는 사용, 예컨대, 연관된 접속된 DUT로부터 수신된 데이터와의 비교를 추적할 수 있고, 사용되었거나(즉, 비교되었거나) 다른 이유로 더 이상 보유할 필요가 없는 데이터를 폐기할 수 있다.
ATE는 데이터 사용 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는다는 것을 발견한 것에 응답하여 특정 테스트 대상 디바이스를 고장인 것으로 인식할 수 있는데, 즉, 특정 테스트 대상 디바이스가 데이터를 너무 느리게 제공하여, 특정 테스트 대상 디바이스와 연관된 관리 캐시 내의 예상 데이터가 다른 테스트 대상 디바이스와 연관된 대응하는 예상 데이터보다 훨씬 더 길게 미사용 상태로 유지되는 경우, DUT는 고장인 것으로 인식될 수 있다. 관리 캐시의 경우, 대응하는 보유된 예상 데이터가 단순히 여러 DUT 중 하나에 대한 메모리에 유지되면 효율성은 악영향을 받을 수 있으며, 특정 예상 데이터가 보유되는 DUT를 고장인 것으로 간주함으로써 예상 데이터는 관리 캐시에서 폐기될 수 있고 전반적인 효율성은 향상될 수 있다. 또한, 수신된 데이터가 특정 데이터 스트림 또는 패턴을 따를 것으로 예상되고 DUT가 수신된 데이터를 해당 데이터 스트림 또는 패턴으로 전달하지 않으면, DUT는 고장인 것으로 간주될 수 있다.
스트리밍 오류 검출 블록은 고장 분석과 관련된 통계 정보를 추가로 저장할 수 있다.
발명의 내용에서 자세히 설명한 바와 같이, 데이터는 압축된 표현으로 저장될 수도 있다. 물론, 이것은 모든 메모리 및 모든 데이터를 의미한다. 그리고 압축은 동적으로 조정될 수 있다. 예를 들어, 예상 오류 분포와 매칭되도록 조정될 수 있다.
ATE는 또한 전술된 바와 같이 수신된 데이터 스트림의 근접 거리 내에 고장일 가능성이 있는 수신된 데이터를 유지할 수 있다.
옵션으로, ATE(100, 200, 300, 400, 500, 600, 700)는 본 명세서에 설명된 특징, 기능 및 세부사항 중 임의의 것을 개별적으로 그리고 조합하여 취함으로써 보완될 수 있다.
본 발명은 또한 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법으로서, 데이터를 수신하는 단계와, 수신된 데이터를 저장하는 단계와, 저장된 데이터를 테스트 대상 디바이스 중 하나 이상에 제공하는 단계를 포함하는, 방법을 나타낸다.
이 방법은 위에서 설명된 자동 테스트 장비와 동일한 고려사항에 기초한다. 이 방법은 자동 테스트 장비와 관련하여 본 명세서에 설명된 모든 특징, 기능 및 세부사항 중 임의의 것에 의해 보완될 수 있음에 유의해야 한다. 또한, 이 방법은 자동 테스트 장비의 특징, 기능 및 세부사항을 개별적으로 그리고 조합하여 취함으로써 보완될 수 있다.
본 발명에 따른 실시예는 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 본 명세서에 설명된 방법을 수행하는 컴퓨터 프로그램을 생성한다.
세부사항 및 실시예
이하에서는, 본 발명의 기초가 되는 몇 가지 고려사항이 논의되고 몇 가지 솔루션이 설명될 것이다. 특히, 본 명세서에 개시된 임의의 실시예에 옵션으로 도입될 수 있는 다수의 세부사항이 개시될 것이다.
동기
구조 테스트는 SOC[System on a Chip] 내에서 디지털 블록의 복잡한 기능을 구현하는 개별 구조("셀")의 체계적 테스트 범위(coverage)를 가능하게 한다. 구조 테스트는 메모리 BIST, 로직 BIST(칩 상에서 생성된 패턴) 및 스캔 테스트(외부에서 제공된 패턴)를 포함하되 이에 국한되지 않는 다양한 테스트 방법을 포함한다. 개별 테스트는 테스트 블록으로 결합되는데, 예컨대, 스캔 테스트는 블록에 계층적으로 적용된다(직렬로 또는 병렬로).
고급 구조 테스트 방법론은 외부에서 제공된 테스트 데이터(ATE[Automated Test Equipment]로부터의 자극)와 외부에서 제공된 테스트 데이터(시드)를 스캔 체인으로 확장하는 온 칩 DFT[device for testing]의 조합을 적용한다. 테스트 결과는, ATE가 예상 데이터(수신 데이터를 마스킹하는 기능 포함함)와 비교하는 SOC의 기본 IO에 제공되는 감축된 양의 테스트 데이터(수신 데이터)로 압축된다.
제안된 솔루션의 적용을 제한하지 않으면서 이하에서는 전술된 구조 테스트의 일반적인 표현으로서 스캔 테스트를 언급한다.
그러나, 새로운 제조 공정에 의해 SOC의 복잡성이 증가함에 따라 비용 효율적으로 스캔 테스트를 확장하는 데 어려움이 존재한다.
ㆍ ATE에 저장되어야 하는 테스트 데이터의 양이 증가됨.
ㆍ SOC IO를 통해 테스트 데이터를 공급하기 위한 테스트 시간이 증가됨.
ㆍ 테스트 데이터를 테스트 대상 블록에 분배하고 필요한 클록 신호를 생성하는 것을 어렵게 하는 온 칩 복잡성이 증가됨.
또한, 복잡한 SOC의 품질 및 신뢰성 기대는 SOC가 최종 애플리케이션(예컨대, 자동차 또는 통신 인프라스트럭처 시스템)에 배포될 때 구조 테스트를 요구한다.
이러한 문제에 대한 몇 가지 가능한 솔루션은 다음을 포함한다:
ㆍ 기능적 고속 I/O 인터페이스(예컨대, USB 또는 PCIe)를 통한 테스트 데이터 전달. 이는 다음을 초래한다:
o 증가된 데이터 전송률을 가능하게 함.
o 최종 애플리케이션에서 구조 테스트를 가능하게 함.
o ATE 및 DUT[Device under testing]에서 타이밍의 분리를 요구함(HSIO 데이터 통신의 경우 일반적임). 임의의 정확한 타이밍 동기화는 DUT와 ATE 또는 다른 보조 장비(예컨대, 오실로스코프) 간의 타이밍-민감 신호(timing-sensitive signals)를 요구할 것이다.
ㆍ 고급 온 칩 테스트 데이터 처리, 테스트 스케줄링 및 테스트 대상 블록과의 테스트 데이터 통신.
o 전형적인 요소가 제안됨:
ATE와 HSIO-DFT 간의 통신 프로토콜(예컨대, 1149.10).
테스트 애플리케이션을 관리하는 로컬 DFT에 의해 테스트 데이터를 유연하게 라우팅하기 위해 네트워크 온 칩(NOC)을 사용함.
여러 블록에 대해 직렬 또는 병렬로 유연한 테스트 스케줄링.
o 이는 다음과 같은 결과를 초래한다:
DUT로 및 그로부터의 테스트 데이터 전송을 효과적으로 스케줄링하기 위해 복잡한 상호작용을 요구함.
새로운 제어 레벨을 제공하는 테스트 포트를 통해 전송되는 더 높은 레벨의 통신(의미론)을 가능하게 함, 예컨대,
ㆍ 의사 결정 및 산출 학습(yield learning)을 용이하게 하는 전처리된 결과를 제공하는 DFT.
ㆍ ATE 전력을 제어하는 DFT.
양상 1: 다중 사이트 데이터 공유, 데이터 스트리밍, 데이터 처리를 위한 솔루션
문제점: 증가하는 테스트 데이터 볼륨은 병렬로 테스트되는 다수의 사이트에서 테스트 데이터를 공유할 것을 요구한다:
ㆍ 다양한 유형의 데이터는 공유될 수 있으며, 공유 데이터 저장소로부터 DUT 인터페이스("포트") 또는 사이트별 처리 유닛으로 스트리밍되어야 한다. 공유될 수 있는 데이터는 다음을 포함하지만 이에 국한되지는 않는다:
o 드라이브 데이터(자극),
o 예상 데이터(예상 데이터와 함께 또는 별도의 메모리 영역에 저장된 마스크 데이터를 포함함),
o 결과를 후처리하는 데 필요한 보조 데이터
ㆍ 데이터 흐름은 결과적인 사이트별 테스트 데이터 전송에 대한 영향을 최소화하는 HSIO 데이터 속도를 따라가야 한다.
ㆍ 이상적으로, 데이터 저장소는 ATE의 포트 처리 유닛에 인터페이스하는 모든 사이트에서 공유될 수 있다. 그러나, 이것은 매우 복잡하고 비싼 데이터 인터페이스를 초래할 것이다. 테스트 실행에 영향을 주지 않으면서 공유를 최대화하는 적절한 아키텍처를 찾아야 한다.
ㆍ 사이트별 데이터는 공유될 수 없다. 이는 다음을 포함한다:
o DUT로부터의 수신 데이터
o 수신 데이터와 예상 데이터를 비교한 후에 저장된 결과
o 사이트별 테스트 조건: 예컨대, 실제 테스트 데이터 전송에 대한 프리앰블로서 DUT에 전달되는 DUT별 온 칩 설정.
솔루션:
도 8는 예시적 데이터 흐름을 도시한다. 그러나, 이는 단일 사이트만을 나타내며, 데이터 저장소를 하나 이상의 포트 처리 유닛(PPU)과 구별하지 않는다.
솔루션 컴포넌트:
1. 데이터 저장소:
o 대규모 공유 메모리 풀을 구현하는 ATE 하드웨어의 메모리 서브시스템
o 일반적으로 가장 빠른 상용 RAM으로 구현됨.
o 공유 데이터를 포트 처리 유닛으로 스트리밍하는 데 사용됨. 대역폭 사용을 최소화하기 위해, 다중 사이트 테스트 실행을 위해 공유되는 데이터는 바람직하게는 PPU 또는 메모리 허브에 의해 한 번만 판독된다.
o DUT별 결과 스트림을 제어된 메모리 영역에 저장하는 데 사용됨. 결과를 저장하는 데 필요한 볼륨 및 대역폭은 바람직하게는 공유된 자극 데이터보다 훨씬 작다.
o ATE 카드 상에 하나 이상의 데이터 저장소가 존재할 수 있다. 각 데이터 저장소는 데이터 흐름 아키텍처의 복제를 요구한다.
2. PPU-포트 처리 유닛:
o 하나 또는 다수의 DUT와 인터페이스한다.
o DUT 용 HSIO, 디버그 및 제어 포트를 구현한다.
o 데이터 저장소로부터 직접 또는 다른 PPU(데이지 체인) 또는 중앙 메모리 허브로부터 전달된 데이터를 수신한다.
o 이것은 버퍼링(FIF0) 및 캐시를 사용하여 데이터 소스에 대한 판독 액세스를 최소화한다.
o 이것은 고장인 각각의 느린 사이트를 훌륭하게 처리한다: 예컨대, 사용자는 수신 뒤에 이 숫자보다 더 많이 떨어지면 디바이스가 고장 상태임을 나타내는 최대 처리 격차를 지정할 수 있다.
o 공유 데이터를 하나 이상의 다른 PPU에 전달할 수 있다.
o 예상 데이터와 수신 데이터의 DUT별 비교를 구현하고 DUT별 고장 데이터를 계산한다.
o 잠재적으로 다른 PPU 또는 메모리 허브를 통해, 고장 데이터를 데이터 저장소로 전송한다.
3. 메모리 허브(옵션):
o 이것은 스타 아키텍처를 구현하는 데 사용된다.
o 이것은 각 PPU에 대한 데이터 인터페이스를 제공한다.
o 이것은 버퍼링(FIFO) 및 캐시를 사용하여 데이터 저장소에 대한 판독 액세스를 최소화한다.
4. 결과 데이터 저장소(들)(옵션):
o 결과에 대한 독립적 데이터 저장소는 다음과 같은 이유로 각 PPU에 부착되거나 또는 메모리 허브에 중앙집중식으로 부착될 수 있다:
o 이것은 공유 데이터를 PPU로 스트리밍하는 데 사용되는 인터페이스와 독립적인 메모리 인터페이스를 제공한다.
o 이것은 다음 테스트 실행을 방해하지 않으면서 후처리 또는 업로드를 위해 결과 데이터에 액세스하는 메모리 인터페이스를 제공한다.
양상 2: 스트리밍 오류 검출 및 고장 압축을 위한 솔루션
문제점: 기존의 ATE는 구조 테스트의 기본 출력을 실시간으로 샘플링하고 이를 예상 데이터(마스킹을 포함함)와 비교한다. 이 프로세스는 테스트 데이터의 결정적이고 주기적인 I/O에 의해 활성화된다.
그러나, HSIO를 통한 스캔 테스트는 본질적으로 비결정적이며 돌발적이다. 또한, 스캔 출력은 프로토콜 스택의 페이로드 데이터이고, 즉, 스캔 체인으로/으로부터 송수신되는 데이터는 커맨드로 "태그된" 직렬 페이로드로 스크램블된다. USB 수신 데이터(커맨드 및 페이로드)는 처리되기(예컨대, 예상 데이터와 비교되기) 전에 메모리에 저장된다.
이 접근 방식에는 두 가지 문제가 있다:
1. 데이터 처리는 수신된 데이터를 저장하고 나중에 그것을 다시 판독하여 다른 메모리 위치에 저장된 예상 데이터와 비교할 때 상당한 메모리 대역폭 요건을 갖는다. 이것은 여러 디바이스를 병렬로 테스트함으로써 더욱 배가된다.
2. 스캔 패턴이 고장났는지 여부에 대한 판정은 USB 패킷을 통해 수신된 데이터의 후처리에 기초한다. 최악의 경우, 수신된 데이터와 예상 데이터를 비교하는 것은 전체 실행 시간을 지배한다: 즉, 이것은 HSIO를 통한 데이터 스트리밍보다 오래 걸린다.
솔루션:
실제 오류가 검출되었을 경우에만 메모리에 기록하도록 방금 수신된 스캔 데이터를 미리 로딩된 예상 데이터와 비교하는 스트리밍 오류 검출 블록이 포트 처리 유닛에 내장된다. 예상 데이터는 마스크 데이터를 포함할 수 있음에 유의한다.
세부사항:
1. 전술된 데이터 스트리밍 아키텍처를 사용하여, 포트 처리 유닛은 수신된 데이터 패킷과의 비교에 사용 가능한 예상 데이터의 창을 유지한다.
예상 데이터는, 데이터를 폐기하기 전에 모든 활성 사이트에 의한 데이터 사용을 추적하는 사이트별 FIFO 또는 관리 캐시에 미리 로딩된다. 이렇게 하면 대규모 데이터 저장소로부터 (각 사이트에 대해 반복적으로) 예상 데이터를 판독하는 것을 방지할 수 있다.
디바이스가 데이터 스트림을 따르지 않는 경우, PPU는 예외를 발생시키고, 사이트를 고장인 것으로 선언하며, 사용 가능한 오류 데이터만 저장할 수 있다.
2. HSIO에서 스캔 데이터를 수신할 때, 포트 처리 유닛은 수신된 데이터를 미리 로딩된 "매칭" 예상 데이터와 비교한다.
결정적 바이트 스트림으로서의 HSIO 통신의 경우, "매칭"은 수신된 데이터를 미리 로딩된 예상 데이터의 순서로 비교하는 것을 의미한다.
수신된 데이터의 DMA 전송의 경우, PPU는 예상 데이터의 바이트 오프셋으로 기록된 수신 데이터의 바이트 오프셋을 매칭시킨다. 바이트 오프셋은 메모리 어드레스처럼 작용한다.
3. 오류 정보는 필요한 데이터 볼륨 및 메모리 인터페이스 대역폭을 최소화하기 위해 압축된 표현으로 스트리밍된다. 표준 데이터 압축(예컨대, 고장인 비트의 런렝스 인코딩) 외에도, 스트리밍 오류 검출 블록은 테스트 특정 포맷(예컨대, 기존 ATE에 의해서도 제공되는 포맷)을 구현할 수 있다.
압축은 예상되는 오류 분포와 매칭되도록 동적으로 조정될 수 있는데, 예컨대, 수신된 데이터는 레지스터 값을 포함할 수 있고, 레지스터 값이 잘못되면 짧은 오류 버스트가 발생한다. 이는 오류 버스트가 시작될 때의 바이트 오프셋을 갖는 헤더 및 하나의 레지스터 값으로 확장되는 오류의 단어에 의해 효과적으로 저장될 수 있다.
USB-DFT가 직렬 USB 수신 데이터 스트림의 근접 거리 내에 고장날 가능성이 있는 수신 데이터를 유지하면, 결과 데이터의 압축은 개선될 수 있다. USB-DFT는 직렬 비트의 작은 영역 내에서 관련 비트를 스트리밍하기 위해 이들을 버퍼링할 수 있는데, 예컨대, 여러 스캔 체인을 통해 수신된 MISR 레지스터의 값을 버퍼링한다. 이 레지스터가 고장나면, 많은 비트가 플립(flip)될 것이고, 따라서 고장인 비트의 버스트는 전체 수신 스트림 내에서 시작 시의 단일 오프셋 값으로 저장될 수 있다(위의 단락 참조). 마찬가지로, USB-DFT는 개별 스캔 체인으로부터의 데이터를 버퍼링하고 버스팅(burst-out)할 수 있다. 또한, USB-DFT는 여러 스캔 체인으로부터 나오는 단일 블록의 결과를 다른 블록의 결과와 별도로 버퍼링 및 버스팅할 수 있다.
개별 오류 정보 외에도, 스트리밍 오류 검출 블록은 고장 분석과 관련된 통계를 저장하는데, 예컨대, 총 고장 수를 계산하고 첫 번째 고장주기의 바이트 오프셋을 저장한다.
4. HSIO를 통한 스캔 결과 처리의 고유한 특징은 스캔 출력 데이터의 페이로드뿐만 아니라 커맨드 코드에서도 오류가 발생할 수 있다는 것이다: 예컨대,
a. HSIO-스캔 DFT가 이상을 인지하여 자신이 전달하는 커맨드 시퀀스를 중단시킴
b. HSIO-스캔 DFT 자체의 손상, 이는 일반적으로 모든 페이로드를 무효화함.
이에 대한 솔루션은 대응하는 수신 데이터 비트가 커맨드인지 여부를 설명하는 각 비트를 갖는 추가 예상 데이터 세트, 즉, 커맨드-플래그 데이터(Command-Flag Data)를 저장할 것이다.
커맨드에서 오류가 검출될 때마다 "커맨드 오류" 플래그가 발생하여 결과를 확인하고 예상치 않은 프로세스 문제를 빠르게 검출한다. 이러한 오류가 발생할 때마다, 스트리밍 오류 검출 블록은 쓸모없는 임의의 페이로드 데이터의 저장을 최소화하거나 HSIO-스캔 DFT 블록의 상태에 대한 정보 페이로드로서 다음 비트를 캡처하는 모드로 전환할 수 있다.
5. 오류 발생을 효율적으로 검출하고 결과를 저장하는 것 외에도, 스트리밍 결과 처리는, 오류 맵이 커맨드 구조와 함께 직렬 USB 스트림에 압축된 스캔 데이터의 비트 오프셋에 기초하지 않고 직접 블록-IO의 오프셋(예컨대, 스캔 체인에 대한 오프셋)을 나타내도록 결과를 디스크램블할 수 있다. 디스크램블은 "주석"으로 스캔 패턴과 함께 저장되어야 하는 매핑 정보를 요구한다. 이는 테스트된 SOC 블록의 스캔 IO와 본질적으로 관련이 없는 커맨드 데이터를 필터링하기 위해 커맨드 플래그 데이터와 병합될 수 있다.
또한, 다른 SOC-블록의 수신 데이터가 통신되면 매핑 정보가 다를 수 있다. 따라서, 디스크램블 프로세스는 올바른 디스크램블 맵(예컨대, 긴 페이로드 버스트 동안 반복되는 페이로드의 각 비트가 스캔 체인에 매핑되는 방식)을 적용하기 전에 먼저 페이로드 유형(예컨대, 커맨드의 블록 인덱스에 저장됨)을 검출할 수 있다.
전체적으로, 스트리밍 디스크램블의 흐름은 효과적인 구현에서 순서화될 수 있는 세 단계로 분리될 수 있다:
a. 커맨드 데이터의 폐기
b. 페이로드 유형 검출. 이 단계는 단일 커맨드 프레임으로 코딩된 동일하게 구조화된 페이로드의 반복을 처리할 수도 있다.
c. 적용 가능한 매핑으로 페이로드 디스크램블
양상 3: 필요한 테스트 데이터 볼륨을 줄이기 위한 솔루션
문제점: 테스트 데이터 볼륨이 증가되고 있다. 이는 저장소와, 메모리 액세스 및 다중 사이트 데이터 스트리밍에 필요한 대역폭에 영향을 준다.
솔루션:
마스크 데이터 및 커맨드 플래그 데이터는 수신 데이터와 실제 비교하기 직전에 실시간 압축 해제를 허용하는 알고리즘으로 압축될 수 있다.
마스크 비트는 드물고 버스팅될 가능성이 더 높기 때문에 런렝스 인코딩이 디코딩에 효과적이고 간단할 수 있다.
예컨대, 수신 워드가 커맨드 및 페이로드 비트로 분할되면, 커맨드-플래그 데이터는 런렝스 인코딩되거나 알고리즘적으로 압축될 수 있다.
양상 4: 시퀀싱 커맨드의 시간 오버헤드를 줄이기 위한 솔루션.
문제점: HSIO-스캔 테스트는 다른 작업(예컨대, HSIO-스캔 전에 디바이스를 설정하거나, HSIO-스캔 테스트들 간에 테스트 조건을 변경하거나, 독립적인 HSIO-스캔 패턴 테스트를 버스팅하는 것)으로 둘러싸여 있다. 이 모든 경우에, 순차적인 작업 실행은 오버헤드를 초래한다.
일반적인 ATE에서는 테스트가 중단없이 계속될 수 있도록 FIFO에서 다음 동작의 테스트 데이터를 준비함으로써 이를 최소화하거나 완전하게 방지할 수 있다.
솔루션:
HSIO-스캔을 제어하는 동작은 일반적으로 고레벨 운영 체제에서 소프트웨어 스택에 의한 지원을 요구한다. 따라서, 다음 동작의 테스트 데이터를 준비하려면 이전 동작을 완료하기 전에 OS 레벨의 활동을 병렬로 시작해야 한다. 이는 일반적으로 최첨단 운영 체제(예컨대, 리눅스)에 의해 사용될 수 있는 멀티-스레딩에 의해 수행될 수 있다. 그러나, DUT 인터페이스에서의 활동은 순서대로 진행되어야 한다. 따라서, USB 데이터 전송은 이전 동작이 완료될 때까지 일시 중지되어야 한다.
HSIO-스캔 데이터 전송을 일시 중지하려면 특정 HSIO 포트의 프로토콜 스택과의 간섭이 필요하다: 예컨대, PCle의 경우: PCIe는 준비된 프레임이 시작될 때까지 계속 IDLE을 구동할 수 있다. DUT로부터의 DMA 액세스인 경우, PCIe는 완전히 준비될 수 있고, 이전 동작이 완료된 후 DUT가 DMA 데이터 전송에 참여할 때까지 기다릴 수 있다.
데이터 전송을 일시 중지하려면 HSIO IP에서 HSIO 스택을 적절하게 변경해야한다: 예컨대, HSIO는 전송을 준비하는 두 개의 파이프라인을 가질 수 있다. 매번, 이들 중 하나는 다음 사용 가능한 슬롯에서 데이터 전송을 해제하기 위한 트리거가 수신될 때까지 무장/게이트(armed/gated) 상태를 유지한다. 트리거는 저레벨 소프트웨어 커맨드이거나 또는 다른 기기 또는 DUT 자체로부터 수신된 전기 트리거일 수 있다.
양상 5: HSIO 포트 사양으로부터 분리된 테스트 설정, 테스트 데이터 및 테스트 데이터 흐름을 유지하기 위한 솔루션
문제점: HSIO 인터페이스는 서로 다른 운영 체제 상에서 다양한 드라이버를 사용하여 다양한 방식으로 프로그래밍된다. 테스트 장비가 지원해야 하는 일반적인 변형은 다음을 포함하지만 이에 국한되지는 않는다:
ㆍ USB, PCIe, 1149.10 또는 심지어 독점 인터페이스를 포함하는 다양한 HSIO 포트
ㆍ 호스트/루트 또는 엔드 포인트로서 작동되는 HSIO
ㆍ DUT로 테스트 데이터를 능동적으로 스트리밍하는 ATE 또는 ATE(DMA)로부터 데이터를 가져오는 DUT
ㆍ 표준 인터페이스를 통하거나 맞춤형 드라이버 필요로 하는 HSIO 통신
그러나, ATE 및 테스트 프로그램은 일반적이고 구성가능한 테스트 설정 및 사용 사례를 활성화해야 한다.
솔루션:
ATE 솔루션은 테스트 프로그램 내에서 포트 인터페이스를 재구성할 수 있다: 예컨대, PCIe 종단점으로부터 1149.10 테스트 인터페이스로.
ATE 소프트웨어는 하나 이상의 HSIO 유형에 적용할 수 있는 가상 "기기"에 의해 활성화된 2개 이상의 일반적 사용 모델을 지원한다: 예컨대,
ㆍ 푸시 모드 - 스트리밍(USB에 일반적임, 1149.10): ATE는 자극 데이터를 HSIO 통신으로 푸시한다
ㆍ DMA 모드(PCIe에 일반적임): DUT는 OCST 메모리를 메모리 공간에 매핑하고 그로부터 데이터를 판독한다.
시스템 내에 후크를 추가하여 고객 또는 제3자가 독점적 인터페이스에 따라 표준 블록을 조정할 수 있게 한다: 예컨대,
ㆍ 선택된 사용 모델(예컨대, DMA)에 따라 맞춤형 포트를 구현하기 위한 표준 인터페이스를 정의함.
ㆍ 산출 학습을 위해 수신된 패키지를 분석하기 위한, OCST 카드 상에서 실행되는 효율적 맞춤형/제3자 코드. 이 경우, 예상 데이터는 직접 비교 가능한 예상 데이터가 아닌 지원 정보를 포함할 수 있다.
ㆍ 데이터를 HSIO로 푸시하기 직전의 DUT별 암호화.
ㆍ DMA 모드에서 DUT 기록 결과에 의해 사용되는 어드레스의 사이트별 매핑을 허용함. 이는 각 사이트의 DMA가 동일하더라도 물리적 수신 메모리를 구별되게 유지할 것이다.
결론
결론적으로, 본 명세서에 설명된 실시예는 본 명세서에 설명된 임의의 중요한 포인트 또는 양상에 의해 선택적으로 보완될 수 있다. 그러나, 본 명세서에 설명된 중요한 포인트 및 양상은 개별적으로 또는 조합하여 사용될 수 있으며, 본 명세서에 설명된 임의의 실시예에 개별적으로 및 조합하여 도입될 수 있음에 유의한다.
구현 대안
일부 양상이 장치의 맥락에서 설명되었지만, 이들 양상은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계의 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시예에서, 가장 중요한 방법 단계들 중 하나 이상은 그러한 장치에 의해 실행될 수 있다.
소정의 구현 요건에 따라, 본 발명의 실시예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력하는 (또는 협력할 수 있는) 전자적으로 판독가능한 제어 신호가 저장되는, 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루레이(Blu-Ray), CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능할 수 있다.
본 발명에 따른 일부 실시예는 본 명세서에 설명된 방법 중 하나가 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어, 머신 판독가능 캐리어에 저장될 수 있다.
다른 실시예는 머신 판독가능 캐리어에 저장된, 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 그러므로 본 발명의 방법의 실시예는 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 기록하여 포함하는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터 판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 전형적으로 유형적 및/또는 비일시적이다.
따라서, 본 발명의 방법의 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어, 데이터 통신 접속을 통해, 예를 들어, 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하도록 구성되거나 조정된 처리 수단, 예를 들어, 컴퓨터, 또는 프로그램 가능한 로직 디바이스를 포함한다.
추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기로 전송(예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 예를 들어, 장치 또는 시스템은 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
몇몇 실시예에서, 프로그래밍 가능 로직 디바이스(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에 설명된 방법의 기능 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 몇몇 실시예에서, 필드 프로그램 가능 게이트 어레이는 본 명세서에 설명된 방법 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 설명된 장치 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 하드웨어 및/또는 소프트웨어로 적어도 부분적으로 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 설명된 방법 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 하드웨어 및/또는 소프트웨어에 의해 적어도 부분적으로 수행될 수 있다.
전술한 실시예는 본 발명의 원리에 대한 예시일 뿐이다. 본 명세서에 설명된 구성 및 세부사항의 수정 및 변경은 당업자에게 자명할 것임이 이해된다. 따라서, 본 명세서에서 실시예의 기술 및 설명에 의해 제시된 특정 세부사항에 의해서가 아니라 다음 특허 청구범위에 의해서만 제한되도록 의도된다.
Claims (27)
- 하나 이상의 테스트 대상 디바이스(130)를 테스트하기 위한 자동 테스트 장비(100)로서,
복수의 포트 처리 유닛들(110)과,
공유 메모리 풀을 포함하는 데이터 저장소를 포함하되,
상기 복수의 포트 처리 유닛들의 각각은 적어도,
버퍼 메모리(140)와,
상기 테스트 대상 디바이스(130) 중 적어도 하나와 접속되는 고속 입출력(high-speed-input-output: HSIO) 인터페이스(120)를 포함하고,
상기 포트 처리 유닛들은 또한 상기 공유 메모리 풀로부터 공유 데이터를 수신하도록 구성되며,
상기 포트 처리 유닛들의 각각은,
데이터를 수신하고,
상기 수신된 데이터를 상기 버퍼 메모리(140)에 저장하고,
상기 HSIO 인터페이스(120)를 통해 상기 접속된 테스트 대상 디바이스 중 하나 이상에 상기 버퍼 메모리(140)에 저장된 데이터를 제공하여 상기 하나 이상의 접속된 테스트 대상 디바이스(130)를 테스트하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 버퍼 메모리(140)는 로컬 메모리로서 상기 고속 입출력(HSIO) 인터페이스(120)에 의해 액세스 가능한,
자동 테스트 장비(100).
- 삭제
- 제 1 항에 있어서,
상기 데이터 저장소는 또한 공유 데이터를 상기 포트 처리 유닛 중 하나 이상 및/또는 메모리 허브로 스트리밍하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 데이터 저장소는 또한 디바이스별 결과 데이터(per-device result data)를 복수의 메모리 영역에 저장하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 포트 처리 유닛 중 하나 이상은 또한 상기 공유 메모리 풀로부터 적어도 하나의 다른 포트 처리 유닛으로 공유 데이터를 전달하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 포트 처리 유닛 중 하나 이상은 적어도 하나의 다른 포트 처리 유닛으로부터 공유 데이터를 수신하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 복수의 포트 처리 유닛 중 하나 이상은 상기 공유 메모리 풀로부터 공유 데이터를 연속적으로 전달하기 위해 데이지 체인(daisy chain)을 형성하는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 복수의 포트 처리 유닛 중 하나 이상은 메모리 허브로부터 공유 데이터를 수신하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 포트 처리 유닛은, 공유 데이터의 수신과 하나 이상의 접속된 테스트 대상 디바이스를 테스트 하기 위한 상기 공유 데이터의 사용 사이의 시간 시프트(time-shift)를 허용하기 위해 버퍼링 메모리 및/또는 하나 이상의 캐시를 포함하는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 포트 처리 유닛 중 적어도 하나는 또한, 인터페이스를 통해 테스트 대상 디바이스에 상기 공유 데이터에 기초한 테스트 정보를 제공하고, 테스트 대상 디바이스로의 상기 테스트 정보의 전송 타이밍에 따라 상기 테스트 대상 디바이스를 특성화하도록 구성되는,
자동 테스트 장비(100).
- 제 11 항에 있어서,
상기 적어도 하나의 포트 처리 유닛은 테스트 대상 디바이스로의 테스트 정보의 전송이 각각의 포트 처리 유닛에 의한 공유 데이터의 수신 이후에 미리 결정된 시간을 초과하여 지연되는 경우, 상기 테스트 대상 디바이스를 고장인 것으로 특성화하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 포트 처리 유닛은 또한 디바이스별 결과 데이터를 획득하고 상기 디바이스별 결과 데이터를 상기 데이터 저장소로 전달하도록 구성되는,
자동 테스트 장비(100).
- 제 13 항에 있어서,
상기 포트 처리 유닛은 또한 상기 공유 데이터에 기초한 예상 데이터를 사용하여 상기 디바이스별 결과 데이터를 획득하도록 구성되는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
스타 아키텍처(star architecture)에서 복수의 포트 처리 유닛을 상기 데이터 저장소와 결합시키도록 구성된 메모리 허브를 더 포함하는,
자동 테스트 장비(100).
- 제 15 항에 있어서,
상기 메모리 허브는 서로 다른 포트 처리 유닛으로의 공유 데이터의 비동시 전달(non-simultaneous forwarding)을 허용하기 위해 버퍼링 메모리 및/또는 하나 이상의 캐시를 포함하는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 데이터 저장소는 상기 포트 처리 유닛에 제공되는 상기 공유 데이터 및 디바이스별 결과 데이터를 위한 개별 인터페이스를 더 포함하는,
자동 테스트 장비(100).
- 제 1 항에 있어서,
상기 데이터 저장소는 상기 포트 처리 유닛에 대한 공유 데이터의 제공을 방해하지 않으면서 디바이스별 결과 데이터에 액세스하도록 구성된 메모리 인터페이스를 포함하는,
자동 테스트 장비(100).
- 제 1 항 또는 제 2 항에 있어서,
상기 포트 처리 유닛은 상기 수신된 데이터에서 커맨드 오류를 검출하고 상기 수신된 데이터를 미리 로딩된 예상 데이터와 비교하도록 구성된 스트리밍 오류 검출 블록을 더 포함하고, 상기 예상 데이터는 마스크 데이터를 포함하는,
자동 테스트 장비(100).
- 제 19 항에 있어서,
상기 예상 데이터를 디바이스별 FIFO 메모리 또는 하나 이상의 접속된 디바이스와 연관된 관리 캐시에 미리 로딩하도록 또한 구성되며, 상기 연관된 접속된 디바이스에 의한 데이터 사용을 추적하여 상기 데이터를 폐기하도록 구성되고, 데이터 사용의 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는다는 것을 발견한 것에 응답하여 상기 특정 테스트 대상 디바이스를 고장인 것으로 인식하도록 또한 구성되는
자동 테스트 장비(100).
- 제 19 항에 있어서,
압축된 표현으로 상기 메모리에 데이터를 저장하도록 또한 구성되되, 상기 압축은 표준 데이터 압축 또는 테스트 특정 포맷인,
자동 테스트 장비(100).
- 제 21 항에 있어서,
예상 오류 분포와 매칭되도록 상기 압축을 동적으로 조정하도록 또한 구성되는
자동 테스트 장비(100).
- 제 21 항에 있어서,
수신된 데이터 스트림의 근접 거리(proximity) 내에 고장일 가능성이 있는 수신된 데이터를 유지하도록 구성되는
자동 테스트 장비(100).
- 제 19 항에 있어서,
상기 스트리밍 오류 검출 블록은 또한 고장 분석과 관련된 통계 정보를 저장하도록 구성되는,
자동 테스트 장비(100).
- 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법으로서,
복수의 포트 처리 유닛들(110)의 포트 처리 유닛에서, 공유 메모리 풀을 포함하는 데이터 저장소로부터 데이터를 수신하는 단계 - 상기 포트 처리 유닛들은 또한 상기 공유 메모리 풀로부터 공유 데이터를 수신하도록 구성되고, 상기 복수의 포트 처리 유닛들의 각각은 적어도 버퍼 메모리(140)와 상기 테스트 대상 디바이스(130) 중 적어도 하나와 접속되는 고속 입출력(high-speed-input-output: HSIO) 인터페이스(120)를 포함함 - 와,
상기 수신된 데이터를 상기 버퍼 메모리(140)에 저장하는 단계와,
하나 이상의 접속된 테스트 대상 디바이스(130)를 테스트하기 위해 상기 HSIO 인터페이스(120)를 통해 상기 테스트 대상 디바이스 중 하나 이상에 상기 저장된 데이터를 제공하는 단계를 포함하는
방법.
- 처리 디바이스를 위한, 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램으로서,
상기 프로그램이 상기 처리 디바이스 상에서 실행될 때 제 25 항의 단계들을 수행하기 위한 소프트웨어 코드 부분을 포함하는
컴퓨터 프로그램.
- 제 26 항에 있어서,
상기 프로그램은 상기 처리 디바이스의 내부 메모리로 직접 로딩 가능한,
컴퓨터 프로그램.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962795456P | 2019-01-22 | 2019-01-22 | |
US62/795,456 | 2019-01-22 | ||
PCT/EP2020/051540 WO2020152231A1 (en) | 2019-01-22 | 2020-01-22 | Automated test equipment for testing one or more devices under test, method for automated testing of one or more devices under test, and computer program using a buffer memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210079347A KR20210079347A (ko) | 2021-06-29 |
KR102591340B1 true KR102591340B1 (ko) | 2023-10-20 |
Family
ID=69192062
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217015278A KR102569335B1 (ko) | 2019-01-22 | 2020-01-22 | 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 |
KR1020217026464A KR102604010B1 (ko) | 2019-01-22 | 2020-01-22 | 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비 |
KR1020217015271A KR102591340B1 (ko) | 2019-01-22 | 2020-01-22 | 버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217015278A KR102569335B1 (ko) | 2019-01-22 | 2020-01-22 | 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 |
KR1020217026464A KR102604010B1 (ko) | 2019-01-22 | 2020-01-22 | 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11385285B2 (ko) |
JP (3) | JP7295954B2 (ko) |
KR (3) | KR102569335B1 (ko) |
CN (3) | CN113330322B (ko) |
DE (3) | DE112020000469T5 (ko) |
TW (3) | TW202202864A (ko) |
WO (3) | WO2020152230A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204849B2 (en) * | 2020-03-13 | 2021-12-21 | Nvidia Corporation | Leveraging low power states for fault testing of processing cores at runtime |
US11809570B2 (en) * | 2020-10-06 | 2023-11-07 | Newae Technology Inc | Method and apparatus for analyzing side channel-related security vulnerabilities in digital devices |
US11719749B1 (en) * | 2020-10-22 | 2023-08-08 | Cadence Design Systems, Inc. | Method and system for saving and restoring of initialization actions on dut and corresponding test environment |
US20220155370A1 (en) * | 2020-11-17 | 2022-05-19 | Synopsys, Inc. | Device under test synchronization with automated test equipment check cycle |
CN112597006B (zh) * | 2020-12-14 | 2023-10-03 | 中国航发控制***研究所 | 一种嵌入式软件集成测试自动化执行***及方法 |
US11836059B1 (en) | 2020-12-14 | 2023-12-05 | Sanblaze Technology, Inc. | System and method for testing non-volatile memory express storage devices |
US11431379B1 (en) | 2021-03-31 | 2022-08-30 | Teradyne, Inc. | Front-end module |
CN115391108A (zh) * | 2021-05-25 | 2022-11-25 | 爱德万测试股份有限公司 | 自动测试设备***及其自动测试设备方法 |
CN113572661B (zh) * | 2021-07-28 | 2022-12-27 | 迈普通信技术股份有限公司 | 一种测试多激活检测性能的***和方法 |
CN113836060B (zh) * | 2021-09-24 | 2024-05-28 | 北京机电工程研究所 | 一种适用于仿真模型及流程模型的分布式实时仿真平台 |
CN113961405B (zh) * | 2021-09-30 | 2022-10-28 | 北京百度网讯科技有限公司 | 状态切换指令验证方法、装置、电子设备及存储介质 |
CN114167258B (zh) * | 2021-11-29 | 2024-03-22 | 上海御渡半导体科技有限公司 | 一种ate测试***的数据存储和读取装置及方法 |
CN113904970B (zh) * | 2021-12-09 | 2022-03-01 | 伟恩测试技术(武汉)有限公司 | 一种半导体测试设备的传输***及方法 |
CN114461150A (zh) * | 2022-02-09 | 2022-05-10 | 马来西亚明试国际有限公司 | 一种用于自动测试设备数据聚合的方法、***及存储介质 |
KR102461404B1 (ko) * | 2022-04-08 | 2022-10-31 | 주식회사 세미파이브 | 시스템 온 칩과 메모리 사이의 통신을 위한 io 파라미터를 설정하는 방법 및 장치 |
US11853251B2 (en) | 2022-05-04 | 2023-12-26 | Qualcomm Incorporated | On-die chip-to-chip (C2C) link state monitor |
CN116340191B (zh) * | 2023-05-31 | 2023-08-08 | 合肥康芯威存储技术有限公司 | 一种存储器固件的测试方法、装置、设备及介质 |
CN117290278A (zh) * | 2023-10-10 | 2023-12-26 | 合芯科技有限公司 | 芯片内硬件互联结构、芯片、服务器及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002311095A (ja) | 2001-04-12 | 2002-10-23 | Tritec:Kk | Lsi検査装置 |
JP2003121499A (ja) * | 2001-10-09 | 2003-04-23 | Hitachi Ltd | 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム |
JP2004109005A (ja) | 2002-09-19 | 2004-04-08 | Nec Electronics Corp | 半導体検査システム及び半導体デバイスの検査方法 |
JP2006010351A (ja) | 2004-06-22 | 2006-01-12 | Toshiba Corp | テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム |
US20080114563A1 (en) * | 2006-07-10 | 2008-05-15 | Kappauf William F | Digital waveform generation and measurement in automated test equipment |
US20140114603A1 (en) * | 2012-10-20 | 2014-04-24 | Gerald Moon | Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test |
JP2018017598A (ja) | 2016-07-27 | 2018-02-01 | 富士通株式会社 | テストパタン生成装置及びテストパタン生成方法 |
US20180196103A1 (en) | 2013-02-21 | 2018-07-12 | Advantest Corporation | Test architecture with an fpga based test board to simulate a dut or end-point |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2966417B2 (ja) * | 1988-09-05 | 1999-10-25 | 株式会社アドバンテスト | 論理集積回路試験装置 |
US5103450A (en) * | 1989-02-08 | 1992-04-07 | Texas Instruments Incorporated | Event qualified testing protocols for integrated circuits |
US7328387B2 (en) * | 2004-12-10 | 2008-02-05 | Texas Instruments Incorporated | Addressable tap domain selection circuit with selectable ⅗ pin interface |
US5321702A (en) * | 1989-10-11 | 1994-06-14 | Teradyne, Inc. | High speed timing generator |
JP3114753B2 (ja) * | 1991-10-31 | 2000-12-04 | 九州日本電気株式会社 | Lsiテスト方法 |
JPH07244130A (ja) * | 1994-03-02 | 1995-09-19 | Sony Tektronix Corp | テストパターン発生器 |
JPH08129508A (ja) * | 1994-10-31 | 1996-05-21 | Toshiba Corp | コンピュータシステム及びその共有メモリ制御方法 |
JPH10240560A (ja) * | 1997-02-26 | 1998-09-11 | Toshiba Corp | 波形信号処理装置 |
GB9805054D0 (en) * | 1998-03-11 | 1998-05-06 | Process Intelligence Limited | Memory test system with buffer memory |
AU9654198A (en) * | 1998-06-29 | 2000-01-17 | Iliya Valeryevich Klochkov | A skew calibration means and a method of skew calibration |
US6452411B1 (en) * | 1999-03-01 | 2002-09-17 | Formfactor, Inc. | Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses |
JP2001210685A (ja) * | 1999-11-19 | 2001-08-03 | Hitachi Ltd | テストシステムおよび半導体集積回路装置の製造方法 |
US6424926B1 (en) | 2000-03-31 | 2002-07-23 | Intel Corporation | Bus signature analyzer and behavioral functional test method |
KR100374328B1 (ko) * | 2000-06-03 | 2003-03-03 | 박현숙 | 칩 설계 검증 및 테스트 장치 및 방법 |
JP2002156404A (ja) * | 2000-11-20 | 2002-05-31 | Seiko Epson Corp | 半導体測定方法及び半導体測定装置 |
US6988232B2 (en) | 2001-07-05 | 2006-01-17 | Intellitech Corporation | Method and apparatus for optimized parallel testing and access of electronic circuits |
AU2003249631A1 (en) * | 2002-05-08 | 2003-11-11 | Nptest, Inc. | Tester system having a multi-purpose memory |
JP2004030765A (ja) * | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
US7131046B2 (en) * | 2002-12-03 | 2006-10-31 | Verigy Ipco | System and method for testing circuitry using an externally generated signature |
GB0315931D0 (en) * | 2003-07-08 | 2003-08-13 | Koninkl Philips Electronics Nv | Radio device testing system |
US7310752B2 (en) * | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7089139B2 (en) * | 2004-08-16 | 2006-08-08 | Agilent Technologies, Inc. | Method and apparatus for configuration of automated debug of in-circuit tests |
US7627798B2 (en) * | 2004-10-08 | 2009-12-01 | Kabushiki Kaisha Toshiba | Systems and methods for circuit testing using LBIST |
US7437517B2 (en) * | 2005-01-11 | 2008-10-14 | International Business Machines Corporation | Methods and arrangements to manage on-chip memory to reduce memory latency |
JP2006266835A (ja) * | 2005-03-23 | 2006-10-05 | Advantest Corp | 試験装置、試験方法、及び試験制御プログラム |
US20070168809A1 (en) * | 2005-08-09 | 2007-07-19 | Naoki Kiryu | Systems and methods for LBIST testing using commonly controlled LBIST satellites |
CN1925384A (zh) * | 2005-09-02 | 2007-03-07 | 上海乐金广电电子有限公司 | 数字广播信息流传输错误检测装置及方法 |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US7389461B2 (en) * | 2005-09-28 | 2008-06-17 | Teradyne, Inc. | Data capture in automatic test equipment |
CN1987236A (zh) * | 2005-12-22 | 2007-06-27 | 乐金电子(天津)电器有限公司 | 空调器的错误记录管理控制装置及其管理控制方法 |
US7552370B2 (en) * | 2006-03-31 | 2009-06-23 | Robert Pochowski | Application specific distributed test engine architecture system and method |
KR20090053960A (ko) * | 2006-04-06 | 2009-05-28 | 가부시키가이샤 어드밴티스트 | 시험 장치 및 시험 방법 |
CN101501517B (zh) * | 2006-08-04 | 2013-02-06 | 爱德万测试(新加坡)私人有限公司 | 具有通用和专门资源的块的测试模块 |
US7698088B2 (en) * | 2006-11-15 | 2010-04-13 | Silicon Image, Inc. | Interface test circuitry and methods |
US7486205B2 (en) * | 2006-11-28 | 2009-02-03 | Samplify Systems, Inc. | Compression and decompression of stimulus and response waveforms in automated test systems |
KR100897681B1 (ko) * | 2007-04-05 | 2009-05-14 | 베리지 (싱가포르) 피티이. 엘티디. | 테스트 프로그램 적응 시스템 및 자동화 테스트 시스템 |
US20090112548A1 (en) * | 2007-10-30 | 2009-04-30 | Conner George W | A method for testing in a reconfigurable tester |
US7717752B2 (en) | 2008-07-01 | 2010-05-18 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100023294A1 (en) * | 2008-07-28 | 2010-01-28 | Credence Systems Corporation | Automated test system and method |
US8533545B2 (en) | 2009-03-04 | 2013-09-10 | Alcatel Lucent | Method and apparatus for system testing using multiple instruction types |
US8195419B2 (en) * | 2009-03-13 | 2012-06-05 | Teradyne, Inc. | General purpose protocol engine |
US8170828B2 (en) | 2009-06-05 | 2012-05-01 | Apple Inc. | Test method using memory programmed with tests and protocol to communicate between device under test and tester |
US8386867B2 (en) * | 2009-07-02 | 2013-02-26 | Silicon Image, Inc. | Computer memory test structure |
US8261119B2 (en) * | 2009-09-10 | 2012-09-04 | Advantest Corporation | Test apparatus for testing device has synchronization module which synchronizes analog test module to digital test module based on synchronization signal received from digital test module |
US20110273197A1 (en) * | 2010-05-07 | 2011-11-10 | Qualcomm Incorporated | Signal generator for a built-in self test |
JP2011248597A (ja) * | 2010-05-26 | 2011-12-08 | Yokogawa Electric Corp | テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法 |
US8718967B2 (en) * | 2010-05-28 | 2014-05-06 | Advantest Corporation | Flexible storage interface tester with variable parallelism and firmware upgradeability |
US9317351B2 (en) * | 2010-09-07 | 2016-04-19 | Advantest Corporation | System, methods and apparatus using virtual appliances in a semiconductor test environment |
US8598898B2 (en) | 2010-10-05 | 2013-12-03 | Silicon Image, Inc. | Testing of high-speed input-output devices |
US9043665B2 (en) * | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
US20120324302A1 (en) * | 2011-06-17 | 2012-12-20 | Qualcomm Incorporated | Integrated circuit for testing using a high-speed input/output interface |
US9470759B2 (en) * | 2011-10-28 | 2016-10-18 | Teradyne, Inc. | Test instrument having a configurable interface |
TW201337236A (zh) | 2012-03-15 | 2013-09-16 | Le & Der Co Ltd | 流體自動化採樣控制裝置 |
US9026869B1 (en) * | 2012-11-01 | 2015-05-05 | Amazon Technologies, Inc. | Importance-based data storage verification |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US9183952B2 (en) * | 2013-02-20 | 2015-11-10 | Micron Technology, Inc. | Apparatuses and methods for compressing data received over multiple memory accesses |
US9952276B2 (en) * | 2013-02-21 | 2018-04-24 | Advantest Corporation | Tester with mixed protocol engine in a FPGA block |
US20140237292A1 (en) | 2013-02-21 | 2014-08-21 | Advantest Corporation | Gui implementations on central controller computer system for supporting protocol independent device testing |
US10162007B2 (en) * | 2013-02-21 | 2018-12-25 | Advantest Corporation | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently |
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 |
US20140236527A1 (en) * | 2013-02-21 | 2014-08-21 | Advantest Corporation | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems |
US9810729B2 (en) * | 2013-02-28 | 2017-11-07 | Advantest Corporation | Tester with acceleration for packet building within a FPGA block |
US9310427B2 (en) * | 2013-07-24 | 2016-04-12 | Advantest Corporation | High speed tester communication interface between test slice and trays |
US20150153405A1 (en) * | 2013-12-04 | 2015-06-04 | Princeton Technology Corporation | Automatic testing system and method |
CN104808133B (zh) * | 2014-01-24 | 2018-02-06 | 矽创电子股份有限公司 | 自动测试设备和升级自动测试设备的集成电路测试界面 |
US9934831B2 (en) * | 2014-04-07 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters |
US9304846B2 (en) * | 2014-04-29 | 2016-04-05 | Ford Global Technologies, Llc | Apparatus and method of error monitoring with a diagnostic module |
US9811420B2 (en) * | 2015-03-27 | 2017-11-07 | Intel Corporation | Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC) |
JP6458626B2 (ja) * | 2015-05-07 | 2019-01-30 | 富士通株式会社 | デバッグ回路、半導体装置及びデバッグ方法 |
KR102377362B1 (ko) * | 2015-07-08 | 2022-03-23 | 삼성전자주식회사 | 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법 |
JP6386434B2 (ja) * | 2015-10-08 | 2018-09-05 | 株式会社アドバンテスト | 試験装置、試験信号供給装置、試験方法、およびプログラム |
CN105895163B (zh) * | 2016-03-28 | 2018-09-28 | 工业和信息化部电子第五研究所 | 基于镜像备份的单粒子效应检测方法和*** |
US10395748B2 (en) * | 2016-06-15 | 2019-08-27 | Micron Technology, Inc. | Shared error detection and correction memory |
JP2018006406A (ja) * | 2016-06-28 | 2018-01-11 | 東京エレクトロン株式会社 | 基板検査装置 |
TW201837490A (zh) | 2017-01-31 | 2018-10-16 | 美商奧克塔佛系統有限責任公司 | 用於測試在封裝裝置中之系統之自動測試設備方法 |
JP6878071B2 (ja) | 2017-03-21 | 2021-05-26 | 株式会社東芝 | 半導体集積回路及び半導体集積回路の診断方法 |
US10580200B2 (en) | 2017-04-07 | 2020-03-03 | Intel Corporation | Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp |
CN107390109B (zh) * | 2017-06-09 | 2019-12-24 | 苏州迅芯微电子有限公司 | 高速adc芯片的自动测试平台及其软件架构设计方法 |
-
2020
- 2020-01-22 KR KR1020217015278A patent/KR102569335B1/ko active IP Right Grant
- 2020-01-22 CN CN202080010066.2A patent/CN113330322B/zh active Active
- 2020-01-22 JP JP2021532983A patent/JP7295954B2/ja active Active
- 2020-01-22 KR KR1020217026464A patent/KR102604010B1/ko active IP Right Grant
- 2020-01-22 WO PCT/EP2020/051538 patent/WO2020152230A1/en active Application Filing
- 2020-01-22 WO PCT/EP2020/051543 patent/WO2020152232A1/en active Application Filing
- 2020-01-22 DE DE112020000469.4T patent/DE112020000469T5/de active Pending
- 2020-01-22 DE DE112020000036.2T patent/DE112020000036T5/de active Pending
- 2020-01-22 KR KR1020217015271A patent/KR102591340B1/ko active IP Right Grant
- 2020-01-22 CN CN202080002335.0A patent/CN111989580B/zh active Active
- 2020-01-22 CN CN202080005127.6A patent/CN112703409B/zh active Active
- 2020-01-22 JP JP2020561063A patent/JP7101814B2/ja active Active
- 2020-01-22 WO PCT/EP2020/051540 patent/WO2020152231A1/en active Application Filing
- 2020-01-22 JP JP2020560932A patent/JP7058759B2/ja active Active
- 2020-01-22 DE DE112020000035.4T patent/DE112020000035T5/de active Pending
- 2020-07-06 TW TW109122801A patent/TW202202864A/zh unknown
- 2020-07-06 TW TW109122802A patent/TW202202865A/zh unknown
- 2020-07-06 TW TW109122800A patent/TW202132793A/zh unknown
- 2020-10-14 US US17/070,696 patent/US11385285B2/en active Active
- 2020-11-10 US US17/094,129 patent/US11913990B2/en active Active
- 2020-11-10 US US17/094,047 patent/US11415628B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002311095A (ja) | 2001-04-12 | 2002-10-23 | Tritec:Kk | Lsi検査装置 |
JP2003121499A (ja) * | 2001-10-09 | 2003-04-23 | Hitachi Ltd | 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム |
JP2004109005A (ja) | 2002-09-19 | 2004-04-08 | Nec Electronics Corp | 半導体検査システム及び半導体デバイスの検査方法 |
JP2006010351A (ja) | 2004-06-22 | 2006-01-12 | Toshiba Corp | テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム |
US20080114563A1 (en) * | 2006-07-10 | 2008-05-15 | Kappauf William F | Digital waveform generation and measurement in automated test equipment |
US20140114603A1 (en) * | 2012-10-20 | 2014-04-24 | Gerald Moon | Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test |
US20180196103A1 (en) | 2013-02-21 | 2018-07-12 | Advantest Corporation | Test architecture with an fpga based test board to simulate a dut or end-point |
JP2018017598A (ja) | 2016-07-27 | 2018-02-01 | 富士通株式会社 | テストパタン生成装置及びテストパタン生成方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102604010B1 (ko) | 2023-11-20 |
DE112020000469T5 (de) | 2021-10-07 |
CN111989580A (zh) | 2020-11-24 |
WO2020152231A1 (en) | 2020-07-30 |
TW202202865A (zh) | 2022-01-16 |
TW202132793A (zh) | 2021-09-01 |
JP7295954B2 (ja) | 2023-06-21 |
KR20210079348A (ko) | 2021-06-29 |
TW202202864A (zh) | 2022-01-16 |
US11415628B2 (en) | 2022-08-16 |
KR20210116604A (ko) | 2021-09-27 |
CN111989580B (zh) | 2023-06-30 |
DE112020000036T5 (de) | 2021-01-21 |
CN113330322A (zh) | 2021-08-31 |
JP2021520001A (ja) | 2021-08-12 |
KR102569335B1 (ko) | 2023-08-22 |
US11913990B2 (en) | 2024-02-27 |
JP2021520570A (ja) | 2021-08-19 |
KR20210079347A (ko) | 2021-06-29 |
WO2020152232A1 (en) | 2020-07-30 |
JP7058759B2 (ja) | 2022-04-22 |
JP2022517513A (ja) | 2022-03-09 |
US20210073094A1 (en) | 2021-03-11 |
US11385285B2 (en) | 2022-07-12 |
CN112703409A (zh) | 2021-04-23 |
CN113330322B (zh) | 2024-06-21 |
DE112020000035T5 (de) | 2020-12-31 |
CN112703409B (zh) | 2024-06-14 |
JP7101814B2 (ja) | 2022-07-15 |
WO2020152230A1 (en) | 2020-07-30 |
US20210025938A1 (en) | 2021-01-28 |
US20210055347A1 (en) | 2021-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102591340B1 (ko) | 버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 | |
US10976361B2 (en) | Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes | |
CN110050441B (zh) | 在故障情况下实时捕获流量以进行协议调试 | |
KR102124847B1 (ko) | 내장형 테스터 | |
JP4856429B2 (ja) | バス検査のためのオンチップ回路 | |
KR101993504B1 (ko) | Fpga 블록 내의 자동 패턴 생성을 위한 가속 및 메모리 상의 가속을 갖는 시험기 | |
US7650555B2 (en) | Method and apparatus for characterizing components of a device under test using on-chip trace logic analyzer | |
KR20150126374A (ko) | Fpga 블록 내에 패킷 형성을 위한 가속을 갖는 시험기 | |
KR20200139714A (ko) | 디버그 제어기 회로 | |
US9971644B2 (en) | Serial I/O functional tester | |
CN102549443A (zh) | 可编程协议发生器 | |
US20080016407A1 (en) | System and Method for Selectively Engaging Optional Data Reduction Mechanisms for Capturing Trace Data | |
US10896119B1 (en) | Common input/output interface for application and debug circuitry | |
US20230152374A1 (en) | Automated test equipment and method using a trigger generation | |
US5276809A (en) | Method and apparatus for capturing real-time data bus cycles in a data processing system | |
US9703753B2 (en) | Apparatus and method for updating a device | |
CN112579334B (zh) | 基于以太网的面向处理器的信号记录方法及装置 | |
Theologitou et al. | Simple and reusable test access mechanism for SoC validation | |
JP2011133252A (ja) | 半導体試験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |