KR20150114795A - 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents
반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 Download PDFInfo
- Publication number
- KR20150114795A KR20150114795A KR1020140039435A KR20140039435A KR20150114795A KR 20150114795 A KR20150114795 A KR 20150114795A KR 1020140039435 A KR1020140039435 A KR 1020140039435A KR 20140039435 A KR20140039435 A KR 20140039435A KR 20150114795 A KR20150114795 A KR 20150114795A
- Authority
- KR
- South Korea
- Prior art keywords
- cases
- test
- generation
- optimization
- case
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/006—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
Landscapes
- Tests Of Electronic Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
본 발명의 실시예에 따른 반도체 메모리 장치의 테스트 방법은 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 단계, 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 단계 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시예는 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것으로, 보다 상세하게는 웨이퍼 상태의 반도체 메모리 장치의 최적화된 동작 조건을 추출하기 위한 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.
반도체 메모리 장치는 전원 공급이 중단될 때 저장된 데이터를 상실하는지 여부에 따라, 휘발성 메모리 장치(volatile memory device)와 비휘발성 메모리 장치(nonvolatile memory device)로 구분될 수 있다. 비휘발성 메모리 장치의 동작 모드는 메모리 셀에 데이터를 저장하는 기입 모드(write mode or program mode), 메모리 셀에 저장된 데이터를 판독하는 독출 모드(read mode) 및 저장된 데이터를 삭제하여 메모리 셀을 초기화하는 소거 모드(erase mode)로 구분될 수 있다. 데이터를 효율적으로 저장할 수 있는 비휘발성 메모리 장치를 설계하는데 있어서, 상기와 같은 동작적인 특성과 함께 제조 공정적인 특성 및 구조적인 특성 등과 같은 다양한 특성들이 고려될 필요가 있다.
비휘발성 메모리 장치를 제조함에 있어서, 웨이퍼(wafer) 단계에서 최적의 동작 조건을 파악하기 위한 테스트(test)가 수행되어야 한다. 여러 동작 조건들을 고려하여 테스트를 진행할 때 테스트 진행 횟수에는 제한이 있을 수 밖에 없으므로, 엔지니어(engineer)의 노하우(knowhow)에 의존하여 테스트가 진행될 수 밖에 없다. 이에 따라 보다 바람직한 최적의 동작 조건이 존재함에도 이와 다른 동작 조건이 최적의 동작 조건으로 선택될 가능성이 높을 수 있다. 따라서, 보다 정확하고 신속하게 최적의 동작 조건을 결정할 수 있는 기술이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 보다 광범위한 범위의 케이스들 중에서 높은 수율과 신뢰성을 갖는 최적의 동작 조건을 찾을 수 있는 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체를 제공함에 있다.
본 발명의 실시예에 따른 반도체 메모리 장치의 테스트 방법은 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 단계, 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 단계 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 포함한다.
실시예에 따라, 상기 제2 세대에 해당하는 상기 복수의 케이스들을 생성하는 단계는 상기 최적화 케이스들 중 제k 케이스(k는 1 이상이고 n 이하인 정수)를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성하는 단계 및 상기 중간 케이스와 상기 제k 케이스를 재조합(recombination)하여 시험 케이스를 생성하는 단계를 포함한다.
실시예에 따라, 상기 제2 세대에 해당하는 상기 복수의 케이스들은 상기 최적화 케이스들 및 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스를 포함한다.
실시예에 따라, 상기 모델링된 테스트 결과를 생성하는 단계는 상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB(Universal Internal Bus) 정보에 매핑(mapping)시키는 단계, 매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램(test program)을 생성하는 단계, 상기 테스트 프로그램에 따라 상기 반도체 메모리 장치에 포함된 메모리 블록에 대해 테스트를 수행하는 단계 및 상기 테스트를 수행한 결과를 분석하여 상기 모델링된 테스트 결과를 생성하는 단계를 포함한다.
실시예에 따라, 상기 테스트 프로그램을 생성하는 단계는 테스트의 대상이 되는 메모리 셀의 테스트 횟수가 정상 동작 구간을 벗어날 경우 테스트가 수행될 상기 메모리 블록을 다른 메모리 블록으로 변경하여 테스트가 수행되도록 상기 테스트 프로그램을 생성하는 단계를 포함한다.
실시예에 따라, 상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고, 상기 최적화 케이스들을 결정하는 단계는 상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하는 단계 및 비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계를 포함한다.
실시예에 따라, 상기 모델링된 테스트 결과를 생성하는 단계는 상기 제1 세대에 해당하는 상기 복수의 케이스들 중 상기 제1 세대 이전에 생성된 케이스에 대한 테스트는 수행하지 않는 단계를 포함한다.
실시예에 따라, 상기 모델링된 테스트 결과는 상기 반도체 메모리 장치의 산포 특성을 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치의 테스트 방법은 제1 세대에 해당하는 복수의 케이스들을 기초로 테스트를 수행한 결과인 모델링된 테스트 결과를 기초로 최적화 케이스들을 결정하는 단계 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 포함하며, 상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고, 상기 최적화 케이스들을 결정하는 단계는 상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하는 단계 및 비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계를 포함한다.
실시예에 따라, 상기 비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계는 상기 제1 세대가 제p 세대에 해당할 경우, 상기 최적화 케이스들을 최종적인 최적화 케이스들로서 출력하는 단계를 포함하고, 상기 p는 미리 결정된 양의 정수이다.
실시예에 따라, 상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고, 상기 최적화 케이스들을 결정하는 단계는 상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하는 단계 및 비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계를 포함한다.
실시예에 따라, 상기 제2 세대에 해당하는 상기 복수의 케이스들을 생성하는 단계는 상기 최적화 케이스들 중 제k 케이스(k는 1 이상이고 n 이하인 정수)를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성하는 단계 및 상기 중간 케이스와 상기 제k 케이스를 재조합(recombination)하여 시험 케이스를 생성하는 단계를 포함한다.
실시예에 따라, 상기 제2 세대에 해당하는 상기 복수의 케이스들은 상기 최적화 케이스들 및 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스를 포함한다.
실시예에 따라, 상기 모델링된 테스트 결과는 상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB(Universal Internal Bus) 정보에 매핑(mapping)시키는 단계, 매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램(test program)을 생성하는 단계, 상기 테스트 프로그램에 따라 상기 반도체 메모리 장치에 포함된 메모리 블록에 대해 테스트를 수행하는 단계 및 상기 테스트를 수행한 결과를 분석하여 상기 모델링된 테스트 결과를 생성하는 단계를 통해 생성된다.
실시예에 따라, 상기 테스트 프로그램을 생성하는 단계는 테스트의 대상이 되는 메모리 셀의 테스트 횟수가 정상 동작 구간을 벗어날 경우 테스트가 수행될 상기 메모리 블록을 다른 메모리 블록으로 변경하여 테스트가 수행되도록 상기 테스트 프로그램을 생성하는 단계를 포함한다.
실시예에 따라, 상기 모델링된 테스트 결과는 상기 반도체 메모리 장치의 산포 특성을 포함한다.
본 발명의 실시예에 따른 컴퓨터로 읽을 수 있는 기록 매체가 저장하는 반도체 메모리 장치의 테스트 프로그램은 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 테스트 수행부, 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함한다.
실시예에 따라, 상기 케이스 생성기는 상기 최적화 케이스들 중 제k 케이스(k는 1 이상이고 n 이하인 정수)를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성하고, 상기 중간 케이스와 상기 제k 케이스를 재조합(recombination)하여 시험 케이스를 생성한다.
실시예에 따라, 상기 제2 세대에 해당하는 상기 복수의 케이스들은 상기 최적화 케이스들 및 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스를 포함한다.
실시예에 따라, 상기 테스트 수행부는 상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB(Universal Internal Bus) 정보에 매핑(mapping)시키는 UIB 맵퍼, 매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램(test program)을 생성하는 테스트 프로그램 생성기, 상기 테스트 프로그램에 따라 상기 반도체 메모리 장치에 포함된 메모리 블록에 대해 테스트를 수행하는 테스트 컨트롤러 및 상기 테스트를 수행한 결과를 분석하여 상기 모델링된 테스트 결과를 생성하는 결과 분석기를 포함한다.
실시예에 따라, 상기 테스트 프로그램 생성기는 테스트의 대상이 되는 메모리 셀의 테스트 횟수가 정상 동작 구간을 벗어날 경우 테스트가 수행될 상기 메모리 블록을 다른 메모리 블록으로 변경하여 테스트가 수행되도록 상기 테스트 프로그램을 생성한다.
실시예에 따라, 상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고, 상기 옵티마이저는 상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하고, 비교 결과에 따라 상기 최적화 케이스들을 결정한다.
실시예에 따라, 상기 테스트 수행부는 상기 제1 세대에 해당하는 상기 복수의 케이스들 중 상기 제1 세대 이전에 생성된 케이스에 대한 테스트는 수행하지 않는다.
실시예에 따라, 상기 모델링된 테스트 결과는 상기 반도체 메모리 장치의 산포 특성을 포함한다.
본 발명의 실시예에 따른 테스트 장치는 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 테스트 수행부, 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함한다.
실시예에 따라, 상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고, 상기 옵티마이저는 상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하고, 비교 결과에 따라 상기 최적화 케이스들을 결정한다.
본 발명의 실시예에 따른 반도체 메모리 장치를 테스트 하는 테스트 장치는 입력 데이터에 기초한 테스트 프로그램을 실행하는 프로세서 및 상기 테스트 프로그램의 실행에 의해 생성되는 출력 데이터를 저장하는 메모리를 포함하며, 상기 입력 데이터는 상기 반도체 메모리 장치의 동작 조건들에 대한 정보, 상기 동작 조건들 각각이 가변될 수 있는 범위, 오브젝션 함수(objection function), 및 최적화 케이스 결정 횟수 중 적어도 하나의 정보를 포함한다.
실시예에 따라 상기 출력 데이터는 테스트 결과, 모델링된 테스트 결과, 최적화 케이스들을 포함한다.
실시예에 따라 상기 테스트 프로그램은 상기 입력 데이터에 기초하여, 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 상기 테스트 결과 및 상기 모델링된 테스트 결과를 생성하는 테스트 수행부, 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저 및 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함한다.
본 발명의 실시예에 따른 테스트 장치에 의하면, 랜덤하게 케이스들을 생성하고 우수한 테스트 결과를 갖는 케이스만을 선별해 나가므로 보다 광범위한 커버리지에서 높은 수율과 신뢰성을 갖는 최적화된 케이스를 추출할 수 있다.
도 1은 본 발명의 실시예에 따른 테스트 장치를 나타낸 블록도이다.
도 2는 도 1에 도시된 테스트 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 3은 도 2에 도시된 테스트 결과를 생성하는 단계를 상세히 나타낸 흐름도이다.
도 4는 도 2에 도시된 최적화 케이스들을 결정하는 단계를 상세히 나타낸 흐름도이다.
도 5는 도 2에 도시된 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 상세히 나타낸 흐름도이다.
도 6은 도 1에 도시된 케이스 생성기의 동작을 설명하기 위한 도면이다.
도 7은 시간에 따른 메모리 셀의 특성의 변화를 나타낸 도면이다.
도 8은 도 7에 도시된 메모리 셀의 특성의 변화를 이용한 테스트 프로그램 생성기의 동작을 설명하기 위한 도면이다.
도 9는 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 셀 산포에 대한 도면이다.
도 10은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 워드 라인 당 페일 비트수에 대한 도면이다.
도 11은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 복수의 다이들 간의 평균 특성 간 편차에 대한 도면이다.
도 12는 도 1에 도시된 테스트 장치의 효과를 설명하기 위한 도면이다.
도 2는 도 1에 도시된 테스트 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 3은 도 2에 도시된 테스트 결과를 생성하는 단계를 상세히 나타낸 흐름도이다.
도 4는 도 2에 도시된 최적화 케이스들을 결정하는 단계를 상세히 나타낸 흐름도이다.
도 5는 도 2에 도시된 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 상세히 나타낸 흐름도이다.
도 6은 도 1에 도시된 케이스 생성기의 동작을 설명하기 위한 도면이다.
도 7은 시간에 따른 메모리 셀의 특성의 변화를 나타낸 도면이다.
도 8은 도 7에 도시된 메모리 셀의 특성의 변화를 이용한 테스트 프로그램 생성기의 동작을 설명하기 위한 도면이다.
도 9는 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 셀 산포에 대한 도면이다.
도 10은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 워드 라인 당 페일 비트수에 대한 도면이다.
도 11은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 복수의 다이들 간의 평균 특성 간 편차에 대한 도면이다.
도 12는 도 1에 도시된 테스트 장치의 효과를 설명하기 위한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 테스트 장치를 나타낸 블록도이다.
도 1을 참조하면, 테스트 장치(100)는 웨이퍼 상태에 있는 반도체 메모리 장치들을 테스트하기 위한 장치이다. 웨이퍼(10)는 복수의 다이들(dies, 50)을 포함하며, 복수의 다이들(50) 각각은 반도체 메모리 장치(50)일 수 있다.
테스트 동작은 복수의 반도체 메모리 장치들(50)이 웨이퍼(10)로부터 분리된 후 모듈에 장착되어 동작할 때 필요한 최적의 동작 조건을 결정하기 위한 동작이다. 즉, 복수의 반도체 메모리 장치들(50)은 웨이퍼 상태에서 테스트 동작을 거쳐 결정되는 동일한 최적의 동작 조건으로 세팅(setting)되어 각각의 다이로 분리된다. 상기 최적의 동작 조건이 잘못 세팅되는 경우 복수의 반도체 메모리 장치들(50)의 수율(yield rate)과 신뢰성(reliability)이 저하될 수 있다. 따라서, 최적의 동작 조건을 보다 정확하게 찾는 것은 복수의 반도체 메모리 장치들(50)의 수율과 신뢰성을 높이기 위해 매우 중요한 과정이다.
반도체 메모리 장치(50)는 비휘발성 메모리(non-volatile memory) 또는 휘발성 메모리(volatile memory)로 구현될 수 있다. 상기 비휘발성 메모리는 전원 공급 여부와 관계없이 데이터를 유지할 수 있는 메모리 예컨대,PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically EPROM), 플래시 메모리(flash memory ), PRAM(Phase-change Random Access Memory) 등일 수 있다. 상기 휘발성 메모리는 전원이 공급될 때에만 데이터를 유지할 수 있는 메모리 예컨대, DRAM(Dynamic Random Access Memory) 또는 SRAM(Static Random Access Memory) 등일 수 있다.
테스트 장치(100)는 복수의 다이들(50) 각각을 미리 결정된 동작 조건으로 동작시킨 후 출력되는 결과값을 분석해 최적의 동작 조건을 결정할 수 있다. 도 1에 도시된 각 구성들(110, 115, 120, 130, 140, 150 및 160)은 설명의 편의를 위해 테스트 장치(100)의 전체 구성중 본 발명과 관련된 부분 만을 나타낸 것이다. 또한, 각 구성들(110, 115, 120, 130, 140, 150 및 160)은 해당되는 기능을 수행하는 소프트웨어(software), 하드웨어(hardware), 또는 이들의 조합으로 구현될 수 있다. 각 구성들(110, 115, 120, 130, 140, 150 및 160)은 반도체 메모리 장치(50)의 테스트 프로그램을 구성할 수 있다.
상기 테스트 프로그램은 컴퓨터로 읽을 수 있는 기록 매체 즉, 메모리(예컨대, RAM, ROM, 하드 디스크, 비휘발성 메모리)에 저장될 수 있고, 상기 테스트 프로그램은 프로세서(예컨대, CPU)에 의해 실행될 수 있다.
테스트 장치(100)는 케이스 생성기(case generator, 110), 테스트 수행부(test operator, 115), 및 옵티마이저(optimizer, 160)를 포함할 수 있다. 테스트 장치(100)는 외부(예컨대, 사용자)로부터 테스트 장치(100)의 동작에 필요한 기본 정보를 포함하는 입력 데이터(input data)를 입력받아 동작할 수 있다. 상기 입력 데이터는 후술할 동작 조건들에 대한 정보, 동작 조건들 각각이 가변될 수 있는 범위, 오브젝션 함수(objection function), 및 최적화 케이스 결정 횟수(p) 중 적어도 하나의 정보를 포함할 수 있다.
또한, 테스트 장치(100)는 외부(예컨대, 사용자)로 테스트 동작의 결과물인 출력 데이터(output data)를 출력할 수 있다. 상기 출력 데이터는 후술할 테스트 결과, 모델링된 테스트 결과, 최적화 케이스들, 및 최종적인 최적화 케이스 중 적어도 하나의 정보를 포함할 수 있다.
케이스 생성기(110)는 복수의 케이스들을 생성하여 테스트 수행부(115)에 제공할 수 있다. 상기 복수의 케이스들 각각은 복수의 반도체 메모리 장치들(50)을 구동하기 위한 동작 조건들에 대한 정보를 포함할 수 있다. 상기 동작 조건들은 기준 전압(reference voltage), 프로그램 전압(program voltage), 리드 전압(read voltage), 패스 전압(pass voltage), 소거 전압(erase voltage) 등의 전압값 및 시간값에 해당하는 조건들을 포함한다.
케이스 생성기(110)는 테스트 동작이 시작되면 제1 세대에 해당하는 복수의 케이스들을 랜덤(random)하게 생성할 수 있다. 상기 랜덤하게 생성된다는 의미는 각 케이스에 포함된 동작 조건들 각각은 사용자에 의해 미리 설정된 범위 내에서 랜덤한 값을 갖게 된다는 의미이다. 예컨대, 제1 세대에 해당하는 복수의 케이스들 중 제1 케이스에 포함된 리드 전압은 케이스 생성기(110)에 의해 미리 설정된 범위인 0.5V ~ 2.0V 내에서 랜덤한 값인 1.6V를 갖게 될 수 있다.
케이스 생성기(110)는 테스트 동작이 수행되는 동안 옵티마이저(160)로부터 이전 세대의 최적화 케이스들을 입력받아 랜덤화 방법(randomizing method)을 이용해 시험 케이스들을 생성할 수 있다. 상기 랜덤화 방법은 이전 세대의 최적화 케이스들을 기초로 이전 세대의 최적화 케이스들 각각과는 다른 시험 케이스들을 생성하는 방법으로, 본 명세서에서는 상기 랜덤화 방법으로서 도 5와 도 6을 참조해 돌연변이(mutation) 과정과 재조합(recombination) 과정을 예시적으로 설명하나 본 발명의 범위는 이에 한정되지 않는다. 상기 이전 세대의 최적화 케이스들과 새로이 생성되는 시험 케이스들은 다음 세대에 해당하는 복수의 케이스들로서 테스트 수행부(115)에 제공될 수 있다. 예컨대, 케이스 생성기(110)가 제1 세대에 해당하는 복수의 케이스들 중 최적화 케이스들을 입력받아 시험 케이스들을 생성한 경우 상기 최적화 케이스들과 상기 시험 케이스들이 제2 세대에 해당하는 복수의 케이스들로서 테스트 수행부(115)에 제공될 수 있다. 여기서, 상기 제1 세대와 상기 제2 세대는 상대적인 개념이며, 케이스 생성기(110)가 제공하는 복수의 케이스들의 세대는 어느 세대를 기준으로 설정하느냐에 따라 달라질 수 있다.
케이스 생성기(110)가 수행하는 돌연변이 과정과 재조합 과정은 도 5와 도 6을 참조하여 후술하기로 한다.
테스트 수행부(115)는 케이스 생성기(110)로부터 제공된 각 세대에 해당하는 복수의 케이스들 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 테스트 결과 및 모델링된 테스트 결과를 생성할 수 있다. 테스트 수행부(115)는 UIB 맵퍼(Universal Internal Bus mapper, 120), 테스트 프로그램 생성기(test program generator, 130), 테스트 컨트롤러(test controller, 140), 및 결과 분석기(result analyzer, 150)를 포함할 수 있다.
UIB 맵퍼(120)는 케이스 생성기(110)로부터 제공된 각 세대에 해당하는 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB 정보에 매핑(mapping)시킬 수 있다. 상기 UIB 정보는 반도체 메모리 장치(50)에서 인식할 수 있는 정보(예컨대, UIB address와 UIB value)를 말한다. UIB 맵퍼(120)는 상기 동작 조건에 해당하는 항목(예컨대, 리드 전압)과 구체적인 수치(예컨대, 1.6V)를 해당 UIB 정보에 매핑시켜 반도체 메모리 장치(50)가 상기 동작 조건에서 동작할 수 있게 한다.
테스트 프로그램 생성기(130)는 UIB 맵퍼(120)에 의해 매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램을 생성할 수 있다. 즉, 테스트 프로그램 생성기(130)는 상기 매핑된 동작 조건들을 새로운 변수로 하여 상기 복수의 케이스들 각각에 대응하여 반도체 메모리 장치(50)의 테스트 동작을 수행할 수 있는 프로그램을 생성할 수 있다.
테스트 프로그램 생성기(130)는 상기 테스트 프로그램을 생성할 때, 상기 테스트 프로그램에 블락 무빙(block moving) 기능 및 블락 믹싱(block mixing) 기능을 포함시킬 수 있다. 상기 블락 무빙 기능 및 상기 블락 믹싱 기능에 대해서는 도 3, 도 7, 및 도 8을 참조하여 상세히 설명하기로 한다.
또한, 테스트 프로그램 생성기(130)는 상기 테스트 프로그램을 생성할 때, 상기 복수의 케이스들 중 현재 세대의 직전 세대의 최적화 케이스들에 대한 테스트 동작은 수행되지 않도록 할 수 있다. 이는 상기 최적화 케이스들에 대해서는 이미 이전 세대에서 테스트 동작이 수행되어 테스트 결과 또는 모델링된 테스트 결과를 결과 분석기(150)가 저장하고 있기 때문이다.
테스트 컨트롤러(140)는 테스트 프로그램 생성기(130)가 생성한 테스트 프로그램을 테스트 장치(100)에서 구동할 수 있도록 컴파일(compile)을 수행하고, 테스트 장치(100)의 복수의 반도체 메모리 장치들(50)에 대한 테스트 동작을 제어할 수 있다. 또한, 테스트 컨트롤러(140)는 상기 테스트 동작에 대한 결과를 추출할 수 있다. 즉, 테스트 컨트롤러(140)는 상기 테스트 프로그램에 따라 반도체 메모리 장치(50) 특히, 반도체 메모리 장치(50)에 포함된 메모리 블락에 대해 테스트를 수행할 수 있다.
또한, 테스트 컨트롤러(140)는 옵티마이저(160)가 제p 세대의 최적화 케이스를 최종적인 최적화 케이스로 출력하도록 제어할 수 있다. 상기 p는 임의의 양의 정수이며, 사용자에 의해 미리 결정(입력 데이터에 포함)될 수 있고 테스트 결과 또는 모델링된 테스트 결과를 기초로 자동적으로 결정될 수 있다. 또한, 상기 p는 테스트 프로그램 동작 중 수동적으로 또는 자동적으로 변경될 수 있다. 예컨대, p가 10으로 설정된 경우 테스트 컨트롤러(140)는 제10 세대에 해당하는 복수의 케이스들에 대한 모델링된 테스트 결과를 기초로 결정되는 최적화 케이스를 최종적인 최적화 케이스로 출력하도록 옵티마이저(160)를 제어할 수 있다.
결과 분석기(150)는 테스트 컨트롤러(140)로부터 제공받은 상기 테스트 동작에 대한 결과를 분석하여 데이터베이스화된 테스트 결과를 생성할 수 있다. 상기 테스트 결과는 각 메모리 셀 별 특성을 포함하는 각 다이(50) 별 특성, 및 복수의 다이들(50) 간의 특성 간의 편차 등의 특성 정보를 포함할 수 있다. 또한, 상기 각 다이 별 특성은 각 메모리 셀의 셀 산포(distribution) 특성, 워드 라인(word line) 당 페일(fail) 비트 수, 프로그래밍 시간 등의 특성 정보를 포함할 수 있다.
예컨대, 상기 셀 산포 특성이 좋을수록 반도체 메모리 장치(50)의 신뢰성이 높아지고, 다이들 간의 상기 셀 산포 특성 간의 편차가 작을수록 반도체 메모리 장치들(50)의 수율이 높아진다고 할 수 있다.
워드 라인(word line) 당 페일(fail) 비트 수(이하, FBWL)는 워드 라인 별로 페일(프로그램 데이터와 리드 데이터 간의 불일치)이 발생한 비트 개수를 말하며, 상기 FBWL 특성이 낮을수록 반도체 메모리 장치들(50)의 신뢰성이 높고 상기 다이들 간의 상기 FBWL 특성 간의 편차가 작을수록 반도체 메모리 장치들(50)의 수율이 높아진다고 할 수 있다.
프로그래밍 시간(이하, tPROG)는 각 메모리셀의 프로그램이 완료되는데 걸리는 시간을 말하며, 상기 tPROG 특성이 낮을수록 반도체 메모리 장치들(50)의 동작 속도가 높고 상기 다이들 간의 상기 tPROG 특성 간의 편차가 작을수록 반도체 메모리 장치들(50)의 수율이 높아진다고 할 수 있다. 결과 분석기(150)는 상기 테스트 결과를 각 특성 정보의 항목 별로 저장할 수 있고, 각 다이(50) 별로 복수의 특성 정보들을 저장할 수 있다. 결과 분석기(150)는 상기 테스트 결과를 외부(예컨대, 사용자)에 제공할 수 있다. 사용자는 상기 테스트 결과를 모니터링할 수 있으며, 테스트 장치(100)에 의한 최적화 케이스가 결정된 이후 상기 테스트 결과에 기초한 사후 분석을 통해 상기 최적화 케이스의 검증 및 수정을 수행할 수 있다.
결과 분석기(150)는 상기 테스트 결과에 오브젝션 함수(objection function)를 이용한 모델링(modeling)을 수행하여 모델링된 테스트 결과를 생성할 수 있다. 결과 분석기(150)는 상기 모델링된 테스트 결과를 옵티마이저(160) 또는 외부(예컨대, 사용자)에 제공할 수 있다. 상기 오브젝션 함수는 각 케이스 별(또는 각 특성 정보 별)로 상기 테스트 결과를 비교 가능한 수치로 변환하는 함수이며, 테스트 장치(100)가 수신하는 입력 데이터에 포함될 수 있다.
결과 분석기(150)에 의한 모델링된 테스트 결과의 생성 동작은 도 3, 도 9, 및 도 10을 참조하여 후술하기로 한다. UIB 맵퍼(120), 테스트 프로그램 생성기(130), 테스트 컨트롤러(140), 및 결과 분석기(150)에 의해 수행되는 각 세대에 해당하는 복수의 케이스들 각각에 대한 테스트 결과의 생성은 각 케이스 별로 순차적으로 그리고 순환적으로 진행될 수 있다. 즉, 제1 세대에 해당하는 10개의 케이스들을 UIB 맵퍼(120)가 제공받은 경우 제1 케이스에 대한 테스트 결과가 생성되고, 그 이후 제2 케이스 내지 제10 케이스에 대한 테스트 결과가 순차적으로 그리고 순환적으로 생성될 수 있다.
옵티마이저(160)는 상기 모델링된 테스트 결과를 기초로 각 세대에 해당하는 복수의 케이스들 중 최적화 케이스들을 결정할 수 있다. 옵티마이저(160)는 결정된 최적화 케이스들을 외부(예컨대, 사용자)에 제공할 수 있다. 옵티마이저(160)가 최적화 케이스들을 결정하는 상세한 동작은 도 4를 참조하여 후술하기로 한다.
옵티마이저(160)는 테스트 컨트롤러(140)의 제어에 따라 제p 세대에 해당하는 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 기초로 최적화 케이스들을 결정한 경우 상기 최적화 케이스들을 최종적인 최적화 케이스들로서 출력할 수 있다.
도 2는 도 1에 도시된 테스트 장치의 동작 방법을 설명하기 위한 흐름도이다. 도 3은 도 2에 도시된 모델링된 테스트 결과를 생성하는 단계를 상세히 나타낸 흐름도이다. 도 4는 도 2에 도시된 최적화 케이스들을 결정하는 단계를 상세히 나타낸 흐름도이다. 도 5는 도 2에 도시된 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 상세히 나타낸 흐름도이다. 도 6은 도 1에 도시된 케이스 생성기의 동작을 설명하기 위한 도면이다. 도 7은 시간에 따른 메모리 셀의 특성의 변화를 나타낸 도면이다. 도 8은 도 7에 도시된 메모리 셀의 특성의 변화를 이용한 테스트 프로그램 생성기의 동작을 설명하기 위한 도면이다. 도 9는 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 셀 산포에 대한 도면이다. 도 10은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 워드 라인 당 페일 비트수에 대한 도면이다. 도 11은 도 1에 도시된 결과 분석기의 동작을 설명하기 위한 복수의 다이들 간의 평균 특성 간 편차에 대한 도면이다.
도 1 내지 도 11을 참조하면, 테스트 장치(100)의 동작을 설명하기 위해 제1 세대는 옵티마이저(160)에 의해 적어도 1회 이상 최적화 케이스가 결정된 이후의 세대로 가정하고 설명하기로 한다.
테스트 수행부(115)는 제1 세대에 해당하는 복수의 케이스들 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 테스트 결과 및 모델링된 테스트 결과를 생성할 수 있다(S200).
S200 단계는 도 3에 도시된 S202 단계 내지 S208 단계를 포함할 수 있다.
UIB 맵퍼(120)는 상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB 정보에 매핑시킬 수 있다(S202).
테스트 프로그램 생성기(130)는 UIB 정보에 매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램을 생성할 수 있다(S204).
테스트 프로그램 생성기(130)는 상기 테스트 프로그램을 생성할 때, 상기 테스트 프로그램에 블락 무빙 기능 및 블락 믹싱 기능을 포함시킬 수 있다. 상기 블락 무빙 기능 및 블락 믹싱 기능은 각각 반도체 메모리 장치(50)에 포함된 메모리 셀의 노후화 특성 및 블락 편차(block variation)과 관련되어 있다.
도 7에 나타난 바와 같이 하나의 메모리 셀에 대한 테스트 동작이 수행될 때 A회(예컨대, 100회)까지 그리고 B회(예컨대, 10000회) 이후로는 셀(Cell) 특성이 좋지 못하다. 도 7에 표시된 테스트 횟수(number of test times)은 상기 하나의 메모리 셀에 대해 테스트 동작이 수행된 횟수를 의미한다. A와 B는 양의 정수이고 메모리 셀의 구조, 웨이퍼(10)의 공정 등에 의존하는 값으로 미리 테스트 장치(100) 내에 저장된 값일 수 있으며, 사용자에 의해 새로 입력되는 값으로 변경될 수 있다.
테스트 횟수가 A회 이후에서 B회까지를 정상 동작 구간(normal operating period)이라 정의하면, 정상 동작 구간에서 해당 메모리 셀의 테스트 동작이 이루어져야 정상적인 테스트 결과를 얻을 수 있다. 상기 정상 동작 구간이라 함은 열화 현상이 발생되지 않고 정상적인 테스트 결과를 얻을 수 있는 구간을 의미하며, 그 단위는 테스트 횟수일 수 있다. 테스트 횟수가 B회를 초과하게 되면 메모리 셀의 노후화 특성에 의해 정상적인 테스트 결과를 얻을 수 없다. 따라서, 정상 동작 구간에서 각 메모리 셀에 대한 테스트 동작이 이루어지도록 반도체 메모리 장치(50) 내에서 테스트의 대상이 되는 메모리 블록을 변경시켜줄 필요가 있으며, 이에 따라 메모리 블락이 변경되는 기능을 블락 무빙 기능이라 한다.
도 8에서와 같이 각 반도체 메모리 장치(50)에 포함된 메모리 셀 어레이(60)가 9개의 메모리 블록들(BLOCK1~BLOCK9)을 포함하고 동시에 테스트되는 메모리 블록이 3개가 필요하다고 가정한다.
메모리 블록들(BLOCK1~BLOCK9) 각각은 복수의 메모리 셀들(미도시)을 포함한다. 정상적인 테스트 결과를 얻기 위해서는 정상 동작 구간에서만 해당 메모리 셀에 대한 테스트 동작이 이루어져야 하므로 제1 메모리 블록 내지 제3 메모리 블록(BLCOK1~BLOCK3)에 대한 더미(dummy) 테스트 동작을 A회 실시한 이후 제1 메모리 블록 내지 제3 메모리 블록(BLCOK1~BLOCK3)에 대해 테스트 수행부(115)에 의한 테스트 동작이 이루어질 수 있다. 상기 더미 테스트 동작은 실제 테스트 수행부(115)에 의해 테스트가 이루어지는 것은 아니고 해당 메모리 셀을 정상 동작 구간에 진입시키기 위해 테스트 동작과 동일한 동작을 수회 반복하는 것을 의미한다.
제1 메모리 블록 내지 제3 메모리 블록(BLCOK1~BLOCK3)에 대한 정상적인 테스트 동작이 반복되어 정상 동작 구간을 벗어나는 경우 테스트 동작의 대상이 되는 메모리 블록을 제4 메모리 블록 내지 제6 메모리 블록(BLCOK4~BLOCK6)으로 변경할 수 있다. 실시예에 따라 총 테스트 시간을 단축시키기 위해 제1 메모리 블록 내지 제3 메모리 블록(BLCOK1~BLOCK3)에 대한 정상적인 테스트 동작 중에 제4 메모리 블록 내지 제6 메모리 블록(BLCOK4~BLOCK6)에 대한 더미 테스트 동작이 수행될 수 있다.
마찬가지로, 제4 메모리 블록 내지 제6 메모리 블록(BLCOK4~BLOCK6)에 대한 정상적인 테스트 동작이 반복되어 정상 동작 구간을 벗어나는 경우 테스트 동작의 대상이 되는 메모리 블록을 제7 메모리 블록 내지 제9 메모리 블록(BLCOK7~BLOCK9)으로 변경할 수 있다. 설명의 편의를 위해 9개의 메모리 블록만을 예로 들어 설명하였으나, 본 발명의 범위는 이에 한정되지 않는다.
또한, 각 반도체 메모리 장치(50)에 포함된 메모리 셀 어레이(60)는 예컨대 수 천 개의 메모리 블록들로 구성될 수 있고, 4 개의 블록 단위로 동시에 테스트 동작이 수행된다고 가정한다. 이 경우 수 천 개의 메모리 블록들 중 맨 위의 4 개의 블록부터 순차적으로 테스트 동작이 수행된다고 가정한다. 이 때, 하나의 메모리 셀 어레이(60) 내에서 상대적인 거리가 먼 메모리 블록들 간에는 셀 산포 특성 등의 특성 차이로 인한 블록 편차가 발생할 수 있다. 따라서, 맨 위의 4 개의 블록부터 순차적으로 테스트 동작이 수행된다면, 블록 편차에 의해 상기 4개의 블록과의 상대적인 거리가 먼 블록들(예컨대, 맨 아래의 4개의 블록)에 대한 테스트 결과와는 매우 상이한 테스트 결과를 얻게 될 수 있다. 따라서 글로벌한 최적의 동작 조건을 찾기 위해서 수 천 개의 메모리 블록들을 여러 영역들(하나의 영역은 위치적으로 서로 인접하는 메모리 블록들의 집합)로 나누어 상기 여러 영역들 각각에서 골고루 테스트될 메모리 블록을 선택할 수 있다. 예컨대, 4 개의 블록 단위로 동시에 테스트 동작이 수행될 경우 수 천 개의 메모리 블록들을 4 개의 영역으로 나누어 각 영역에서 4 개의 블록들이 선택될 수 있다. 이와 같이 블록 편차로 인한 부정확한 테스트 결과를 방지하기 위해 테스트 블록을 선택하는 동작을 블락 믹싱 기능이라 한다. 메모리 블록들을 나누는 방법과 각 영역에서 메모리 블록을 선택하는 방법은 다양하게 변형될 수 있다.
이러한 블락 무빙 기능과 블락 믹싱 기능이 구현될 수 있도록 테스트 프로그램 생성기(130)는 블락 무빙 또는 블락 믹싱이 필요한 해당 케이스에 대응하는 테스트 프로그램의 생성시 테스트의 대상이 되는 메모리 블록이 변경되도록 프로그래밍될 수 있다.
테스트 컨트롤러(140)는 상기 테스트 프로그램에 따라 적어도 하나 이상의 반도체 메모리 장치(50)에 포함된 메모리 블락들(예컨대, BLOCK1~BLOCK3)에 대해 테스트를 수행할 수 있다(S206).
결과 분석기(150)는 상기 테스트를 수행한 결과를 분석하여 상기 테스트 결과 및 모델링된 테스트 결과를 생성할 수 있다(S208).
도 9에 나타난 메모리 셀의 산포는 제1 케이스의 동작 조건에 따라 하나의 다이(50)를 테스트하여 나타난 산포라 가정하면, 상기 다이(50)와 상기 제1 케이스에 대응하는 테스트 결과는 상기 다이(50)의 산포 특성 정보들(P1~P3, depth1~depth3, D)을 포함한다.
결과 분석기(150)는 상기 다이(50)와 상기 제1 케이스에 대응시켜 상기 산포 특성 정보들(P1~P3, depth1~depth3, D)을 저장할 수 있다. 또한, 결과 분석기(150)는 상기 산포 특성 정보들(P1~P3, depth1~depth3, D)을 독립 변수로 하는 오브젝션 함수를 통해 상기 다이(50)와 상기 제1 케이스에 대응하는 비교 가능한 수치를 계산할 수 있다. 상기 비교 가능한 수치는 상기 다이(50)와 상기 제1 케이스에 대응하는 다이 별 평균 산포 특성을 의미한다.
도 11에는 각 다이 별 평균 특성마다의 다이 개수 즉, 복수의 다이들 간의 평균 특성 간 편차가 나타나 있고, 각 다이 별 평균 특성은 다이 별 평균 산포 특성, 다이 별 평균 FBWL 특성, 또는 다이 별 평균 tPROG 특성 등을 의미한다. 제2 편차(V2)는 제1 편차(V1)보다 특정 평균 특성에 많은 다이(50)가 몰려 있어 수율이 좋음을 의미한다.
도 11에 나타난 복수의 다이들 간의 평균 특성 간 편차가 평균 산포 특성 간 편차이고 제1 편차(V1)에 해당할 때, 결과 분석기(150)는 복수의 다이들(50)의 평균 산포 특성들과 제1 편차(V1)를 독립 변수로 하는 오브젝션 함수를 통해 상기 제1 케이스와 산포에 대응하는 비교 가능한 수치를 계산할 수 있다.
또한, 도 10에 나타난 FBWL 분포는 상기 제1 케이스의 동작 조건에 따라 하나의 다이(50)를 테스트하여 나타난 FBWL 분포라 가정하면, 결과 분석기(150)는 FBWL 분포의 특성 정보를 독립 변수로 하는 오브젝션 함수를 통해 상기 다이(50)와 상기 제1 케이스에 대응하는 비교 가능한 수치를 계산할 수 있다. 상기 비교 가능한 수치는 상기 다이(50)와 상기 제1 케이스에 대응하는 다이 별 평균 FBWL 특성을 의미한다.
도 11에 나타난 복수의 다이들 간의 평균 특성 간 편차가 평균 FBWL 특성 간 편차이고 제2 편차(V2)에 해당할 때, 결과 분석기(150)는 복수의 다이들(50)의 평균 FBWL 특성들과 제2 편차(V2)를 독립 변수로 하는 오브젝션 함수를 통해 상기 제1 케이스와 FBWL에 대응하는 비교 가능한 수치를 계산할 수 있다.
결과 분석기(150)는 상기 제1 케이스와 산포에 대응하는 비교 가능한 수치와 상기 제1 케이스와 FBWL에 대응하는 비교 가능한 수치를 독립 변수로 하는 오브젝션 함수를 통해 최종적으로 상기 제1 케이스에 대응하는 비교 가능한 수치를 계산할 수 있다.
여기서, 상기 제1 케이스에 대응하는 비교 가능한 수치는 산포와 FBWL 만을 고려하여 계산되었으나, 본 발명의 범위는 이에 한정되지 않는다. 결과 분석기(50)는 각 메모리 셀 별, 각 다이 별로 얻어진 테스트 결과를 오브젝션 함수를 통해 각 케이스에 대응하는 비교 가능한 수치 즉, 모델링된 테스트 결과로 모델링할 수 있다.
상기 오브젝션 함수는 임의의 함수로서 독립 변수마다 달리 설정될 수 있고, 종속 변수가 높을수록 또는 낮을수록 좋은 특성을 의미할 수 있도록 정의(define)될 수 있다.
옵티마이저(160)는 상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정할 수 있다(S210).
S210 단계는 도 4의 S212 단계와 S214 단계를 포함할 수 있다.
옵티마이저(160)는 제1 세대의 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스에 대응하는 모델링된 테스트 결과와 비교할 수 있다(S212). 각각의 모델링된 테스트 결과는 비교 가능한 수치(예컨대, 스칼라 값)를 의미하므로, 옵티마이저(160)는 각 케이스 간의 모델링된 테스트 결과를 비교할 수 있다.
옵티마이저(160)는 비교 결과에 따라 상기 최적화 케이스들을 결정할 수 있다(S214).
예컨대, 제1 세대에 해당하는 20 개의 케이스들이 존재하고, 상기 20 개의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들인 10 개의 최적화 케이스들과, 상기 10 개의 최적화 케이스들을 기초로 생성된 상기 10 개의 최적화 케이스들에 대응되는 10 개의 시험 케이스들을 포함한다고 가정한다.
옵티마이저(160)는 10 개의 최적화 케이스들 각각에 대한 모델링된 테스트 결과와 상기 10 개의 최적화 케이스들에 대응되는 10 개의 시험 케이스들 각각에 대한 모델링된 테스트 결과를 각각 비교하여 최적화 케이스들을 결정할 수 있다. 즉, 제1 케이스가 최적화 케이스이고 제11 케이스가 상기 제1 케이스를 기초로 생성된 시험 케이스인 경우 제1 케이스에 대한 모델링된 테스트 결과와 제11 케이스에 대한 모델링된 테스트 결과 중 보다 우수한 모델링된 테스트 결과를 갖는 케이스를 최적화 케이스로 결정할 수 있다.
또한, 옵티마이저(160)는 상기 제1 세대가 제p 세대에 해당할 경우, 테스트 컨트롤러(140)의 제어에 따라 상기 제1 세대에 해당하는 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 기초로 최적화 케이스들을 결정하여 상기 최적화 케이스들을 최종적인 최적화 케이스들로서 출력할 수 있다. 상기 p는 임의의 양의 정수이며, 사용자에 의해 미리 결정(입력 데이터에 포함)될 수 있고 테스트 결과(또는 모델링된 테스트 결과)를 기초로 자동적으로 결정될 수 있다.
케이스 생성기(110)는 상기 제1 세대에 해당하는 상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성할 수 있다(S220).
S220 단계는 도 5의 S222 단계와 S224 단계를 포함할 수 있다.
케이스 생성기(110)는 상기 제1 세대에 해당하는 상기 최적화 케이스들 중 제k 케이스를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성할 수 있다(S222). 상기 제1 세대에 해당하는 상기 최적화 케이스들은 도 6에 도시된 바와 같이 n개의 최적화 케이스들(case1~casen)을 포함한다고 가정한다. 상기 n은 2 이상의 정수이고,상기 k는 1 이상이고 상기 n 이하인 정수이다.
최적화 케이스들(case1~casen) 각각은 4개의 동작 조건을 포함한다고 가정한다. 상기 4개의 동작 조건은 설명의 편의를 위한 것이며, 본 발명의 범위는 이에 한정되지 않는다. 예컨대, 제1 케이스(case1)는 4개의 동작 조건(A1~D1)을 포함할 수 있고, 4개의 동작 조건(A1~D1)은 각각 프로그램 전압, 리드 전압, 패스 전압, 소거 전압에 대응하는 전압값 및 시간 값일 수 있다.
제k 케이스(casek)에 대응하는 중간 케이스(M-casek)는 최적화 케이스들(case1~casen) 중 제k 케이스(casek)를 제외한 적어도 하나 이상의 케이스들을 기초로 돌연변이 과정을 통해 생성될 수 있다. 예컨대, 제1 케이스(case1)에 대응하는 중간 케이스(M-case1)는 제2 케이스 내지 제4 케이스(case2~case4)를 기초로 생성될 수 있다.
상기 돌연변이 과정은, 제1 케이스(case1)가 4개의 로우(row)과 1개의 컬럼(column)을 가진 벡터에 대응된다고 할때, 제2 케이스 내지 제4 케이스(case2~case4)에 대응하는 벡터끼리의 연산으로 구현될 수 있다. 상기 연산은 동작 조건들 각각이 사용자에 의해 미리 설정된 범위 내에서 가질 수 있는 값을 벗어나지 않는 한 자유로이 결정될 수 있다.
케이스 생성기(110)는 제k 케이스(casek)에 대응하는 중간 케이스(M-casek)와 상기 제k 케이스(casek)를 재조합하여 시험 케이스(T-casek)를 생성할 수 있다(S224).
중간 케이스(M-casek)와 제k 케이스(casek)를 재조합하는 동작은 재조합 과정으로 정의될 수 있으며, 상기 재조합 과정은 중간 케이스(M-casek)에 포함된 동작 조건들 중 일부와 제k 케이스(casek)에 포함된 동작 조건들 중 일부를 재조합하여 새로운 케이스를 생성하는 동작일 수 있다.
예컨대, 제1 케이스(case1)에 대응하는 시험 케이스(T-case1)는 제1 케이스(case1)에 포함된 동작 조건들 중 일부(B1, D1)와 제1 케이스(case1)에 대응하는 중간 케이스(M-case1)에 포함된 동작 조건들 중 일부(A1',C1')를 재조합하여 생성될 수 있다.
도 6에서는 각 시험 케이스(T-case1~T-casen)가 최적화 케이스들(case1~casen) 각각의 두번째 동작 조건(B1~Bn)과 네번째 동작 조건(D1~Dn) 및 중간 케이스들(M-case1~M-casen) 각각의 첫번째 동작 조건(A1'~An')과 세번째 동작 조건(C1'~Cn')을 재조합하여 생성되나, 본 발명의 범위는 이에 한정되지 않는다.
도 12는 도 1에 도시된 테스트 장치의 효과를 설명하기 위한 도면이다.
도 1 내지 도 12를 참조하면, 도 9에서 일반적인 테스트 동작시에 테스트되는 영역인 제1 커버리지(coverage1)와 본 발명의 실시예에 따른 테스트 장치(100)에 의한 테스트 동작 시에 테스트되는 영역인 제2 커버리지(coverage2)가 도시되어 있다.
제1 커버리지(coverage1)와 제2 커버리지(coverage2) 각각이 갖는 면적은 일반적인 테스트 동작 또는 테스트 장치(100)에 의한 테스트 동작 시에 테스트되는 케이스들의 범위에 상응한다. 제2 커버리지(coverage2)의 면적이 제1 커버리지(coverage1)의 면적보다 매우 크게 된다. 따라서, 보다 좁은 제1 커버리지(coverage1) 내에서 최적화 케이스로 결정된 제1 최적화 케이스(OP1)보다 보다 넓은 제2 커버리지(coverage2) 내에서 최적화 케이스로 결정된 제2 최적화 케이스(OP2)가 보다 좋은 테스트 결과를 가지게 된다.
반도체 메모리 장치(50)의 이상적인 동작 조건을 얻기 위해서는, 수십 개에 달하는 동작 조건들을 이용해 테스트가 필요한 케이스를 조합하면 거의 수십 조 개의 케이스들을 모두 테스트하여야 한다.
현실적으로 수십 조 개의 케이스들을 모두 테스트하는 것은 불가능하므로, 일반적인 테스트 동작시에는 엔지니어의 노하우에 의존해 수백 개 정도의 케이스들만이 선별되어 테스트되고 그 중에서 최적화 케이스가 결정된다. 수백 개 정도의 케이스들에 대응하는 케이스들의 범위는 제1 커버리지(coverage1)에 대응된다.
그러나, 테스트 장치(100)에 의한 테스트 동작시에는 케이스 생성기(100)가 돌연변이 과정과 재조합 과정을 통해 수십 조 개의 케이스들의 범위에서 랜덤하게 테스트될 케이스들이 정해질 수 있다. 수십 조 개의 케이스들에 대응되는 케이스들의 범위는 제2 커버리지(coverage2)에 대응된다.
또한, 옵티마이저(160)가 최적화 케이스와 시험 케이스 간의 모델링된 테스트 결과의 비교를 통해 테스트 결과가 우수한 케이스들만을 선별해 나가므로 다음 세대로 갈수록 테스트 결과가 우수한 케이스들만이 남게 된다. 이로써, 최적화 케이스들은 세대를 거듭할수록 자동적으로 수십 조 개의 케이스들 중 가장 우수한 테스트 결과를 갖는 케이스에 수렴하게 된다.
따라서, 본 발명의 실시예에 따른 테스트 장치(100)에 의하면, 랜덤하게 케이스들을 생성하고 우수한 테스트 결과를 갖는 케이스만을 선별해 나가므로 보다 광범위한 커버리지에서 높은 수율과 신뢰성을 갖는 최적화된 케이스를 추출할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 객체 정보 추정 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
웨이퍼(10)
UIB 맵퍼(120)
반도체 메모리 장치(50) 테스트 프로그램 생성기(130)
테스트 장치(100) 테스트 컨트롤러(140)
케이스 생성기(110) 결과 분석기(150)
테스트 수행부(115) 옵티마이저(160)
반도체 메모리 장치(50) 테스트 프로그램 생성기(130)
테스트 장치(100) 테스트 컨트롤러(140)
케이스 생성기(110) 결과 분석기(150)
테스트 수행부(115) 옵티마이저(160)
Claims (20)
- 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 단계;
상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 단계; 및
상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제1항에 있어서,
상기 제2 세대에 해당하는 상기 복수의 케이스들을 생성하는 단계는
상기 최적화 케이스들 중 제k 케이스(k는 1 이상이고 n 이하인 정수)를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성하는 단계; 및
상기 중간 케이스와 상기 제k 케이스를 재조합(recombination)하여 시험 케이스를 생성하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제2항에 있어서,
상기 제2 세대에 해당하는 상기 복수의 케이스들은 상기 최적화 케이스들 및 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스를 포함하는 반도체 메모리 장치의 테스트 방법. - 제1항에 있어서,
상기 테스트 결과를 생성하는 단계는
상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB(Universal Internal Bus) 정보에 매핑(mapping)시키는 단계;
매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램(test program)을 생성하는 단계;
상기 테스트 프로그램에 따라 상기 반도체 메모리 장치에 포함된 메모리 블록에 대해 테스트를 수행하는 단계; 및
상기 테스트를 수행한 결과를 분석하여 상기 모델링된 테스트 결과를 생성하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제4항에 있어서,
상기 테스트 프로그램을 생성하는 단계는
테스트의 대상이 되는 메모리 셀의 테스트 횟수가 정상 동작 구간을 벗어날 경우 테스트가 수행될 상기 메모리 블록을 다른 메모리 블록으로 변경하여 테스트가 수행되도록 상기 테스트 프로그램을 생성하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제1항에 있어서,
상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고,
상기 최적화 케이스들을 결정하는 단계는
상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하는 단계; 및
비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제1 세대에 해당하는 복수의 케이스들을 기초로 테스트를 수행한 결과인 모델링된 테스트 결과를 기초로 최적화 케이스들을 결정하는 단계; 및
상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 단계를 포함하며,
상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고,
상기 최적화 케이스들을 결정하는 단계는
상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하는 단계; 및
비교 결과에 따라 상기 최적화 케이스들을 결정하는 단계를 포함하는 반도체 메모리 장치의 테스트 방법. - 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 테스트 수행부;
상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저; 및
상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제8항에 있어서,
상기 케이스 생성기는
상기 최적화 케이스들 중 제k 케이스(k는 1 이상이고 n 이하인 정수)를 제외한 적어도 하나 이상의 케이스들을 기초로 중간 케이스를 생성하고,
상기 중간 케이스와 상기 제k 케이스를 재조합(recombination)하여 시험 케이스를 생성하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제9항에 있어서,
상기 제2 세대에 해당하는 상기 복수의 케이스들은 상기 최적화 케이스들 및 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스를 포함하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제8항에 있어서,
상기 테스트 수행부는
상기 제1 세대에 해당하는 상기 복수의 케이스들 각각에 포함되는 동작 조건들을 UIB(Universal Internal Bus) 정보에 매핑(mapping)시키는 UIB 맵퍼;
매핑된 동작 조건들을 이용해 상기 복수의 케이스들 각각에 대응하는 테스트 프로그램(test program)을 생성하는 테스트 프로그램 생성기;
상기 테스트 프로그램에 따라 상기 반도체 메모리 장치에 포함된 메모리 블록에 대해 테스트를 수행하는 테스트 컨트롤러; 및
상기 테스트를 수행한 결과를 분석하여 상기 모델링된 테스트 결과를 생성하는 결과 분석기를 포함하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제11항에 있어서,
상기 테스트 프로그램 생성기는
테스트의 대상이 되는 메모리 셀의 테스트 횟수가 정상 동작 구간을 벗어날 경우 테스트가 수행될 상기 메모리 블록을 다른 메모리 블록으로 변경하여 테스트가 수행되도록 상기 테스트 프로그램을 생성하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제8항에 있어서,
상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고,
상기 옵티마이저는
상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하고, 비교 결과에 따라 상기 최적화 케이스들을 결정하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제8항에 있어서,
상기 테스트 수행부는
상기 제1 세대에 해당하는 상기 복수의 케이스들 중 상기 제1 세대 이전에 생성된 케이스에 대한 테스트는 수행하지 않는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제8항에 있어서,
상기 모델링된 테스트 결과는 상기 반도체 메모리 장치의 산포 특성을 포함하는 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체. - 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 모델링된 테스트 결과를 생성하는 테스트 수행부;
상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저; 및
상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함하는 테스트 장치. - 제16항에 있어서,
상기 제1 세대에 해당하는 상기 복수의 케이스들은 상기 제1 세대의 직전 세대의 최적화 케이스들 및 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 시험 케이스를 포함하고,
상기 옵티마이저는
상기 직전 세대의 상기 최적화 케이스들에 대응하는 모델링된 테스트 결과를 상기 직전 세대의 상기 최적화 케이스들 각각에 대응하는 상기 시험 케이스에 대응하는 모델링된 테스트 결과와 비교하고, 비교 결과에 따라 상기 최적화 케이스들을 결정하는 테스트 장치. - 반도체 메모리 장치를 테스트하는 테스트 장치에 있어서,
입력 데이터에 기초한 테스트 프로그램을 실행하는 프로세서; 및
상기 테스트 프로그램의 실행에 의해 생성되는 출력 데이터를 저장하는 메모리를 포함하며,
상기 입력 데이터는 상기 반도체 메모리 장치의 동작 조건들에 대한 정보, 상기 동작 조건들 각각이 가변될 수 있는 범위, 오브젝션 함수(objection function), 및 최적화 케이스 결정 횟수 중 적어도 하나의 정보를 포함하는 테스트 장치. - 제18항에 있어서,
상기 출력 데이터는 테스트 결과, 모델링된 테스트 결과, 최적화 케이스들을 포함하는 테스트 장치. - 제19항에 있어서,
상기 테스트 프로그램은
상기 입력 데이터에 기초하여, 제1 세대에 해당하는 복수의 케이스들(cases) 각각에 따라 테스트를 수행하고, 상기 복수의 케이스들 각각에 대한 상기 테스트 결과 및 상기 모델링된 테스트 결과를 생성하는 테스트 수행부;
상기 모델링된 테스트 결과를 기초로 상기 복수의 케이스들 중 최적화 케이스들을 결정하는 옵티마이저; 및
상기 최적화 케이스들을 기초로 제2 세대에 해당하는 복수의 케이스들을 생성하는 케이스 생성기를 포함하는 테스트 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140039435A KR20150114795A (ko) | 2014-04-02 | 2014-04-02 | 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
US14/676,395 US9666304B2 (en) | 2014-04-02 | 2015-04-01 | Method of testing semiconductor memory device, test device, and computer readable recording medium for recording test program for semiconductor memory device |
TW104110721A TWI705451B (zh) | 2014-04-02 | 2015-04-01 | 測試半導體記憶裝置之方法、測試裝置、以及用於記錄供半導體記憶裝置用的測試程式之電腦可讀記錄媒體 |
CN201510154675.6A CN104979018B (zh) | 2014-04-02 | 2015-04-02 | 测试半导体存储器的方法 |
JP2015076190A JP2015198256A (ja) | 2014-04-02 | 2015-04-02 | 半導体メモリ装置のテスト方法、テスト装置、及び半導体メモリ装置のテストプログラムを保存するコンピュータで読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140039435A KR20150114795A (ko) | 2014-04-02 | 2014-04-02 | 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150114795A true KR20150114795A (ko) | 2015-10-13 |
Family
ID=54210334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140039435A KR20150114795A (ko) | 2014-04-02 | 2014-04-02 | 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9666304B2 (ko) |
JP (1) | JP2015198256A (ko) |
KR (1) | KR20150114795A (ko) |
CN (1) | CN104979018B (ko) |
TW (1) | TWI705451B (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI661297B (zh) * | 2017-11-30 | 2019-06-01 | 財團法人資訊工業策進會 | 監控系統及監控方法 |
JP7171286B2 (ja) * | 2018-07-20 | 2022-11-15 | ラピスセミコンダクタ株式会社 | 半導体メモリ装置 |
JP7112904B2 (ja) * | 2018-07-20 | 2022-08-04 | ラピスセミコンダクタ株式会社 | 半導体メモリのテスト方法 |
US11461623B2 (en) | 2018-10-18 | 2022-10-04 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and apparatus for defect-tolerant memory-based artificial neural network |
US10910081B2 (en) * | 2018-12-17 | 2021-02-02 | Micron Technology, Inc. | Management of test resources to perform reliability testing of memory components |
US11101015B2 (en) | 2018-12-17 | 2021-08-24 | Micron Technology, Inc. | Multi-dimensional usage space testing of memory components |
CN111949525B (zh) * | 2020-08-04 | 2024-07-26 | 上海金仕达软件科技股份有限公司 | 基于ai的健壮性智能测试方法 |
CN115629296B (zh) * | 2022-12-07 | 2023-03-31 | 中科声龙科技发展(北京)有限公司 | 芯片测试方法、装置、设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001168160A (ja) | 1999-12-07 | 2001-06-22 | Sony Corp | 半導体ウェハの検査システム |
JP3555859B2 (ja) * | 2000-03-27 | 2004-08-18 | 広島日本電気株式会社 | 半導体生産システム及び半導体装置の生産方法 |
US8041541B2 (en) * | 2001-05-24 | 2011-10-18 | Test Advantage, Inc. | Methods and apparatus for data analysis |
US8017411B2 (en) | 2002-12-18 | 2011-09-13 | GlobalFoundries, Inc. | Dynamic adaptive sampling rate for model prediction |
US7010451B2 (en) | 2003-04-17 | 2006-03-07 | Micron Technology, Inc. | Dynamic creation and modification of wafer test maps during wafer testing |
JP2005291758A (ja) | 2004-03-31 | 2005-10-20 | Nec Electronics Corp | 半導体集積回路のテスト方法及び半導体集積回路のテストプログラム生成プログラム |
US8134681B2 (en) | 2006-02-17 | 2012-03-13 | Nikon Corporation | Adjustment method, substrate processing method, substrate processing apparatus, exposure apparatus, inspection apparatus, measurement and/or inspection system, processing apparatus, computer system, program and information recording medium |
US7941590B2 (en) * | 2006-11-06 | 2011-05-10 | Marvell World Trade Ltd. | Adaptive read and write systems and methods for memory cells |
US7665048B2 (en) | 2006-12-18 | 2010-02-16 | Cadence Design Systems, Inc. | Method and system for inspection optimization in design and production of integrated circuits |
KR100809340B1 (ko) * | 2007-01-15 | 2008-03-07 | 삼성전자주식회사 | 반도체 집적 회로 장치의 불량 분석 방법 및 시스템 |
KR100893157B1 (ko) | 2007-04-27 | 2009-04-16 | 삼성전자주식회사 | 반도체 디바이스의 불량 분석 방법 및 불량 분석 시스템 |
US7676775B2 (en) * | 2007-05-29 | 2010-03-09 | International Business Machines Corporation | Method to determine the root causes of failure patterns by using spatial correlation of tester data |
JP5193112B2 (ja) | 2009-03-31 | 2013-05-08 | 東レエンジニアリング株式会社 | 半導体ウエーハ外観検査装置の検査条件データ生成方法及び検査システム |
-
2014
- 2014-04-02 KR KR1020140039435A patent/KR20150114795A/ko not_active Application Discontinuation
-
2015
- 2015-04-01 TW TW104110721A patent/TWI705451B/zh active
- 2015-04-01 US US14/676,395 patent/US9666304B2/en active Active
- 2015-04-02 JP JP2015076190A patent/JP2015198256A/ja active Pending
- 2015-04-02 CN CN201510154675.6A patent/CN104979018B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104979018A (zh) | 2015-10-14 |
TWI705451B (zh) | 2020-09-21 |
US20150287476A1 (en) | 2015-10-08 |
US9666304B2 (en) | 2017-05-30 |
JP2015198256A (ja) | 2015-11-09 |
CN104979018B (zh) | 2019-11-15 |
TW201603038A (zh) | 2016-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150114795A (ko) | 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 | |
KR102353405B1 (ko) | 특성 데이터 전처리 시스템, 장치, 방법 및 이를 이용한 메모리 제어 시스템 | |
US20220198111A1 (en) | Device for generating verification vector for circuit design verification, circuit design system, and reinforcement learning method of the device and the circuit design system | |
KR102604320B1 (ko) | 시뮬레이션 모델 보정 시스템 및 방법 | |
JP2021526674A (ja) | 多量子ビット回路における周波数割り当て | |
US10678980B2 (en) | Combination map based composite design | |
KR20130134610A (ko) | 반도체 메모리 장치 및 그것의 테스트 방법 | |
US20160350450A1 (en) | Combination map based composite design | |
US20170103154A1 (en) | Circuit design method and simulation method based on process variation caused by aging | |
CN104969083A (zh) | 用于动态扫描调度的系统和方法 | |
US20100162185A1 (en) | Electronic circuit design | |
CN109522679B (zh) | 基于分类处理的功能激励向量生成方法及系统 | |
JP4871194B2 (ja) | パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体 | |
US11669773B2 (en) | Electronic devices generating verification vector for verifying semiconductor circuit and methods of operating the same | |
US8676547B2 (en) | Parameter extraction method | |
US20170220726A1 (en) | Method and system for performing a design space exploration of a circuit | |
US8301431B2 (en) | Apparatus and method for accelerating simulations and designing integrated circuits and other systems | |
US10481992B1 (en) | Optimization of flash storage | |
US10331823B2 (en) | Method and system of fast nested-loop circuit verification for process and environmental variation and hierarchical circuits | |
US7970591B1 (en) | Using impedance (Z) parameters to augment circuit simulation | |
US20190258566A1 (en) | Method for automatically generating search heuristics and performing method of concolic testing using automatically generated search heuristics | |
US9411919B2 (en) | Method and apparatus for bitcell modeling | |
US9958495B2 (en) | Computing device executing program performing method of analyzing power noise in semiconductor device, semiconductor device design method, and program storage medium storing program | |
CN117369422B (zh) | 一种控制器出厂参数校准方法、参数校准装置及存储介质 | |
US20240037307A1 (en) | Semiconductor device simulation system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |