KR20210109085A - 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치 - Google Patents

메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치 Download PDF

Info

Publication number
KR20210109085A
KR20210109085A KR1020200023607A KR20200023607A KR20210109085A KR 20210109085 A KR20210109085 A KR 20210109085A KR 1020200023607 A KR1020200023607 A KR 1020200023607A KR 20200023607 A KR20200023607 A KR 20200023607A KR 20210109085 A KR20210109085 A KR 20210109085A
Authority
KR
South Korea
Prior art keywords
pattern
test
memory cells
memory
write
Prior art date
Application number
KR1020200023607A
Other languages
English (en)
Inventor
이정혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200023607A priority Critical patent/KR20210109085A/ko
Priority to US17/035,917 priority patent/US11367501B2/en
Priority to CN202110213741.8A priority patent/CN113312229A/zh
Publication of KR20210109085A publication Critical patent/KR20210109085A/ko
Priority to US17/827,845 priority patent/US11600353B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명에 따른 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 테스트 방법은 복수의 메모리 셀들에 기입될 제1 테스트 패턴을 생성하는 단계, 제1 테스트 패턴을 복수의 메모리 셀들에 기입하는 제1 패턴 기입 동작을 수행하는 단계, 제1 테스트 패턴이 기입된 복수의 메모리 셀들로부터 제1 데이터를 읽는 단계, 제1 데이터를 기반으로 제2 테스트 패턴을 생성하는 단계, 및 제2 테스트 패턴을 복수의 메모리 셀들에 기입하는 제2 패턴 기입 동작을 수행하는 단계를 포함한다. 제2 테스트 패턴은, 제2 패턴 기입 동작 도중에, 복수의 메모리 셀들 중 쓰기 불량이 발생한 불량 셀들에 대한 기입 동작이 생략되도록 생성된다.

Description

메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치{TEST OPERATION FOR MEMORY DEVICE, OPERATION METHOD OF TEST DEVICE TESTING MEMORY DEVICE, AND MEMORY DEVICE WITH SELF-TEST FUNCTION}
본 발명은 반도체 메모리에 관한 것으로, 좀 더 상세하게는 메모리 장치의 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치에 관한 것이다.
반도체 메모리는 SRAM, DRAM 등과 같이 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 휘발성 메모리 장치 및 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같이 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 불휘발성 메모리 장치로 구분된다.
메모리 장치에서는, 다양한 요인들에 의한 불량이 발생할 수 있다. 메모리 장치의 제조 과정에서 발생한 불량들은 메모리 장치에 대한 테스트 과정에서 검출되고, 검출된 불량들은 복구될 수 있다. 이 때, 메모리 장치에 대한 다양한 불량들, 예를 들어, 메모리 셀의 쓰기 불량은 확률적으로 발생할 수 있기 때문에, 메모리 장치에 대한 테스트 과정에서, 다수의 메모리 셀들에서 동시에 쓰기 불량이 발생하지 않는다면, 메모리 장치가 정상인 것으로 판별되고, 이에 따라 메모리 장치가 실제 사용되는 경우에서, 예측하지 못한 불량이 발생할 수 있다.
본 발명의 목적은 향상된 신뢰성 및 정확성을 갖는 메모리 장치에 대한 테스트 방법, 테스트 장치의 동작 방법, 및 셀프 테스트를 수행하도록 구성된 메모리 장치를 제공하는데 있다.
본 발명의 실시 예에 따른 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 테스트 방법은 상기 복수의 메모리 셀들에 기입될 제1 테스트 패턴을 생성하는 단계, 상기 제1 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제1 패턴 기입 동작을 수행하는 단계, 상기 제1 테스트 패턴이 기입된 상기 복수의 메모리 셀들로부터 제1 데이터를 읽는 단계, 상기 제1 데이터를 기반으로 제2 테스트 패턴을 생성하는 단계, 및 상기 제2 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제2 패턴 기입 동작을 수행하는 단계를 포함하고, 상기 제2 테스트 패턴은 상기 복수의 메모리 셀들 중 쓰기 불량이 발생한 불량 셀들에 불량 정보가 기입되도록 생성된다.
본 발명의 실시 예에 따른 복수의 메모리 셀들을 포함하는 메모리 장치를 테스트하도록 구성된 테스트 장치의 동작 방법은 제1 테스트 패턴을 생성하고, 상기 제1 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제1 패턴 기입 동작을 수행하는 단계, 상기 복수의 메모리 셀들로부터 제1 데이터를 읽는 단계, 상기 제1 데이터를 기반으로 제2 테스트 패턴을 생성하고, 상기 제2 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제2 패턴 기입 동작을 수행하는 단계, 상기 복수의 메모리 셀들로부터 제2 데이터를 읽는 단계, 및 상기 제2 데이터를 기반으로 제3 테스트 패턴을 생성하고, 상기 제3 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제3 패턴 기입 동작을 수행하는 단계를 포함하고, 상기 제2 테스트 패턴은 상기 복수의 메모리 셀들 중 상기 제1 패턴 기입 동작에서 쓰기 불량이 발생한 적어도 하나의 제1 불량 셀에 대하여, 상기 제2 패턴 기입 동작동안 불량 정보가 기입되도록 생성되고, 상기 제3 테스트 패턴은 상기 복수의 메모리 셀들 중 상기 제2 패턴 기입 동작에서 쓰기 불량이 발생한 적어도 하나의 제2 불량 셀 및 상기 적어도 하나의 제1 불량 셀에 대하여, 상기 제3 패턴 기입 동작 동안불량 정보가 기입되도록 생성된다.
본 발명의 실시 예에 따른 셀프-테스트 기능을 구비한 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들에 대한 쓰기 동작 및 읽기 동작을 수행하도록 구성된 구동 회로, 및 외부 장치의 제어에 따라 셀프-테스트를 수행하도록 구성된 빌트-인-셀트-테스트(BIST; built-in-self-test) 로직을 포함하고, 상기 셀프-테스트시, 상기 BIST 로직은 상기 복수의 메모리 셀들에 대한 패턴 기입 동작을 반복 수행하도록 구성되고, 상기 BIST 로직은 상기 패턴 기입 동작의 상기 반복 각각에서, 상기 복수의 메모리 셀들 중 쓰기 불량이 발생한 메모리 셀들에 대한 기입 동작이 생략되도록 상기 구동 회로를 제어하도록 구성된다.
본 발명의 실시 예들에 따르면, 메모리 장치에 대하여, 특정 패턴을 반복 기입함으로써, 메모리 장치에 대한 쓰기 불량을 검출할 수 있다. 이 때, 특정 패턴은 이전 패턴 기입 동작에서 쓰기 불량으로 판별된 불량 셀들에 대한 기입 동작이 생략되도록 생성된다. 이에 따라, 패턴 기입 동작의 반복에서 적어도 1회 이상 또는 기준횟수 이상 불량 셀로 판별된 메모리 셀들에 대한 기입 동작이 생략되기 때문에, 불량 셀들은 불량 셀에 대한 정보를 자체적으로 유지할 수 있다. 즉, 하나의 패턴 기입 동작에서 다수의 메모리 셀들에서 쓰기 불량이 동시에 발생하지 않더라도, 쓰기 불량이 발생할 확률이 높은 셀들이 복수의 패턴 기입 동작을 통해 검출될 수 있기 때문에, 향상된 신뢰성을 갖는 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치가 제공된다.
도 1은 본 발명의 실시 예에 따른 메모리 테스트 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1의 메모리 장치를 예시적으로 보여주는 블록도이다.
도 3a 및 도 3b는 도 2의 메모리 셀 어레이에 포함된 메모리 셀을 설명하기 위한 도면들이다.
도 4는 도 1의 테스트 장치의 동작을 예시적으로 보여주는 순서도이다.
도 5는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다.
도 6은 도 5의 순서도에 따른 동작을 설명하기 위한 도면이다.
도 7는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다.
도 8은 도 7의 순서도에 따른 동작을 설명하기 위한 테이블이다.
도 9는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다.
도 10은 도 9의 순서도에 따른 동작을 설명하기 위한 도면이다.
도 11은 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다.
도 12는 도 11의 순서도에 따른 동작을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 테스트 장치의 동작을 예시적으로 보여주는 순서도이다.
도 14는 도 13의 순서도에 따른 동작을 설명하기 위한 도면이다.
도 15는 본 발명의 실시 예에 따른 메모리 장치를 예시적으로 보여주는 블록도이다.
도 16은 도 15의 메모리 장치의 동작을 예시적으로 보여주는 순서도이다.
도 17은 도 16의 순서도에 따른 동작을 설명하기 위한 도면이다.
도 18a 및 도 18b는 본 발명의 실시 예에 따른 테스트 동작을 설명하기 위한 예시적인 도면들이다.
도 19는 메모리 장치에 대한 리페어 동작을 설명하기 위한 예시적이 도면이다.
도 20은 메모리 장치에 대한 스크린 동작을 설명하기 위한 예시적인 도면이다.
도 21은 본 발명의 실시 예에 따른 테스트 시스템을 예시적으로 보여주는 블록도이다.
도 22는 본 발명의 실시 예에 따른 메모리 장치가 적용된 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 23은 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 24는 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
도 25는 본 발명에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 26은 본 발명의 실시 예에 따른 스토리지 시스템이 적용된 데이터 센터를 예시적으로 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 테스트 시스템을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 메모리 테스트 시스템(100)은 테스트 장치(110) 및 메모리 장치(120)를 포함할 수 있다. 예시적인 실시 예에서, 메모리 테스트 시스템(100)은 메모리 장치(120)의 제조 과정에서, 메모리 장치(120)의 불량을 검출하는데 사용될 수 있다.
테스트 장치(110)는 메모리 장치(120)의 불량을 검출하기 위한 테스트 동작을 수행할 수 있다. 예를 들어, 테스트 장치(110)는 메모리 장치(120)가 다양한 동작들(예를 들어, 쓰기 동작, 읽기 동작 등)을 정상적으로 수행하는지를 판별하기 위한 테스트 동작을 수행할 수 있다. 이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 테스트 장치(110)는 메모리 장치(120)의 쓰기 동작을 테스트하는 것으로 가정한다. 또한, 메모리 장치(120)는 MRAM(Magnetic Random Access Memory) 장치인 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 테스트 장치(110)는 메모리 장치(120)에서 발생하는 다양한 불량들을 검출하도록 구성될 수 있다. 메모리 장치(120)는 SRAM, DRAM, 플래시 메모리, PRAM, MRAM, RRAM, FRAM 등과 같은 다양한 메모리들로 구현될 수 있다.
테스트 장치(110)는 메모리 장치(120)의 쓰기 동작을 테스트하기 위해, 메모리 장치(120)를 제어하도록 구성될 수 있다. 예를 들어, 테스트 장치(110)는 메모리 장치(120)에 기입될 테스트 패턴을 생성하고, 생성된 테스트 패턴을 메모리 장치(120)에 기입할 수 있다. 테스트 장치(110)는 메모리 장치(120)에 기입된 테스트 패턴을 읽고, 읽은 테스트 패턴 및 원본 테스트 패턴을 비교함으로써, 메모리 장치(120)에서 발생한 페일 비트들을 판별할 수 있다. 발생한 페일 비트들의 개수가 기준 값을 초과하는 경우, 테스트 장치(120)는 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다.
예시적인 실시 예에서, 테스트 패턴은 메모리 장치(120)에 포함된 복수의 메모리 셀들의 쓰기 동작에 대한 불량 여부를 판별하는데 필요한 일련의 비트 스트림일 수 있다. 예시적인 실시 예에서, 기준 값은 메모리 장치(120) 또는 메모리 장치(120)를 제어하도록 구성된 메모리 컨트롤러(미도시)에 포함된 ECC(Error Correction Code) 엔진에 의해 정정 가능한 에러 비트의 개수를 가리킬 수 있다.
상술된 바와 같이, 테스트 장치(110)는 테스트 패턴을 메모리 장치(120)에 기입하고, 기입된 테스트 패턴을 확인하는 동작을 반복 수행함으로써, 메모리 장치(120)에서 발생하는 불량을 검출할 수 있다. 그러나, 메모리 장치(120)에 포함된 메모리 셀들 각각에서, 쓰기 불량은 확률적으로 발생할 수 있다. 즉, 메모리 장치(120)에 포함된 메모리 셀들 중 쓰기 불량이 발생할 확률이 높은 메모리 셀들이 다수 존재하더라도, 특정 개수 이상의 메모리 셀들에서 동시에 쓰기 불량이 발생할 확률은 상대적으로 낮아질 수 있다. 예를 들어, 테스트 과정에서, 쓰기 불량이 발생할 확률이 높은 메모리 셀들이 1회의 쓰기 동작이 아닌 복수의 쓰기 동작들에서 산발적으로 발생하는 경우, 메모리 장치(120)에 대한 쓰기 불량이 검출되지 않을 수 있다. 그러나 테스트 과정 이후의 메모리 장치(120)의 실제 구동 환경에서, 낮은 확률이나, 복수의 메모리 셀들에서 쓰기 불량이 동시에 발생할 수 있으며, 이 경우, 메모리 장치(120)의 신뢰성이 저하될 수 있다. 즉, 미리 정해진 테스트 패턴을 단순 반복 기입하여 수행되는 테스트 과정에서, 메모리 장치(120)에 대한 쓰기 불량 검출 정확성이 낮아질 수 있다.
본 발명의 실시 예에 따른 테스트 장치(110)는 패턴 생성기(111)를 포함할 수 있다. 패턴 생성기(111)는 이전 패턴 쓰기 동작의 결과를 기반으로 현재 패턴 쓰기 동작에서 사용될 테스트 패턴을 생성할 수 있다. 이 때, 패턴 생성기(111)는 이전 패턴 쓰기 동작의 결과에서, 쓰기 불량이 발생한 것으로 판별된 메모리 셀에 대한 쓰기 동작 또는 재-기입 동작이 생략되도록 또는 수행되지 않도록 테스트 패턴을 생성할 수 있다. 이 경우, 반복적인 패턴 기입 동작들 각각에서 쓰기 불량이 발생한 메모리 셀들의 위치가 메모리 장치(120)의 메모리 셀들(즉, 쓰기 불량 메모리 셀들) 내에 기록 또는 저장되기 때문에, 메모리 장치(120)에 대한 쓰기 불량 검출 정확도가 향상될 수 있다. 본 발명의 실시 예에 따른 테스트 장치(110) 및 패턴 생성기(111)의 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
도 2는 도 1의 메모리 장치를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 메모리 장치(120)는 메모리 셀 어레이(121), 어드레스 디코더(122), 쓰기 드라이버/감지 증폭기(123), 입출력 회로(124), 제어 로직 회로(125), 및 리페어 회로(126)를 포함할 수 있다.
메모리 셀 어레이(121)는 복수의 메모리 셀들(MC)을 포함할 수 있다. 복수의 메모리 셀들(MC)은 각각 워드라인들(WL), 비트라인들(BL), 및 소스라인들(SL)과 연결될 수 있다. 예시적인 실시 예에서, 복수의 메모리 셀들(MC) 각각은 MRAM(Magnetic Random Access Memory) 셀일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
어드레스 디코더(122)는 워드라인들(WL)을 통해 메모리 셀 어레이(121)와 연결될 수 있다. 어드레스 디코더(122)는 테스트 장치(110)(또는 외부 장치(예를 들어, 메모리 컨트롤러(미도시))로부터 어드레스(ADDR)를 수신하고, 수신된 어드레스(ADDR)를 디코딩할 수 있다. 어드레스 디코더(122)는 디코딩 결과를 기반으로 워드라인들(WL)의 전압을 각각 제어할 수 있다. 어드레스 디코더(122)는 디코딩 결과를 기반으로 열 선택 신호(CS)를 출력할 수 있다.
쓰기 드라이버/감지 증폭기(123)(이하에서, 설명의 편의를 위하여 "구동 회로(Driving Circuit)"라 칭함.)는 소스 라인들(SL) 및 비트라인들(BL)을 통해 메모리 셀 어레이(121)와 연결될 수 있다. 구동 회로(123)는 열 선택 신호(CS)에 응답하여, 소스라인들(SL) 및 비트라인들(BL)을 선택할 수 있다. 또는 구동 회로(123)는 소스 라인들(SL) 또는 비트라인들(BL)의 전압을 감지함으로써, 메모리 셀 어레이(121)에 포함된 복수의 메모리 셀들(MC)에 저장된 데이터를 읽을 수 있다.
입출력 회로(124)는 테스트 장치(110)(또는 외부 장치(예를 들어, 메모리 컨트롤러))로부터 입력 데이터(DIN)를 수신하고, 수신된 입력 데이터(DIN)를 구동 회로(123)로 전달할 수 있다. 예시적인 실시 예에서, 구동 회로(123)는 입력 데이터(DIN)를 기반으로 소스라인들(SL) 및 비트라인들(BL)의 전압을 제어함으로써, 메모리 셀 어레이(121)에 포함된 복수의 메모리 셀들(MC)에 입력 데이터(DIN)를 기입할 수 있다. 입출력 회로(124)는 구동 회로(123)로부터 출력 데이터(DOUT)를 수신하고, 수신된 출력 데이터(DOUT)를 테스트 장치(110) (또는 외부 장치(예를 들어, 메모리 컨트롤러))로 전달할 수 있다.
예시적인 실시 예에서, 테스트 장치(110)가 테스트 동작을 수행하는 동안, 입력 데이터(DIN)는 메모리 셀 어레이(121)의 메모리 셀들(MC)에 기입될 테스트 패턴을 가리킬 수 있고, 출력 데이터(DOUT)는 테스트 패턴이 기입된 메모리 셀들(MC)로부터 읽어진 데이터를 가리킬 수 있다.
제어 로직 회로(125)는 테스트 장치(110)(또는 외부 장치(예를 들어, 메모리 컨트롤러))로부터 커맨드(CMD) 또는 제어 신호(CTRL)를 수신하고, 수신된 신호들에 응답하여, 메모리 장치(120)의 동작을 제어할 수 있다. 예를 들어, 제어 로직 회로(125)는, 메모리 장치(120)의 쓰기 동작에서 구동 회로(123)가 쓰기 드라이버로 동작하고, 메모리 장치(120)의 읽기 동작에서 구동 회로(123)가 감지 증폭기로 동작하도록 구동 회로(123)를 제어할 수 있다.
리페어 로직(126)은 테스트 장치(110)의 제어에 따라, 불량이 발생한 메모리 셀들(MC)에 대한 리페어를 수행하도록 구성될 수 있다. 예를 들어, 리페어 로직(126)은, 테스트 장치(110)의 제어에 따라, 특정 워드라인(예를 들어, 불량 셀들과 연결된 워드라인)을 다른 워드라인(예를 들어, 예비 워드라인)으로 교체하도록 구성될 수 있다.
도 3a 및 도 3b는 도 2의 메모리 셀 어레이에 포함된 메모리 셀을 설명하기 위한 도면들이다. 이하에서, 본 발명의 기술적 특징을 용이하게 설명하기 위하여, 메모리 장치(120)의 쓰기 동작을 기준으로 본 발명의 실시 예들이 설명된다. 도 3a를 참조하여, 하나의 메모리 셀(MC)에 대한 예시적인 구조가 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예시적인 실시 예에서, 도 3b의 가로축은 메모리 셀(MC)의 가변 저항 소자(MTJ)의 저항을 가리키고, 세로축은 확률을 가리킨다.
도 2, 도 3a, 및 도 3b를 참조하면, 메모리 셀(MC)은 가변 저항 소자(MTJ) 및 선택 트랜지스터(SEL)를 포함할 수 있다. 가변 저항 소자(MTJ)는 자기 터널 접합(magnetic tunnel junction)으로 구현될 수 있다. 가변 저항 소자(MTJ)는 비트라인(BL) 및 선택 트랜지스터(SEL) 사이에 연결될 수 있다. 선택 트랜지스터(SEL)는 가변 저항 소자(MTJ) 및 소스라인(SL) 사이에 연결되고, 워드라인(WL)의 전압에 응답하여 동작할 수 있다.
예시적인 실시 예에서, 메모리 장치(120)는 메모리 셀들(MC)의 저항 값을 조절함으로써, 메모리 셀들(MC)에 데이터를 기입할 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 가변 저항 소자(MTJ)는 자유층(FRL), 장벽층(BRL), 및 고정층(FXL)을 포함할 수 있다. 장벽층(BRL)은 자유층(FRL) 및 고정층(FXL) 사이에 위치하고, 자유층(FRL)은 비트라인(BL)과 연결되고, 고정층(FXL)은 선택 트랜지스터(SEL)와 연결될 수 있다. 고정층(FXL)의 자화 방향은 특정 방향으로 고정될 수 있고, 자유층(FRL)의 자화 방향은 특정 조건(예를 들어, 쓰기 전류의 방향)에 따라 변경될 수 있다. 예시적인 실시 예에서, 가변 저항 소자(MTJ)는 고정층(FXL)의 자화 방향을 고정시키기 위한 반강자성층(anti-ferromagnetic layer)을 더 포함할 수도 있다.
예시적인 실시 예에서, 자유층(FRL)은 변화 가능한 자화 방향을 갖는 물질을 포함할 수 있다. 자유층(FRL)의 자화 방향은 메모리 셀의 외부 또는 내부에서 제공되는 전기적 또는 자기적 요인에 의해 변경될 수 있다. 자유층(FRL)은 코발트(Co), 철(Fe) 및 니켈(Ni) 중 적어도 하나를 포함하는 강자성 물질을 포함할 수 있다. 예를 들어, 자유층(FRL)은 FeB, Fe, Co, Ni, Gd, Dy, CoFe, NiFe, MnAs, MnBi, MnSb, CrO2, MnOFe2O3, FeOFe2O3, NiOFe2O3,CuOFe2O3, MgOFe2O3, EuO 및 Y3Fe5O12 중 선택된 적어도 하나를 포함할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
예시적인 실시 예에서, 장벽층(BRL)의 두께는 스핀 확산 길이(spin diffusion distance) 보다 얇을 수 있다. 장벽층(BRL)은 비자성 물질을 포함할 수 있다. 일 예로서, 장벽층(BRL)은 마그네슘(Mg), 티타늄(Ti), 알루미늄(Al), 마그네슘-아연(MgZn) 및 마그네슘-붕소(MgB)의 산화물, 그리고 티타늄(Ti) 및 바나듐(V)의 질화물 중 선택된 적어도 하나를 포함할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
예시적인 실시 예에서, 고정층(FXL)은 반강자성층에 의해 고정된 자화 방향을 가질 수 있다. 고정층(FXL)은 강자성 물질(ferromagnetic material)을 포함할 수 있다. 예를 들어, 고정층(FXL)은 CoFeB, Fe, Co, Ni, Gd, Dy, CoFe, NiFe, MnAs, MnBi, MnSb, CrO2, MnOFe2O3, FeOFe2O3, NiOFe2O3, CuOFe2O3, MgOFe2O3, EuO 및 Y3Fe5O12중 선택된 적어도 하나를 포함할 수 있다. 예시적인 실시 예에서, 반강자성층은 반 강자성 물질(anti-ferromagnetic material)을 포함할 수 있다. 예를 들어, 반강자성층은 PtMn, IrMn, MnO, MnS, MnTe, MnF2, FeCl2, FeO, CoCl2, CoO, NiCl2, NiO 및 Cr에서 선택된 적어도 하나를 포함할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 상술된 가변 저항 소자(MTJ)의 구조, 물질, 또는 성분은 단순히 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 3a에 도시된 바와 같이, 가변 저항 소자(MTJ)를 통해 흐르는 전류(Iap, Ip)의 방향에 따라, 자유층(FRL)의 자화 방향이 바뀔 수 있다. 전류(Iap, Ip)는 선택 트랜지스터(SEL)가 워드라인(WL)의 전압에 의해 턴-온된 경우, 비트라인(BL) 및 소스라인(SL)의 전압을 제어함으로써, 생성될 수 있다.
도 3a에 도시된 반평형 전류(Iap)는 소스라인(WL)으로부터 비트라인(BL)의 방향으로 흐를 수 있다. 가변 저항 소자(MTJ)를 통해 반평형 전류(Iap)가 흐르는 경우, 자유층(FRL)의 자화 방향은 고정층(FXL)의 자화 방향과 반대가 될 수 있으며, 이러한 상태는 반-평형(Anti-Parallel) 상태라 불린다. 이와 반대로, 도 3a에 도시된 평형 전류(Ip)는 비트라인(BL)으로부터 소스라인(SL)으로 흐를 수 있다. 가변 저항 소자(MTJ)를 통해 평형 전류(Ip)가 흐르는 경우, 자유층(FRL)의 자화 방향은 고정층(FXL)의 자화 방향과 동일해질 수 있으며, 이러한 상태는 평형(Parallel) 상태라 불린다.
가변 저항 소자(MTJ)가 반-평형 상태인 경우, 가변 저항 소자(MTJ)는 도 3b에 도시된 바와 같이, 반-평형 저항(Rap)을 가질 수 있고, 가변 저항 소자(MTJ)가 평형 상태인 경우, 가변 저항 소자(MTJ)는 평형 저항(Rp)을 가질 수 있다. 즉, 가변 저항 소자(MTJ)의 저항 값에 따라 데이터가 메모리 셀(MC)에 저장될 수 있으며, 가변 저항 소자(MTJ)의 저항 값을 판독함으로써, 제1 메모리 셀(MC1)에 저장된 데이터(예를 들어, 비트 "1" 또는 비트 "0")를 독출할 수 있다.
예시적인 실시 예에서, 메모리 셀(MC), 가변 저항 소자(MTJ), 또는 다른 구조들의 PVT 변이 또는 다양한 요인으로 인하여, 메모리 셀(MC)에 데이터가 정상적으로 기입되지 않을 수 있다. 예를 들어, 메모리 셀(MC)에 비트 "1"이 기입되는 경우, 메모리 셀(MC)의 가변 저항 소자(MTJ)를 통해 반 평형 전류(Iap)가 흐르도록 제어될 것이다. 그러나, 메모리 셀(MC)의 다양한 요인으로 인하여, 가변 저항 소자(MTJ)를 통해 충분한 크기의 반 평형 전류(Iap)가 흐르지 않거나 또는 가변 저항 소자(MTJ)를 통해 충분한 크기의 반 평형 전류(Iap)가 흐르더라도 가변 저항 소자(MTJ)의 저항 값이 반평형 저항(Rap)이 되지 않을 수 있다. 이 경우, 메모리 셀(MC)로부터 독출되는 데이터는 비트 "0"일 수 있다. 마찬가지로, 메모리 셀(MC)에 비트 "0"이 기입되는 경우, 메모리 셀(MC)의 다양한 요인으로 인해, 가변 저항 소자(MTJ)가 평형 저항(Rp)을 갖지 못할 수 있다. 즉, 메모리 셀(MC)에 대한 쓰기 불량이 확률적으로 발생할 수 있다.
도 1의 테스트 장치(110)는 메모리 셀들(MC)에 대한 테스트 패턴을 기입하고, 확인하는 동작을 반복 수행함으로써, 메모리 셀들(MC) 중 불량 셀들을 검출하는 동작을 반복 수행하고, 검출된 불량 셀들의 개수에 따라 리페어 동작 또는 스크린 동작을 수행할 수 있다. 이하에서, 테스트 장치(110)의 동작이 좀 더 상세하게 설명된다.
도 4는 도 1의 테스트 장치의 동작을 예시적으로 보여주는 순서도이다. 도 1 및 도 4를 참조하면, S10 단계에서, 테스트 장치(10)는 메모리 장치(120)에 대한 패턴 기입 동작을 반복 수행할 수 있다. 예를 들어, 테스트 장치(10)는 메모리 장치(120)의 쓰기 불량을 테스트하기 위해, 패턴 기입 동작을 반복 수행할 수 있다. 예시적인 실시 예에서, 현재 패턴 기입 동작에서 사용되는 테스트 패턴은 이전 패턴 기입 동작의 결과를 기반으로 생성될 수 있다. 즉, 현재 패턴 기입 동작에서 사용되는 테스트 패턴은 이전 기입 동작의 결과를 기반으로 불량 셀들에 대한 기입 동작 또는 재기입 동작이 생략되도록 생성될 수 있다. S10 단계의 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
S11 단계에서, 테스트 장치(110)는 메모리 장치(120)로부터 불량 정보를 검출할 수 있다. 예를 들어, S10 단계의 반복 동작들에서, 적어도 1회 불량 셀인 것으로 판별된 특정 메모리 셀들에 대한 재기입 동작이 생략됨으로써, 특정 메모리 셀들이 불량 셀이라는 정보(즉, 불량 정보)가 특정 메모리 셀들 자체에 유지될 수 있다. 다시 말해서, 메모리 셀들(MC)에 비트 "1"이 정상적으로 기입되는지 판별하는 테스트 동작에서, S10 단계의 반복 동작이 수행된 경우, 반복 동작들 중 적어도 한번 이상 비트 "1"이 정상적으로 기입되지 않은 특정 메모리 셀들로부터 읽어진 데이터는 비트 "0"일 것이다. 즉, 메모리 셀들(MC) 자체로부터 특정 메모리 셀들이 불량 셀이라는 정보(즉, 불량 정보)가 검출될 수 있다. 이 경우, 별도의 ECC 동작 또는 별도의 불량 셀 정보를 저장하기 위한 저장 공간이 필요하지 않을 수 있다.
S12 단계에서, 테스트 장치(110)는 불량 정보를 기반으로 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다. 예를 들어, 메모리 장치(120)로부터 검출된 불량 정보를 기반으로 특정 단위(예를 들어, ECC 블록 단위, 데이터 워드 단위)에서 발생한 불량 셀들의 개수가 기준 값을 초과하는 경우, 테스트 장치(110)는 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다. 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작은 도 19 및 도 20을 참조하여 더욱 상세하게 설명된다.
도 5는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다. 도 6은 도 5의 순서도에 따른 동작을 설명하기 위한 도면이다. 설명의 편의를 위하여, 패턴 기입 동작은 메모리 장치(120)의 특정 워드라인(예를 들어, 제1 워드라인(WL1)과 연결된 8개의 메모리 셀들(MC1~MC8))에 대하여 수행되는 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 1회의 패턴 기입 동작은 복수의 메모리 셀들 또는 복수의 워드라인들 단위로 수행될 수 있다.
이하에서, 본 발명의 실시 예들을 명확하게 설명하기 위해, 테스트 장치(110)는 메모리 셀들(MC)의 가변 저항 소자(MTJ)가 평형 상태에서 반 평형 상태로 정상적으로 변경되는지(즉, 각 메모리 셀에 비트 "1"이 정상적으로 기입되는지)를 테스트하는 것으로 가정한다. 즉, 테스트 장치(110)에 의해 생성되는 초기 테스트 패턴(예를 들어, 기본 패턴)은 비트 "1"로 구성된 비트 스트림일 수 있다. 메모리 셀들(MC)에 테스트 패턴이 기입된 이후에, 메모리 셀들(MC)로부터 읽어진 값이 비트 "0"인 경우, 대응하는 메모리 셀들은 불량 셀일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 테스트 유형 또는 방식에 따라 초기 테스트 패턴은 다양한 형태(예를 들어, 비트 "0"으로 구성된 비트 스트림 또는 랜덤 패턴 등)로 구현될 수 있다. 예시적인 실시 예에서, 테스트 패턴의 크기 또는 길이는 미리 정해진 크기 또는 길이일 수 있다. 미리 정해진 크기 또는 길이는 ECC(Error Correction Code) 엔진에 의해 수행되는 에러 정정 동작의 단위(예를 들어, 데이터 워드, ECC 블록)일 수 있다. 또는 미리 정해진 크기 또는 길이는 워드라인 단위일 수 있다.
이하에서, 설명의 편의를 위하여, "테스트 패턴," "패턴," "데이터" 등의 용어들이 상호 교환적으로 사용된다. 이러한 용어들은 실시 예들의 맥락에 따라 동일한 의미를 갖거나 또는 서로 다른 의미를 가질 수 있으며, 각 용어들의 의미는 기재될 실시 예들의 맥락에 따라 이해될 것이다.
이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 불량 셀들에 대한 기입 동작 또는 재기입이 동작이 생략되는 것으로 본 발명의 실시 예들이 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 특정 메모리 셀에 대한 재-기입 동작이 생략되는 것은, 의도한 테스트 패턴을 기입하는 동작을 생략하는 것을 의미할 수 있다. 또는 특정 메모리 셀에 대한 재-기입 동작이 생략되는 것은, 특정 메모리 셀에 고의적으로/의도적으로 불량 정보를 기입하는 것을 의미할 수 있다. 예를 들어, [11111111]의 테스트 패턴에 대한 테스트 동작을 통해 읽어진 데이터가 [11110111]인 경우, 이후의 테스트 패턴은 [1111X111](또는 [11110111])로 설정될 수 있다. 이 경우, "1"의 비트 값과 대응되는 메모리 셀들은 비트 "1"이 정상적으로 기입되는지를 테스트하기 위한 정보를 기입할 수 있고, "0"의 비트 값 또는 "X"의 비트 값에 대응되는 메모리 셀들은 자체에서 발생한 불량 정보를 기입하도록 구성될 수 있다. 즉, 상술된 바와 같이, 특정 메모리 셀(즉, 불량 셀)에 대한 재-기입 동작이 생략되는 것은, 특정 메모리 셀에서 발생한 불량 정보를 특정 메모리 셀 자체에 의도적 또는 고의적으로 기입하는 것을 의미할 수 있다.
상술된 바와 같이, 특정 메모리 셀(즉, 불량 셀)에서 불량 정보를 유지시키기 위해, 특정 메모리 셀에 대한 재-기입 동작이 생략되거나 또는 특정 메모리 셀에 불량 정보가 의도적으로 기입되도록 테스트 패턴이 생성될 수 있다. 즉, 이하의 실시 예 및 도면에서 설명되는 "X"의 참조 기호는 대응하는 메모리 셀에 대한 불량 정보를 가리킬 수 있으며, 재-기입 동작이 생략되는 대신에, "X"의 참조 기호에 대응하는 메모리 셀들에 "X"의 참조 기호에 대응하는 비트 값(즉, 불량 정보)가 기입될 수 있다.
도 1, 도 4, 도 5, 및 도 6을 참조하면, S101 단계에서, 변수(k)가 "1"로 설정된다. 예시적인 실시 예에서, 변수(k)는 테스트 장치(110)의 패턴 기입 동작의 반복을 설명하기 위한 것이며, 본 발명의 범위를 제한하지 않음이 이해될 것이다.
S102 단계에서, 테스트 장치(110)는 제k 패턴을 생성할 수 있다. 예를 들어, 변수(k)는 "1"이므로, S102 단계에서, 테스트 장치(110)의 패턴 생성기(111)는 제1 패턴(즉, 기본 패턴)을 생성할 수 있다. 이 때, 앞서 설명된 바와 같이, 테스트 장치(110)는 메모리 장치(120)의 메모리 셀들(MC1~MC8)이 비트 "1"을 정상적으로 기입하는지 테스트하므로, 제1 패턴, 즉, 기본 패턴은 [11111111]의 값을 가질 수 있다.
S111 단계에서, 테스트 장치(110)는 메모리 장치(120)에 대한 제k 패턴 기입 동작을 수행할 수 있다. 예를 들어, 테스트 장치(110)는 생성된 제1 패턴, 즉, 기본 패턴 [11111111]을 메모리 장치(120)의 메모리 셀들(MC1~MC8)에 기입할 수 있다. 예시적인 실시 예에서, 테스트 장치(110)가 패턴을 메모리 셀들(MC1~MC8)에 기입하는 것은, 테스트 장치(110)가 패턴 및 쓰기 커맨드를 메모리 장치(120)로 전송하는 것; 및 메모리 장치(120)가 쓰기 커맨드에 응답하여 패턴을 대응하는 메모리 셀들(MC1~MC8)에 기입하는 것을 포함할 수 있다.
좀 더 상세한 예로서, 도 6에 도시된 바와 같이, 테스트 장치(110)는 메모리 장치(120)의 제1 워드라인(WL1)과 연결된 메모리 셀들(MC1~MC8)에 제1 패턴(PT1) [11111111]을 기입할 수 있다. 이 경우, 메모리 셀들(MC1~MC8)은 도 2 내지 도 3b를 참조하여 설명된 바와 같은 기입 동작(즉, 메모리 셀들(MC1~MC8) 각각으로 반-평형 전류(Iap)를 제공함)을 통해, 제1 패턴(PT1) [11111111]을 기입할 수 있다. 제1 패턴(PT1)이 메모리 셀들(MC1~MC8)에 기입된 이후에, 제5 메모리 셀(MC5)의 가변 저항 소자(MTJ)는 평형 상태일 수 있고, 나머지 메모리 셀들(MC1~MC4, MC6~MC8)의 가변 저항 소자(MJT)는 반-평형 상태일 수 있다. 즉, 제5 메모리 셀(MC5)에서 쓰기 불량(F)(write failure)이 발생할 수 있고, 나머지 메모리 셀들(MC1~MC4, MC6~MC8)은 정상적으로 비트 "1"을 기입할 수 있다.
이후에, S112 단계에서, 테스트 장치(110)는 메모리 장치(120)에 대한 읽기 동작을 수행할 수 있다. 예를 들어, 테스트 장치(110)는 제1 패턴이 기입된 메모리 셀들(MC1~MC8)에 기입된 데이터를 읽을 수 있다. 좀 더 상세한 예로서, 도 6에 도시된 바와 같이, 제1 패턴(PT1) [11111111]을 메모리 셀들(MC1~MC8)에 기입한 이후에, 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. 이 때, 제5 메모리 셀(MC5)에 대한 쓰기 불량이 발생하였으므로, 읽어진 데이터는 [11110111]일 수 있다.
이후에, S113 단계에서, 변수(k)가 최대인지 판별될 수 있다. 변수(k)가 최대가 아닌 경우, S114 단계에서, 변수(k)는 "1"만큼 증가한다. 이후에, S115 단계에서, 테스트 장치(110)는 읽은 데이터를 기반으로 제k 패턴을 생성할 수 있다. 이 때, 제k 패턴은 불량 셀에 대한 재-기입 동작이 수행되지 않도록 또는 생략되도록 생성될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 테스트 장치(110)의 패턴 생성기(111)는 읽은 데이터(예를 들어, [11110111])를 기반으로 제2 패턴(PT2)을 생성할 수 있다. 이 때, 제2 패턴(PT2)은 [1111X111]일 수 있다. 예시적인 실시 예에서, "X"의 참조기호는, 대응하는 메모리 셀에 대한 재-기입 동작이 생략되는 것을 강조하기 위한 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 도 6의 실시 예에서, "X"의 참조 기호는 비트 "0"으로 치환될 수 있다.즉, 이전 패턴 기입 동작에서, 제5 메모리 셀(MC5)에서 쓰기 불량이 발생하였으므로(즉, 제5 메모리 셀(MC5)이 불량 셀이므로), 제5 메모리 셀(MC5)에 대한 재기입 동작이 수행되지 않거나 또는 생략되도록, 제2 패턴(PT2)이 [1111X111]과 같이 생성될 수 있다.
이후에, 테스트 장치(110)는 S111 단계의 동작을 수행할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 테스트 장치(110)는 제2 패턴(PT2)을 제1 워드라인(WL1)가 연결된 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, 메모리 셀들(MC1~MC5)은 [11110111]의 값을 저장한 상태이며, 현재 비트 "1"이 정상적으로 기입되는지 테스트하는 도중이므로, 메모리 셀들(MC1~MC8)이 비트 "0"을 저장하도록, 메모리 셀들(MC1~MC8)에 대한 백-라이트(back-write)를 우선 수행하고, 이후에, 제2 패턴(PT2) [1111X111]이 메모리 셀들(MC1~MC8)에 기입될 수 있다. 예시적인 실시 예에서, 백-라이트 동작은 기본 패턴이 반전된 반전 패턴(예를 들어, 기본 패턴이 [11111111]인 경우, 반전 패턴은 [00000000]임.)을 메모리 셀들(MC1~MC8)에 기입하는 동작을 가리킬 수 있다. 이 때, 제2 패턴(PT2) [1111X111]에서, 제5 메모리 셀(MC5)에 대응하는 비트 값은 "X"이므로, 제5 메모리 셀(MC5)에 대한 백-라이트 동작 또는 기입 동작 또는 재-기입 동작은 생략(skip)될 수 있다. 즉, 제2 패턴(PT2)이 메모리 셀들(MC1~MC5)에 기입되는 경우, 이전 패턴 기입 동작에서 불량 셀로 판별된 메모리 셀(예를 들어, 제5 메모리 셀(MC5))에 대한 기입 동작 또는 재기입 동작은 생략될 수 있다. 이 경우, 제5 메모리 셀(MC5)은 평형 상태(즉, 비트 "0"과 대응되는 상태)를 유지할 것이다. 다시 말해서, 제5 메모리 셀(MC5)은 불량 셀임을 가리키는 불량 정보를 자체적으로 저장한 상태일 수 있다.
예시적인 실시 예에서, 제2 패턴(PT2) 기입 동작에서, 제3 메모리 셀(MC3)에 대한 쓰기 불량(F)이 발생할 수 있다. 이 경우, 앞서 설명된 바와 같이, 제3 메모리 셀(MC3)은 평형 상태(즉, 비트 "0"과 대응되는 상태)일 수 있다. 결과적으로, 제2 패턴 기입(PT2) 동작이 완료된 이후에, 메모리 셀들(MC1~MC8)로부터 읽어진 데이터는 [11010111]일 수 있다. 비록 도면에 도시되지는 않았으나, 이후의 패턴 기입 동작에서 사용되는 제3 패턴은 [11X1X111]일 수 있으며, 제3 패턴이 메모리 셀들(MC1~MC8)에 기입되는 경우, 이전 패턴 기입 동작에서 불량 셀로 판별된 제3 및 제5 메모리 셀들(MC3, MC5)에 대한 기입 동작이 생략될 수 있다.
S113 단계의 판별 결과가, 변수(k)가 최대임을 가리키는 경우(즉, 미리 정해진 횟수만큼 패턴 기입 동작의 반복이 완료된 경우), 테스트 장치(110)는 S12 단계(도 4 참조)의 동작을 수행할 수 있다.
즉, 상술된 패턴 기입 동작의 반복이 완료된 경우, 반복 동작 도중에 적어도 한번 불량 셀로 판별된 메모리 셀로부터 읽어진 비트 값은 비트 "0"일 것이다. 이 경우, 테스트 장치(110)는 미리 정해진 단위(예를 들어, ECC 블록 단위, 데이터 워드 단위 등)로 비트 "0"의 개수(즉, 불량 셀들의 개수)를 기준 값과 비교하고, 비트 "0"의 개수(즉, 불량 셀들의 개수)이 기준 값을 초과하는 경우, 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다.
테스트 장치(110)는 상술된 바와 같이, 이전 패턴 기입 동작의 결과를 기반으로 현재 패턴 기입 동작에서 사용될 테스트 패턴을 생성할 수 있다. 이 때, 생성된 테스트 패턴은 이전 패턴 기입 동작들에서 적어도 한번 불량 셀들로 판별된 메모리 셀들에 대한 기입 동작 또는 재기입 동작이 수행되지 않거나 또는 생략되도록 생성될 수 있다. 이 경우, 반복적인 패턴 기입 동작에서, 적어도 한번 불량 셀로 판별된 메모리 셀들은 불량 상태를 유지하거나 또는 불량 정보를 저장한 상태일 것이다. 따라서, 상술된 패턴 기입 동작들의 반복을 통해 특정 단위에서 쓰기 불량이 발생할 확률이 높은 메모리 셀들이 동시에 검출될 수 있기 때문에, 메모리 장치(120)의 쓰기 불량을 검출하는 테스트의 신뢰성이 향상될 수 있다.
도 7는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다. 도 8은 도 7의 순서도에 따른 동작을 설명하기 위한 테이블이다. 이하에서, 도면의 간결성 및 설명의 편의를 위하여, 테스트 장치(110)의 테스트 과정에서 사용되는 패턴(PT) 및 메모리 장치(120)로부터 읽어진 데이터를 중심으로 본 발명의 실시 예들이 설명된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 도 6을 참조하여 설명된 바와 유사하게, 패턴(PT)은 테스트 장치(110)에 의해 생성되고, 테스트 장치(110)는 생성된 패턴(PT)을 메모리 장치(120)에 기입하고, 메모리 장치(120)로부터 데이터를 읽을 수 있음이 이해될 것이다.
도 1, 도 4, 도 7, 및 도 8을 참조하면, 테스트 장치(110)는 S101 단계, S102 단계, S121 단계, 및 S122 단계를 수행할 수 있다. S101 단계 및 S102 단계는 도 5를 참조하여 설명되었고, S121 단계 및 S122 단계는 도 5의 S111 단계 및 S112 단계와 유사하므로, 이에 대한 상세한 설명은 생략된다.
S123 단계에서, 테스트 장치(110)는 S122 단계를 통해 읽은 데이터를 저장할 수 있다. 이후에, 테스트 장치(110)는 S124 단계 및 S125 단계를 수행할 수 있고, S124 단계 및 S125 단계는 도 5의 S113 단계 및 S114 단계와 유사하므로 이에 대한 상세한 설명은 생략된다.
S126 단계에서, 테스트 장치(110)는 저장된 데이터를 기반으로, 제k 패턴을 생성할 수 있다. 이 때, 제k 패턴은 특정 불량 셀들에 대한 재-기입이 생략되도록 생성될 수 있다. 이후에, 테스트 장치(110)는 S123 단계를 수행할 수 있다. 즉, 테스트 장치(110)는 미리 정해진 횟수만큼 패턴 기입 동작을 반복 수행할 수 있다.
예시적인 실시 예에서, 특정 불량 셀들은 패턴 기입 동작의 반복 수행 과정에서, 미리 정해진 횟수만큼 불량 셀들로 판별된 메모리 셀들을 가리킬 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 제1 패턴 기입 동작에서, 테스트 장치(110)는 제1 패턴(즉, 기본 패턴)으로서 [11111111]을 생성하고, 생성된 제1 패턴 [11111111]을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. 이 때, 읽어진 데이터는 [11110111]일 수 있다. 읽어진 데이터가 [11110111]인 것은 메모리 셀들(MC1~MC5) 중 제5 메모리 셀(MC5)에 대한 쓰기 불량이 발생했음을 의미할 수 있다. 제1 패턴 기입 동작의 결과로서 읽어진 데이터 [11110111]는 별도의 저장 회로에 저장될 수 있다.
이후에, 제2 패턴 기입 동작에서, 테스트 장치(110)는 저장된 데이터(즉, [11110111])을 기반으로, 제2 패턴으로서, [11111111]을 생성할 수 있다. 생성된 제2 패턴 [11111111]을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. 이 때, 읽어진 데이터는 [11111101]일 수 있다. 읽어진 데이터가 [11111101]인 것은 메모리 셀들(MC1~MC8) 중 제7 메모리 셀(MC7)에 대한 쓰기 불량이 발생했음을 의미할 수 있다. 제2 패턴 기입 동작의 결과로서 읽어진 데이터 [11111101]는 별도의 저장 회로에 저장될 수 있다.
이후에, 제3 패턴 기입 동작에서, 테스트 장치(110)는 저장된 데이터(즉, [11110111] 및 [11111101])을 기반으로, 제3 패턴으로서, [11111111]을 생성할 수 있다. 생성된 제3 패턴 [11111111]을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. 이 때, 읽어진 데이터는 [11110111]일 수 있다. 읽어진 데이터가 [11110111]인 것은 메모리 셀들(MC1~MC8) 중 제5 메모리 셀(MC5)에 대한 쓰기 불량이 발생했음을 의미할 수 있다. 제3 패턴 기입 동작의 결과로서 읽어진 데이터 [11110111]는 별도의 저장 회로에 저장될 수 있다.
이후에, 제4 패턴 기입 동작에서, 테스트 장치(110)는 저장된 데이터(즉, [11110111], [11111101], 및 [11110111])을 기반으로, 제4 패턴으로서, [1111X111]을 생성할 수 있다. 예를 들어, 테스트 장치(110)는, 저장된 데이터들을 기반으로, 이전 패턴 기입 동작들에서 제5 메모리 셀(MC5)에 대한 쓰기 불량이 2회 발생하였음을 확인할 수 있다. 이 경우, 테스트 장치(110)는 이후의 패턴 기입 동작에서, 제5 메모리 셀(MC5)에 대한 기입 동작이 생략되도록 제4 패턴, 즉, [1111X111]을 생성할 수 있다. 앞서 설명된 바와 같이, "X"의 참조 기호 혹은 비트 값은 대응하는 메모리 셀에 대한 기입 동작을 생략하는 것을 강조하기 위한 것이며, 비트 "0"의 값으로 치환될 수 있다.
테스트 장치(110)는 제4 패턴, 즉, [1111X111]을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, "X"와 대응되는 제5 메모리 셀(MC5)에 대한 기입 동작은 생략될 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. 읽어진 데이터는 [11110110]일 수 있다. 이 때, 제5 메모리 셀(MC5)에 대응하는 값이 비트 "0"인 것인 제5 메모리 셀(MC5)에 대한 기입 동작이 생략되었기 때문이고, 제8 메모리 셀(MC8)에 대응하는 값이 비트 "0"인 것은 제8 메모리 셀(MC8)에 대한 쓰기 불량이 발생했음을 가리킬 수 있다. 이는 기입된 제4 패턴 및 읽어진 데이터를 비교함으로써, 확인될 수 있다. 읽어진 데이터 [11110110]는 별도의 저장 회로에 저장될 수 있다.
이후에, 제5 패턴 기입 동작에서, 테스트 장치(110)는 저장된 데이터(즉, [11110111], [11111101], [11110111], 및 [11110110])을 기반으로, 제5 패턴으로서, [1111X111]을 생성할 수 있고, 생성된 제5 패턴을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있고, 읽어진 데이터는 [11110101]일 수 있다. 읽어진 데이터의 각 비트들의 의미는 앞서 설명된 바와 유사하므로, 이에 대한 상세한 설명은 생략된다.
이후에, 제6 패턴 기입 동작에서, 테스트 장치(110)는 저장된 데이터(즉, [11110111], [11111101], [11110111], [11110110], 및 [11110101])을 기반으로, 제6 패턴으로서, [1111X1X1]을 생성할 수 있다. 이 때, 앞서 설명된 바와 같이, 제5 및 제7 메모리 셀들(MC5, MC7)에 대응하는 비트 값들이 "X"인 것은, 이전 패턴 기입 동작에서, 제5 및 제7 메모리 셀들(MC5, MC7) 각각에서 발생한 쓰기 불량이 2회 이상이기 때문에, 제5 및 제7 메모리 셀들(MC5, MC7)에 대한 기입 동작을 생략하기 위한 것이다. 테스트 장치(110)는 제6 패턴을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있고, 읽어진 데이터는 [11110100]일 수 있다. 읽어진 데이터의 각 비트 값의 의미는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
테스트 장치(110)는 상술된 바와 같이, 이전 패턴 기입 동작의 결과들을 기반으로 현재 패턴 기입 동작을 위한 패턴을 생성할 수 있다. 좀 더 상세하게, 테스트 장치(110)는 이전 패턴 기입 동작의 결과들을 기반으로, 임계 횟수 이상의 쓰기 불량이 발생한 메모리 셀들에 대한 기입 동작이 생략되도록 현재 패턴 기입 동작에서 사용될 패턴을 생성할 수 있다. 예시적인 실시 예에서, 기입 동작이 생략될 메모리 셀들을 결정하는데 사용되는 임계 횟수는 다양한 조건에 따라 결정될 수 있다. 예를 들어, 임계 횟수는, 패턴 기입 동작의 반복 횟수, ECC 엔진의 에러 정정 능력, ECC 블록의 크기, 데이터 워드의 크기, 하나의 워드라인과 연결된 메모리 셀들의 개수 중 적어도 하나를 기반으로 결정될 수 있다.
비록 도면에 도시되지는 않았으나, 테스트 장치(110)는 이전 패턴 기입 동작의 결과들 중 특정 범위 내의 결과들을 기반으로, 현재 패턴 기입 동작에서 사용될 패턴을 생성할 수 있다. 예를 들어, 테스트 장치(110)가 메모리 셀들(MC1~MC8)에 대한 패턴 기입 동작을 n회 반복 수행하는 것으로 가정한다. 이 때, 테스트 장치(110)는 i번째 패턴 기입 동작부터 k-1번째 패턴 기입 동작의 결과를 기반으로 k번째 패턴 기입 동작을 위한 패턴을 생성할 수 있다. 즉, 테스트 장치(110)는 현재 패턴 기입 동작에서 사용될 패턴을 생성하는데 있어서, 이전 패턴 기입 동작의 결과들 중 특정 구간에 대한 결과들을 기반으로 패턴을 생성할 수 있다.
비록 도면에 도시되지는 않았으나, 테스트 장치(110)는 이전 패턴 기입 동작의 결과들을 기반으로 연속으로 미리 정해진 횟수만큼 쓰기 불량이 발생한 메모리 셀들에 대한 기입 동작이 생략되도록 패턴을 생성할 수 있다. 즉, 특정 메모리 셀에 대하여 연속으로 미리 정해진 횟수만큼 쓰기 불량이 발생한 것은 특정 메모리 셀에서 쓰기 불량이 발생할 확률이 매우 높음을 의미할 수 있다. 따라서, 테스트 장치(110)는 쓰기 발생 확률이 매우 높은 특정 메모리 셀들에 대한 기입 동작을 생략함으로써, 특정 메모리 셀들이 반복 패턴 기입 동작동안 불량 정보를 유지하도록 할 수 있다.
도 9는 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다. 도 10은 도 9의 순서도에 따른 동작을 설명하기 위한 도면이다. 도면의 간결성 및 설명의 편의를 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다.
도 1, 도 4, 도 9, 및 도 10을 참조하면, 테스트 장치(110)는 S101 단계, S102 단계, S131 단계 내지 S134 단계를 수행할 수 있다. S101 단계 및 S102 단계는 도 5를 참조하여 설명되었고, S131 단계 내지 S134 단계는 도 5의 S111 단계 내지 S114 단계와 유사하므로, 이에 대한 상세한 설명은 생략된다.
S135 단계에서, 테스트 장치(110)는 메모리 장치에 대한 프리-읽기 동작을 수행할 수 있다. 예를 들어, S132 단계의 읽기 동작은 패턴 기입이 완료된 직후에 수행되는 포스트-읽기 동작일 수 있고, S135 단계의 읽기 동작은 패턴 기입이 완료된 시점으로부터 소정의 시간이 경과한 이후의 프리-읽기 동작일 수 있다. 예시적인 실시 예에서, S132 단계 및 S135 단계의 읽기 결과들은 별도의 저장 회로에 임시 저장될 수 있다.
S136 단계에서, 테스트 장치(110)는 포스트-읽기 동작 및 프리-읽기 동작의 읽기 데이터를 기반으로, 제k 패턴을 생성할 수 있다. 이 때, 제k 패턴은 불량 셀에 대한 재-기입 동작이 생략되도록 생성될 수 있다.
예를 들어, 도 10에 도시된 바와 같이, 제1 패턴 기입 동작에서, 테스트 장치(110)는 제1 패턴(예를 들어, 기본 패턴)을 [11111111]로서 생성할 수 있다. 테스트 장치(110)는 생성된 제1 패턴 [11111111]을 메모리 장치(120)의 메모리 셀들(MC1~MC8)에 기입하고, 직후에, 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. (즉, 포스트-읽기 동작) 이 때, 읽어진 데이터는 [11110111]일 수 있으며, 이는 제5 메모리 셀(MC5)에 대한 쓰기 불량이 발생했음을 의미할 수 있다.
이후에, 제2 패턴 기입 동작에서, 테스트 장치(110)는 제2 패턴을 생성하기 전에, 메모리 셀들(MC1~MC8)로부터 데이터를 읽을 수 있다. (즉, 프리-읽기 동작) 이 때, 읽어진 데이터는 [11110110]일 수 있고, 이는 제5 및 제8 메모리 셀들(MC5, MC8)에서 쓰기 불량이 발생했음을 의미할 수 있다. 예시적인 실시 예에서, 포스트-읽기 동작을 통해 읽어진 데이터로부터 검출된 쓰기 불량은 쓰기 동작동안 또는 쓰기 동작 직후에 발생하는 직후 쓰기 불량(예를 들어, immediately write fail)을 의미할 수 있다. 반면에, 프리-읽기 동작을 통해 읽어진 데이터부터 검출된 쓰기 불량은 쓰기 동작 동안 또는 쓰기 동작 직후에는 쓰기 불량이 발생하지 않았으나, 시간이 경과함에 따라 발생하는 지연 쓰기 불량(예를 들어, delayed write fail)을 가리킬 수 있다. 즉, 제1 패턴 기입 동작의 포스트 읽기 동작의 데이터를 통해, 제5 메모리 셀(MC5)에 대한 직후 쓰기 불량이 발생하였음이 확인될 수 있고, 제2 패턴 기입 동작의 프리-읽기 동작의 데이터를 통헤, 제8 메모리 셀(MC8)에서 지연 쓰기 불량이 발생했음을 확인할 수 있다.
테스트 장치(110)는 이전 패턴 기입 동작의 포스트-읽기 동작의 결과(예를 들어, [11110111]) 및 현재 패턴 기입 동작의 프리-읽기 동작의 결과(예를 들어, [11110110])을 기반으로 제2 패턴을 [1111X11X]로 생성할 수 있다. 이 때, 제2 패턴 [1111X11X]은 쓰기 불량이 발생한 제5 및 제8 메모리 셀들(MC5, MC8)에 대한 재-기입 동작이 생략되도록 설정될 수 있다. 테스트 장치(110)는 생성된 제2 패턴 [1111X11X]을 메모리 셀들(MC1~MC8)에 기입하고, 메모리 셀들(MC1~MC8)에 대한 포스트-읽기 동작을 수행하여, [11110110]의 데이터를 읽을 수 있다.
이후에, 테스트 장치(110)는 상술된 바와 유사하게, 제3 패턴 기입 동작을 수행할 수 있다. 예를 들어, 테스트 장치(110)는 메모리 셀들(MC1~MC8)에 대한 프리-읽기 동작을 수행하여, [11010110]의 데이터를 읽을 수 있다. 이 때, [11010110]의 데이터는 제3 메모리 셀(MC3)에 대한 지연 쓰기 불량이 발생했음을 의미할 수 있다. 상술된 바와 유사하게, 테스트 장치(110)는 제3, 제5, 및 제8 메모리 셀들(MC3, MC5, MC8)에 대한 재-기입 동작이 생략되도록, 제3 패턴을 [11X1X11X]으로 생성하고, 생성된 패턴을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)에 대한 프리-읽기 동작을 수행하여, [10010110]의 데이터를 읽을 수 있다. [10010110]의 데이터는 제2 메모리 셀(MC2)에서 직후 쓰기 불량이 발생했음을 의미할 수 있다.
비록 도면에 도시되지는 않았으나, 테스트 장치(110)는 상술된 패턴 기입 동작을 반복 수행함으로써, 다양한 형태의 쓰기 불량들(예를 들어, 직후 쓰기 불량, 지연 쓰기 불량 등)이 발생한 메모리 셀들을 검출할 수 있고, 패턴 기입 동작에서, 쓰기 불량이 발생한 메모리 셀들에 대한 재-기입 동작을 생략할 수 있다.
도 11은 도 4의 S10 단계의 패턴 기입의 반복 동작을 예시적으로 보여주는 순서도이다. 도 12는 도 11의 순서도에 따른 동작을 설명하기 위한 도면이다. 도면의 간결성 및 설명의 편의를 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다.
도 1, 도 4, 도 11, 및 도 12를 참조하면, 테스트 장치(110)는 S101 단계, S102 단계, S141 단계 내지 S147 단계를 수행할 수 있다. S101 단계 및 S102 단계는 도 5를 참조하여 설명되었고, S143 단계 및 S147 단계에서, 읽기 결과를 저장하는 점만 제외하면, 도 5의 S111 단계 내지 S114 단계와 유사하므로, 이에 대한 상세한 설명은 생략된다.
S148 단계에서, 테스트 장치(110)는 포스트-읽기 동작의 저장된 결과들을 기반으로 제1 서브-패턴을 생성하고, 포스트-읽기 동작 및 프리-읽기 동작의 저장된 결과들을 기반으로, 제2 서브 패턴을 생성할 수 있다. 이후에, S149 단계에서, 테스트 장치(110)는 제1 및 제2 서브 패턴들을 기반으로 제k 패턴을 생성할 수 있다. 이후에, 테스트 장치(110)는 S141 단계로 진행할 수 있다.
예시적인 실시 예에서, 패턴을 생성하는 데 있어서, S148 단계 및 S149 단계를 통해, 쓰기 불량의 유형에 따라 다른 조건들이 반영될 수 있다. 예를 들어, 도 12에 도시된 바와 같이, 제1 패턴 기입 동작에서, 테스트 장치(110)는 제1 패턴(즉, 기본 패턴)을 [11111111]로 생성할 수 있고, 생성된 제1 패턴 [11111111]을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이후에, 테스트 장치(110)는 메모리 셀들(MC1~MC8)에 대한 포스트-읽기 동작을 수행하여, [11110111]의 데이터를 읽을 수 있다. 데이터의 비트 값들의 의미는 앞서 설명된 바와 유사하므로, 이에 대한 상세한 설명은 이하에서 생략된다.
이후에, 제2 패턴 기입 동작에서, 테스트 장치(110)는 메모리 셀들(MC1~MC8)에 대한 프리-읽기 동작을 수행하여, [1110110]의 데이터를 읽을 수 있다. 테스트 장치(110)는 이전 포스트-읽기 동작의 결과(즉, 제1 패턴 기입 동작에서의 포스트 읽기 결과, [11110111])을 기반으로 제1 서브 패턴 [1111X111]을 생성할 수 있다. 이 때, 제1 서브 패턴 [1111X111]은 이전 포스트 읽기 동작의 결과와 동일하거나 또는 유사할 수 있다. 즉, 제1 서브 패턴에서는, 이전 포스트 읽기 동작의 결과를 기반으로 불량 셀과 대응되는 비트 값이 "X"의 참조기호로 설정될 수 있다. 예시적인 실시 예에서, 제1 서브 패턴에서, "X"의 참조기호에 대응하는 메모리 셀들은 직후 쓰기 불량인 메모리 셀이거나 또는 이전 패턴 동작에서 재기입 동작이 생략된 메모리 셀일 수 있다.
테스트 장치(110)는 이전 패턴 기입 동작의 포스트-읽기 동작의 결과 및 현재 패턴 기입 동작의 프리-읽기 동작의 결과를 기반으로 제2 서브 패턴을 생성할 수 있다. 예를 들어, 제2 패턴 기입 동작에서, 이전 패턴 기입 동작(즉, 제1 패턴 기입 동작)의 포스트-읽기 동작의 결과는 [11110111]이고, 현재 패턴 기입 동작(즉, 제2 패턴 기입 동작)의 프리-읽기 동작의 결과는 [11110110]일 수 있다. 제2 서브 패턴은 각 결과들을 논리 연산(예를 들어, XNOR, 또는 XOR)함으로써, 생성될 수 있다. 상술된 예시에서, 제2 서브 패턴은 [1111111X]로 생성될 수 있다. 이는 제8 메모리 셀(MC8)에 대한 지연 쓰기 불량이 발생했음을 의미할 수 있다.
테스트 장치(110)는 제1 서브 패턴 및 제2 서브 패턴을 기반으로 현재 패턴 기입 동작에서 사용될 패턴을 생성할 수 있다. 예를 들어, 상술된 바와 같이 제1 서브 패턴은 직후 쓰기 불량이거나 또는 재기입이 생략된 메모리 셀들에 대한 정보를 포함할 수 있고, 제2 서브 패턴은 지연 쓰기 불량인 메모리 셀들에 대한 정보를 포함할 수 있다. 이 경우, 테스트 장치(110)는 직후 쓰기 불량에 대해서는, 상대적으로 작은 제1 기준 값을 적용하고, 지연 쓰기 불량에 대해서는, 상대적으로 큰 제2 기준 값을 적용할 수 있다.
설명의 편의를 위해 도 12의 실시 예에서, 제1 기준 값은 "1"이고, 제2 기준 값은 "2"인 경우로 가정한다. 이 경우, 제2 패턴 기입 동작에서, 제1 서브 패턴은 직후 쓰기 불량이 발생한 제5 메모리 셀(MC5)에 대한 정보를 포함하고, 제2 서브 패턴은 지연 쓰기 불량이 발생한 제8 메모리 셀(MC8)에 대한 정보를 포함한다. 이 때, 테스트 장치(110)는 직후 쓰기 불량이 1회 발생한 제5 메모리 셀(MC5)에 대한 재기입이 동작이 생략되도록, [1111X111]로 테스트 패턴을 생성할 수 있다. [1111X111]의 제2 패턴은 메모리 셀들(MC1~MC8)에 기입되고, 메모리 셀들(MC1~MC8)에 대한 포스트-읽기 동작을 통해 읽어진 데이터는 [11100111]일 수 있다.
이후에, 제3 패턴 기입 동작에서, 프리-읽기 동작을 통해 읽어진 데이터는 [11100110]일 수 있다. 이 경우, 앞서 설명된 바와 유하게, 제1 서브 패턴은 [1111XX11]이고, 제2 서브 패턴은 [1111111X]일 것이다. 이 때, 제1 서브 패턴을 통해 제4 및 제5 메모리 셀들(MC4, MC5)에 대한 직후 쓰기 불량이 발생하였거나 또는 재기입이 생략된 메모리 셀들임(즉, 쓰기 불량으로 결정된 셀들임)이 확인될 수 있다. 제2 서브 패턴들을 통해, 제8 메모리 셀(MC8)에 대한 지연 쓰기 불량이 2회 발생된 것이 확인될 수 있다. 이 경우, 테스트 장치(110)는 제4, 제5, 및 제8 메모리 셀들(MC4, MC5, MC8)에 대한 재기입 동작이 생략되도록, [111XX111X]로 제3 패턴을 생성할 수 있다. 생성된 제3 패턴은 메모리 셀들(MC1~MC8)에 기입되고, 메모리 셀들(MC1~MC8)에 대한 포스트-읽기 동작을 통해, [11100110]의 데이터가 읽어질 수 있다.
이후에, 제4 패턴 기입 동작에서, 프리-읽기 동작의 결과는 [11000110]일 수 있고, 제1 서브 패턴은 [111XX11X]이고, 제2 서브 패턴은 [11X1111]이고, 제4 패턴은 [111XX11X]이고, 포스트-읽기 동작의 결과는 [11100110]의 데이터일 수 있다. 각 패턴 및 비트 값들에 대한 기술적 의미는 앞서 설명된 바와 유사하므로, 이에 대한 상세한 설명은 생략된다.
상술된 실시 예들에서, 테스트 장치(110)는 미리 정해진 횟수만큼 패턴 기입 동작을 반복 수행하는 것으로 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 비록 도면에 도시되지는 않았으나, 테스트 장치(110)는 반복 동작을 수행하는 도중에, 불량 셀로 결정된 메모리 셀들의 개수가 기준 값을 초과하는 경우, 남은 반복 동작을 중단하고 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다.
상술된 바와 같이, 테스트 장치(110)는 테스트 패턴을 반복 기입하는 과정에서, 쓰기 불량의 유형에 따라 다른 조건(예를 들어, 발생 횟수에 대한 기준 값이 다름)을 적용하여 불량 셀들을 판별할 수 있다. 이 때, 테스트 장치(110)는 불량 셀들로 판별된 메모리 셀들에 대한 재-기입 동작이 생략되도록 테스트 패턴을 생성할 수 있다.
도 13은 본 발명의 실시 예에 따른 테스트 장치의 동작을 예시적으로 보여주는 순서도이다. 도 14는 도 13의 순서도에 따른 동작을 설명하기 위한 도면이다. 설명의 편의를 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다. 도 1, 도 13, 및 도 14를 참조하면, S210 단계에서, 테스트 장치(110)는 메모리 장치에 대한 패턴 기입 동작 및 불량 셀들의 위치를 저장하는 동작을 반복 수행할 수 있다.
S220 단계에서, 테스트 장치(110)는 불량 셀들에 대한 위치 정보를 기반으로 메모리 장치에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다.
예를 들어, 도 14에 도시된 바와 같이 테스트 장치(110)는 제1 기본 패턴 기입 동작을 통해, 기본 패턴(예를 들어, [11111111])을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, 제5 메모리 셀(MC5)에서 쓰기 불량이 발생할 수 있다. 테스트 장치(110)는 제5 메모리 셀(MC5)에서 쓰기 불량이 발생한 정보를 저장할 수 있다. 예를 들어, 테스트 장치(110)는 비트 맵(BM)의 제5 비트(B5)를 마킹함으로써, 제5 메모리 셀(MC5)에서 쓰기 불량이 발생한 정보를 기록할 수 있다. 이후에, 테스트 장치(110)는 제2 기본 패턴 기입 동작을 통해, 기본 패턴(예를 들어, [11111111])을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, 제3 메모리 셀(MC3)에서 쓰기 불량이 발생할 수 있다. 테스트 장치(110)는 비트 맵(BM)의 제3 비트(B3)를 마킹함으로써, 제3 메모리 셀(MC3)에서 쓰기 불량이 발생한 정보를 기록할 수 있다.
상술된 바와 같이, 테스트 장치(110)는 불량 셀에 대한 위치 정보를 별도의 비트맵(BM)에 저장할 수 있다. 이 경우, 불량 셀들이 동시에 발생하지 않더라도, 패턴 기입 동작의 반복에서 발생하는 불량 셀들의 위치가 누적될 수 있기 때문에, 쓰기 불량 검출에 대한 정확도가 향상될 수 있다.
도 15는 본 발명의 실시 예에 따른 메모리 장치를 예시적으로 보여주는 블록도이다. 도 15를 참조하면, 메모리 장치(220)는 메모리 셀 어레이(221), 어드레스 디코더(222), 구동 회로(223), 입출력 회로(224), 제어 로직 회로(225), 및 리페어 로직(226)을 포함할 수 있다. 입출력 회로(224)는 테스트 레지스터(227)를 포함할 수 있다. 메모리 셀 어레이(221), 어드레스 디코더(222), 구동 회로(223), 입출력 회로(224), 제어 로직 회로(225), 및 리페어 로직(226)은 도 2를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
도 1 내지 도 14를 참조하여 설명된 동작 방법은, 테스트 장치(110)가 불량 셀들에 대한 재기입 동작이 생략되도록 패턴 또는 테스트 패턴을 생성하는 실시 예가 설명되었다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 불량 셀에 대한 재기입 동작이 생략되도록 패턴을 생성하는 동작은 메모리 장치(220)에 의해 수행될 수 있다.
예를 들어, 테스트 레지스터(227)는 메모리 장치(220)에 대한 테스트 동작 동안 메모리 셀 어레이(221)로부터 읽어진 데이터를 임시 저장하도록 구성될 수 있다. 메모리 장치(220)는 테스트 장치(110)(도 1 참조)로부터 수신된 기본 패턴 및 테스트 레지스터(227)에 저장된 데이터를 조합하여, 패턴을 생성할 수 있다. 이 때, 생성된 패턴은 불량 셀에 대한 재-기입이 생략되도록 생성될 수 있다. 테스트 레지스터(227)를 사용한 메모리 장치(220)의 패턴 생성 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
도 16은 도 15의 메모리 장치의 동작을 예시적으로 보여주는 순서도이다. 도 17은 도 16의 순서도에 따른 동작을 설명하기 위한 도면이다. 도 1, 도 15 내지 도 17을 참조하면, S310 단계에서, 메모리 장치(220)는 테스트 장치(110)로부터 기본 패턴을 수신할 수 있다. 예시적인 실시 예에서, 기본 패턴은 테스트 장치(110)의 테스트 대상 또는 방식에 따라 다양하게 설정될 수 있다. 예를 들어, 앞서 설명된 바와 같이, 메모리 셀이 비트 "1"을 정상적으로 기입하는지 판별하기 위한 패턴은 비트 "1"로 구성된 비트 스트림(즉, all one 비트)일 수 있다.
S320 단계에서, 메모리 장치(220)는 기본 패턴 및 테스트 레지스터(227)를 기반으로 테스트 패턴을 생성할 수 있다. 예를 들어, 메모리 장치(220)는 테스트 장치(110)의 제어에 따라, 패턴 기입 동작을 반복 수행할 수 있다. 이 때, 테스트 레지스터(227)는 이전 패턴 기입 동작의 결과(즉, 페일 셀에 대한 정보가 포함된 데이터)를 저장하도록 구성될 수 있다. 메모리 장치(220)는 테스트 레지스터(227)에 저장된 이전 패턴 기입 동작의 결과 및 기본 패턴을 조합함으로써, 테스트 패턴을 생성할 수 있다. 이 때 생성된 테스트 패턴은 불량 셀에 대한 재-기입 동작이 생략되도록 생성될 수 있다.
S330 단계에서, 메모리 장치(220)는 테스트 패턴을 기반으로 쓰기 동작을 수행할 수 있다. 예시적인 실시 예에서, S320 단계를 통해 생성된 테스트 패턴은 불량 셀에 대한 재-기입 동작이 생략되도록 설정되었으므로, S330 단계의 쓰기 동작 동안, 불량 셀에 대한 재-기입 동작은 생략될 것이다.
S340 단계에서, 메모리 장치(220)는 읽기 동작을 수행하고, 읽기 동작의 결과를 테스트 레지스터(227)에 저장할 수 있다. 예시적인 실시 예에서, 테스트 레지스터(227)에 저장된 읽기 동작의 결과는 S330 단계의 쓰기 동작 및 이전의 쓰기 동작들에서 발생한 불량 셀에 대한 정보를 포함할 수 있다. 테스트 레지스터(227)에 저장된 읽기 동작의 결과는 다음 패턴 기입 동작을 위한 테스트 패턴을 생성하는데 사용될 수 있다.
예를 들어, 도 17에 도시된 바와 같이, ①의 동작에서, 메모리 장치(220)는 기본 패턴(예를 들어, [11111111])을 제1 워드라인(WL1)과 연결된 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, 제5 메모리 셀(MC5)에서 쓰기 불량이 발생할 수 있다. 이 경우, 메모리 셀들(MC1~MC8)로부터 읽어진 데이터는 [11110111])일 것이다. 이후에, ②의 동작에서, 메모리 장치(220)는 메모리 셀들(MC1~MC8)로부터 읽은 데이터, 즉, [11110111]을 테스트 레지스터(227)에 저장할 수 있다.
이후에, ③의 동작에서, 메모리 장치(220)는 테스트 장치(110)로부터 기본 패턴(즉, [11111111])을 수신할 수 있다. 이후에, ④의 동작에서, 메모리 장치(220)는 수신된 기본 패턴 및 테스트 레지스터(227)에 저장된 데이터(즉, [11110111])을 기반으로 테스트 패턴을 생성할 수 있다. 이 때, 테스트 레지스터(227)에 저장된 데이터는 제5 메모리 셀(MC5)에서 쓰기 불량이 발생했음을 가리키므로, 제5 메모리 셀(MC5)에 대한 재-기입 동작이 생략되도록 테스트 패턴이 생성될 수 있다. 즉, 생성된 테스트 패턴은 [1111X111]일 수 있다.
이후에, ⑤의 동작에서, 메모리 장치(220)는 테스트 패턴을 메모리 셀들(MC1~MC8)에 기입할 수 있다. 이 때, 테스트 패턴은 제5 메모리 셀(MC5)에 대한 재-기입 동작이 생략되도록 생성되었으므로, ⑤의 쓰기 동작동안, 제5 메모리 셀(MC5)(즉, 불량 셀)에 대한 재-기입 동작 또는 쓰기 동작은 생략될 것이다.
상술된 바와 같이, 본 발명의 실시 예에 따른 메모리 장치(220)는 별도의 테스트 레지스터(227)를 사용하여 불량 셀에 대한 정보를 저장하고, 메모리 장치(220)는 테스트 레지스터(227)를 사용하여, 불량 셀에 대한 재-기입 동작이 생략되도록 테스트 패턴을 생성할 수 있다.
예시적인 실시 예에서, 테스트 레지스터(227)는 메모리 장치(220)에서, 테스트 패턴을 생성하기 위한 전용 저장 회로일 수 있다. 또는, 비록 도면에 도시되지는 않았으나, 테스트 레지스터(227)는 메모리 장치(220)에서 읽기 동작 또는 쓰기 동작을 수행하는데 사용되는, 입출력 회로(224)에 포함된 읽기/쓰기용 레지스터일 수 있다.
도 18a 및 도 18b는 본 발명의 실시 예에 따른 테스트 동작을 설명하기 위한 예시적인 도면들이다. 설명의 편의를 위하여, 테스트 동작은 메모리 장치의 워드라인 단위로 수행되는 것으로 가정한다. 또한, 도면의 간결성을 위하여, 도 18a 및 도 18b에서는 메모리 장치의 워드라인들만 도시된다. 그러나 본 발명의 범위가 이이 한정되는 것은 아니다.
도 1, 도 18a, 및 도 18b를 참조하면, 테스트 장치(110)는 메모리 장치(120)의 제1 내지 제3 워드라인들(WL1~WL3)에 연결된 메모리 셀들에 대한 테스트를 수행할 수 있다. 이 때, 테스트 장치(110)는 도 18a에 도시된 바와 같이, 제1 워드라인(WL1)에 대한 패턴 기입 동작은 미리 정해진 횟수만큼 반복 수행할 수 있다. (①) 예시적인 실시 예에서, 패턴 기입 동작의 반복은 도 1 내지 도 17을 참조하여 설명된 바와 같은 동작 방법을 기반으로 수행될 수 있다.
이후에, 테스트 장치(110)는 제1 워드라인(WL1)에 대한 페일 셀들을 검사할 수 있다. (②) 예를 들어, 제1 워드라인(WL1)에 대한 패턴 기입 동작의 반복이 완료된 경우, 제1 워드라인(WL1)에 연결된 메모리 셀들 중 불량 셀들에는 기본 패턴의 값과 다른 값이 저장된 상태일 것이다. 테스트 장치(110)는 제1 워드라인(WL1)에 연결된 메모리 셀들로부터 데이터를 읽고, 기본 패턴과 다른 값을 갖는 셀들의 개수를 기반으로 불량 셀들의 개수를 결정할 수 있다. 예시적인 실시 예에서, 불량 셀들의 개수가 기준 값을 초과하는 경우, 테스트 장치(110)는 메모리 장치(120)에 대한 리페어 동작 또는 스크린 동작을 수행할 수 있다.
이후에, 테스트 장치(110)는 제2 워드라인(WL2)에 대한 패턴 기입 동작을 반복 수행할 수 있다. (③) 이후에, 테스트 장치(110)는 제2 워드라인(WL2)에 대한 불량 셀 검사를 수행할 수 있다. (④) 이후에, 테스트 장치(110)는 제3 워드라인(WL3)에 대한 패턴 기입 동작을 반복 수행할 수 있다. (⑤) 이후에, 테스트 장치(110)는 제3 워드라인(WL3)에 대한 불량 셀 검사를 수행할 수 있다. (⑥)
또는, 도 18b에 도시된 바와 같이, 테스트 장치(110)는 제1 내지 제3 워드라인들(WL1~WL3)에 대한 패턴 기입 동작의 반복을 순차적으로 수행할 수 있다. (①→②→③) 이후에, 테스트 장치(110)는 제1 내지 제3 워드라인들(WL1~WL3)에 대한 불량 셀 검사를 순차적으로 수행할 수 있다. (④→⑤→⑥) 상술된 테스트 동작의 순서는 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 19는 메모리 장치에 대한 리페어 동작을 설명하기 위한 예시적이 도면이다. 도 1, 도 2, 및 도 19를 참조하면, 테스트 장치(110)는 도 1 내지 도 18b를 참조하여 설명된 테스트 동작을 통해 미리 정해진 단위에서, 불량 셀들의 개수가 기준 값을 초과하는 경우, 메모리 장치(120)에 대한 리페어 동작을 수행할 수 있다.
예를 들어, 메모리 장치(120)의 메모리 셀 어레이(121)는 정상 영역(Normal Area) 및 예비 영역(Spare Area)을 포함할 수 있다. 정상 영역(Normal Area)은 복수의 워드라인들(WL1~WLn)을 포함할 수 있고, 예비 영역(Spare Area)은 복수의 예비 워드라인들(RWL1~RWLm)을 포함할 수 있다.
테스트 장치(110)는 정상 영역(Normal Area)에 대한 테스트 동작을 수행할 수 있다. 이 때, 제2 워드라인(WL2)과 연결된 메모리 셀들 중 불량 셀들의 개수가 기준 값을 초과할 수 있다. 이 경우, 테스트 장치(110)는 제2 워드라인(WL2)을 예비 영역(Spare Area)의 예비 워드라인들(RWL1~RWLm) 중 하나(예를 들어, RWL1)로 교체할 수 있다. 예시적인 실시 예에서, 워드라인을 교체하는 것은 특정 워드라인에 대한 어드레스가 인가된 경우, 특정 워드라인 대신에 교체된 워드라인이 액세스되도록 하는 것을 의미할 수 있다. 이러한 워드라인 교체는 리페어 로직(226)에 의해 수행될 수 있다. 즉, 테스트 장치(110)는 메모리 장치(120)의 리페어 로직(226)을 설정함으로써, 기준 값 이상의 불량 셀들이 검출된 워드라인(예를 들어, WL2)을 예비 영역(Spare Area)의 예비 워드라인(예를 들어, RWL1)으로 교체시킬 수 있다.
도 20은 메모리 장치에 대한 스크린 동작을 설명하기 위한 예시적인 도면이다. 도 1, 도 2, 및 도 20을 참조하면, 메모리 장치(120)는 반도체 웨이퍼(WF) 상에 형성될 수 있다. 즉, 반도체 웨이퍼(WF)는 복수의 반도체 칩들(CHIP)을 포함할 수 있고, 복수의 반도체 칩들(CHIP) 각각은 메모리 장치(120)일 수 있다.
테스트 장치(120)는 도 1 내지 도 18b를 참조하여 설명된 테스트 방법을 기반으로 반도체 웨이퍼(WF)에 포함된 복수의 반도체 칩들(CHIP)에 대한 테스트 동작을 수행할 수 있다. 이 때, 복수의 반도체 칩들(CHIP) 중 특정 반도체 칩에서 검출된 불량 셀들이 리페어 동작을 통해 치유될 수 없는 경우, 특정 반도체 칩을 스크린(SCREEN)시킴으로써, 특정 반도체 칩이 사용되지 않도록 할 수 있다. 예시적인 실시 예에서, 검출된 불량 셀들이 리페어 동작을 통해 치유될 수 없는 경우는, 기준 값 이상의 불량 셀들과 연결된 워드라인들의 개수가 예비 워드라인들의 개수보다 많은 경우, 불량 셀들이 컬럼 형태로 나타나는 경우, 또는 불량 셀들의 개수가 전체 메모리 셀들의 특정 비율 이상인 경우 등과 같은 다양한 조건들 중 적어도 하나를 포함할 수 있다.
도 21은 본 발명의 실시 예에 따른 테스트 시스템을 예시적으로 보여주는 블록도이다. 도 21을 참조하면, 테스트 시스템(300)은 테스트 장치(310) 및 메모리 장치(320)를 포함할 수 있다. 테스트 장치(310) 및 메모리 장치(320)는 도 1 내지 도 20을 참조하여 설명된 테스트 방법을 기반으로 동작할 수 있다.
테스트 장치(310)는 메모리 장치(320)로부터 읽은 데이터의 에러를 정정하도록 구성된 ECC 엔진(ECC1)을 포함할 수 있다. 또는 메모리 장치(320)는 메모리 셀들로부터 읽은 데이터의 에러를 정정하도록 구성된 ECC 엔진(ECC2)을 포함할 수 있다. 예시적인 실시 예에서, 도 1 내지 도 20을 참조하여 설명된 불량 셀들의 개수에 대한 기준 값은 상술된 ECC 엔진들(ECC1, ECC2)의 에러 정정 능력에 대응할 수 있다. 또는, 테스트 장치(310)는 불량 셀들의 개수를 판별하는 대신에, ECC 엔진들(ECC1, ECC2)을 사용하여, 읽은 데이터에 대한 에러가 정정 여부에 따라 리페어 동작 또는 스크린 동작을 수행할 수 있다.
도 22는 본 발명의 실시 예에 따른 메모리 장치가 적용된 메모리 시스템을 예시적으로 보여주는 블록도이다. 도 22를 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 장치(1200)를 포함할 수 있다. 메모리 컨트롤러(1100)는 메모리 장치(1200)에 데이터를 저장하거나 또는 메모리 장치(1200)에 저장된 데이터를 읽을 수 있다. 메모리 장치(1200)는 메모리 컨트롤러(1200)의 제어에 따라 동작할 수 있다.
메모리 컨트롤러(1100)는 메모리 장치(1200)로부터 읽은 데이터의 에러를 정정하도록 구성된 ECC 엔진(ECCa)을 포함할 수 있다. 또는, 메모리 장치(1200)는 메모리 셀들로부터 읽은 데이터의 에러를 정정하도록 구성된 ECC 엔진(ECCb)을 포함할 수 있다. 예시적인 실시 예에서, 도 1 내지 도 20을 참조하여 설명된 불량 셀들의 개수에 대한 기준 값은 상술된 ECC 엔진들(ECC1, ECC2)의 에러 정정 능력에 대응할 수 있다.
도 23은 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다. 도 23을 참조하면, 메모리 시스템(2000)은 메모리 컨트롤러(2100) 및 메모리 장치(2100)를 포함할 수 있다. 메모리 컨트롤러(2100) 및 메모리 장치(2100)는 도 22를 참조하여 설명된 바와 유사하므로 이에 대한 상세한 설명은 생략된다.
메모리 장치(2100)는 빌트-인-셀프 테스트 로직(BIST; Built-in-Self-Test Logic)을 포함할 수 있다. 빌트-인-셀프 테스트 로직(BIST)은 메모리 장치(2100)에 대한 자체 테스트를 수행하도록 구성될 수 있다. 예시적인 실시 예에서, 빌트-인-셀프 테스트 로직(BIST)은 도 1 내지 도 19를 참조하여 설명된 테스트 동작을 기반으로 메모리 장치(2200)에 대한 테스트를 수행할 수 있다. 즉, 빌트-인-셀프 테스트 로직(BIST)은 메모리 셀들에 대한 패턴 기입 동작을 반복 수행할 수 있고, 패턴 기입 동작을 반복 수행하는 동안, 불량 셀들에 대한 재-기입 동작이 생략되도록 테스트 패턴을 생성할 수 있다. 빌트-인-셀프 테스트 로직(BIST)은 패턴 기입 동작의 반복의 결과를 기반으로 리페어 동작을 수행할 수 있다.
빌트-인-셀프 테스트 로직(BIST)은 상술된 동작들을 수행하기 위해, 도 2를 참조하여 설명된 메모리 장치(120)의 다양한 구성 요소들을 제어하도록 구성될 수 있다. 예를 들어, 빌트-인-셀프 테스트 로직(BIST)은 테스트 패턴을 생성하고, 생성된 테스트 패턴이 메모리 셀들에 기입되도록 구동 회로(123)(도 2 참조)를 제어할 수 있다. 빌트-인-셀프 테스트 로직(BIST)은 메모리 셀들로부터 데이터를 읽도록 구동 회로(123)(도 2 참조)를 제어할 수 있다. 빌트-인-셀프 테스트 로직(BIST)은 읽은 데이터를 기반으로 다른 테스트 패턴을 생성하고, 생성된 테스트 패턴이 복수의 메모리 셀들에 기입되도록 구동 회로(123)를 제어할 수 있다.
예시적인 실시 예에서, 빌트-인-셀프 테스트 로직(BIST)은 이전 패턴 기입 동작의 결과를 기반으로 테스트 패턴을 생성하는 대신에, 불량 셀들에 대한 재-기입 동작이 생략되도록 구동 회로를 제어할 수 있다. 예를 들어, 빌트-인-셀프 테스트 로직(BIST)은 패턴-기입 동작시, 구동 회로(123)에 포함된 쓰기 드라이버들 중 불량 셀과 연결된 쓰기 드라이버를 비활성화시킴으로써, 불량 셀들에 대한 재-기입 동작이 수행되지 않도록 할 수 있다. 예시적인 실시 예에서, 빌트-인-셀프 테스트 로직(BIST)은 패턴-기입 동작시, 구동 회로(123)에 포함된 쓰기 드라이버들 중 불량 셀과 연결된 쓰기 드라이버가 불량 셀들에 불량 정보를 기입하도록 쓰기 드라이버들을 제어할 수 있다.
도 24는 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 24를 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리부(3100)(CPU; central processing unit), 메모리 모듈(3210), 및 메모리 장치(3220)를 포함할 수 있다. 메모리 모듈(3210)은 듀얼-인-라인 메모리 모듈(DIMM; dual in-line memory module)의 형태를 가질 수 있다. 메모리 장치(3220)는 도 1 내지 도 23을 참조하여 설명된 메모리 장치들 중 하나일 수 있다.
예시적인 실시 예에서, 메모리 모듈(3210)은 중앙 처리부(3100)의 캐쉬 기능 또는 버퍼 기능을 수행하도록 구성될 수 있다. 예시적인 실시 예에서, 메모리 장치(3220)는 중앙 처리부(3100)의 제어에 따라 데이터를 저장하도록 구성된 불휘발성 메모리 또는 스토리지로서 사용될 수 있다. 예시적인 실시 예에서, 메모리 장치(3220)는 MRAM 장치 또는 3D-Xpoint 메모리일 수 있다.
메모리 모듈(3210)은 제1 인터페이스(IF1)를 통해 중앙 처리 유닛(3100)과 통신할 수 있다. 메모리 장치(3220)는 제2 인터페이스(IF2)를 통해 중앙 처리 유닛(3100)과 통신할 수 있다. 예시적인 실시 예에서, 제1 및 제2 인터페이스들(IF1, IF2)은 서로 동일한 타입 또는 동일한 표준에 의해 정의된 인터페이스일 수 있다. 또는, 제1 및 제2 인터페이스들(IF1, IF2)은 서로 다른 타입의 인터페이스일 수 있다. 예시적인 실시 예에서, 제1 인터페이스(IF1)는 DDR 인터페이스일 수 있고, 제2 인터페이스는 DDR 인터페이스의 변형된 형태(예를 들어, DDR-T 인터페이스일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
도 25는 본 발명에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 25를 참조하면, 전자 장치(4000)는 메인 프로세서(4100), 터치 패널(4200), 터치 구동 회로(4202), 디스플레이 패널(4300), 디스플레이 구동 회로(4302), 시스템 메모리(4400), 스토리지 장치(4500), 이미지 처리기(4600), 통신 블록(4700), 오디오 처리기(4800), 및 보안 칩(4900)을 포함할 수 있다. 예시적인 실시 예에서, 전자 장치(4000)는 이동식 통신 단말기, PDA(Personal Digital Assistant), PMP(Portable Media Player), 디지털 카메라, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 웨어러블(Wearable) 장치 등과 같은 다양한 전자 장치 중 하나일 수 있다.
메인 프로세서(4100)는 전자 장치(4000)의 전반적인 동작들을 제어할 수 있다. 메인 프로세서(4100)는 전자 장치(4000)의 구성 요소들의 동작들을 제어/관리할 수 있다. 메인 프로세서(4100)는 전자 장치(4000)를 동작시키기 위해 다양한 연산을 처리할 수 있다. 터치 패널(4200)은 터치 구동 회로(4202)의 제어에 따라 사용자로부터의 터치 입력을 감지하도록 구성될 수 있다. 디스플레이 패널(4300)은 디스플레이 구동 회로(4302)의 제어에 따라 영상 정보를 표시하도록 구성될 수 있다.
시스템 메모리(4400)는 전자 장치(4000)의 동작에 이용되는 데이터를 저장할 수 있다. 예로서, 시스템 메모리(4400)는 SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, 및/또는 PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다. 스토리지 장치(4500)는 전원 공급에 관계없이 데이터를 저장할 수 있다. 예로서, 스토리지 장치(4500)는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 다양한 불휘발성 메모리 중 적어도 하나를 포함할 수 있다. 예로서, 스토리지 장치(4500)는 전자 장치(4000)의 내장 메모리 및/또는 착탈식 메모리를 포함할 수 있다. 예시적인 실시 예에서, 시스템 메모리(4400) 또는 스토리지 장치(4500)는 도 1 내지 도 24를 참조하여 설명된 메모리 장치 또는 도 1 내지 도 24를 참조하여 설명된 테스트 방법을 기반으로 테스트된 메모리 장치를 포함할 수 있다.
오디오 처리기(4600)는 오디오 신호 처리기(4610)를 이용하여 오디오 신호를 처리할 수 있다. 오디오 처리기(4600)는 마이크(4620)를 통해 오디오 입력을 수신하거나, 스피커(4630)를 통해 오디오 출력을 제공할 수 있다. 통신 블록(4700)은 안테나(4710)를 통해 외부 장치/시스템과 신호를 교환할 수 있다. 통신 블록(4700)의 송수신기(4720) 및 MODEM(Modulator/Demodulator, 4730)은 LTE(Long Term Evolution), WiMax(Worldwide Interoperability for Microwave Access), GSM(Global System for Mobile communication), CDMA(Code Division Multiple Access), Bluetooth, NFC(Near Field Communication), Wi-Fi(Wireless Fidelity), RFID(Radio Frequency Identification) 등과 같은 다양한 무선 통신 규약 중 적어도 하나에 따라, 외부 장치/시스템과 교환되는 신호를 처리할 수 있다. 이미지 처리기(4800)는 렌즈(4810)를 통해 광을 수신할 수 있다. 이미지 처리기(4800)에 포함되는 이미지 장치(4820) 및 이미지 신호 처리기(4830)는 수신된 광에 기초하여, 외부 객체에 관한 이미지 정보를 생성할 수 있다.
도 26은 본 발명의 실시 예에 따른 스토리지 시스템이 적용된 데이터 센터를 예시적으로 보여주는 블록도이다. 도 26을 참조하면, 데이터 센터(5000)는 데이터 센터(5000)는 복수의 컴퓨팅 노드들(5100~5400)(또는 서버들)을 포함할 수 있다. 복수의 컴퓨팅 노드들(5100~5400)은 네트워크(NT)를 통해 서로 통신할 수 있다. 예시적인 실시 예에서, 네트워크(NT)는 SAN(storage area network)와 같은 스토리지 전용 네트워크이거나 또는 TCP/IP와 같은 인터넷 네트워크일 수 있다. 예시적인 실시 예에서, 네트워크(NT)는 파이버 채널(Fibre Channel), iSCSI 프로토콜, FCoE, NAS, NVMe-oF 등과 같은 다양한 통신 프로토콜들 중 적어도 하나를 포함할 수 있다.
복수의 컴퓨팅 노드들(5100~5400) 각각은 프로세서들(5110, 5210, 5310, 5410), 메모리들(5120, 5220, 5320, 5420), 스토리지 장치들(5130, 5230, 5330, 5430), 및 인터페이스 회로들(5140, 5240, 5340, 5440)을 각각 포함할 수 있다.
예를 들어, 제1 컴퓨팅 노드(5100)는 제1 프로세서(5110), 제1 메모리(5120), 제1 스토리지 장치(5130), 및 제1 인터페이스 회로(5140)를 포함할 수 있다. 예시적인 실시 예에서, 제1 프로세서(5110)는 싱글 코어 또는 멀티 코어로 구현될 수 있다. 제1 메모리(5120)는 DRAM, SDRAM, SRAM, 3D XPoint 메모리, MRAM, PRAM, FeRAM, ReRAM, 등과 같은 메모리를 포함할 수 있다. 제1 메모리(5120)는 제1 컴퓨팅 노드(5100)의 시스템 메모리, 동작 메모리, 또는 버퍼 메모리로서 사용될 수 있다. 제1 스토리지 장치(5130)는 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 등과 같은 대용량 저장 매체일 수 있다. 제1 인터페이스 회로(5140)는 네트워크(NT)를 통한 통신 지원하도록 구성된 네트워크 인터페이스 컨트롤러(NIC; network interface controller)일 수 있다.
예시적인 실시 예에서, 제1 컴퓨팅 노드(5100)의 제1 프로세서(5110)는 미리 정해진 메모리 인터페이스를 기반으로 제1 메모리(5120)를 액세스하도록 구성될 수 있다. 또는, 공유 메모리 구조(shared memory architecture)의 실시 예에서, 제1 컴퓨팅 노드(5100)의 제1 프로세서(5110)는 네트워크(NT)를 통해 다른 컴퓨팅 노드들(5200, 5300, 5400)의 메모리들(5220, 5320, 5420)을 액세스하도록 구성될 수 있다. 인터페이스 회로(5140)는 상술된 제1 프로세서(5110)의 공유 메모리(즉, 다른 컴퓨팅 노드들의 메모리들)로의 접근을 제어 또는 지원하도록 구성된 네트워크 스위치(미도시)를 포함할 수 있다.
예시적인 실시 예에서, 제1 컴퓨팅 노드(5100)의 제1 프로세서(5110)는 미리 정해진 스토리지 인터페이스를 기반으로 제1 스토리지 장치(5130)를 액세스하도록 구성될 수 있다. 또는 제1 컴퓨팅 노드(5100)의 제1 프로세서(5110)는 네트워크(NT)를 통해 다른 컴퓨팅 노드들(5200, 5300, 5400)의 스토리지 장치들(5230, 5330, 5430)을 액세스하도록 구성될 수 있다. 인터페이스 회로(5140)는 상술된 제1 프로세서(5110)의 다른 스토리지 장치들로의 접근을 제어 또는 지원하도록 구성된 네트워크 스위치(미도시)를 포함할 수 있다. 예시적인 실시 예에서, 복수의 컴퓨팅 노드들(5100~5140) 각각에 포함된 스토리지 장치들(5130~5430)은 하나의 RAID 볼륨을 구성할 수 있다. 제2 내지 제4 컴퓨팅 노드들(5200~5400)은 상술된 제1 컴퓨팅 노드(5100)와 유사한 동작을 수행할 수 있으며, 이에 대한 상세한 설명은 생략된다.
예시적인 실시 예에서, 데이터 센터(5000)에서, 다양한 애플리케이션들이 실행될 수 있다. 다양한 애플리케이션들은 컴퓨팅 노드들(5100~5400) 사이의 데이터 이동 또는 복사를 위한 명령어를 실행하도록 구성되거나, 또는 컴퓨팅 노드들(5100~5400) 상에 존재하는 다양한 정보들을 조합, 가공, 재생산하기 위한 명령어들을 실행하도록 구성될 수 있다. 예시적인 실시 예에서, 다양한 애플리케이션들은 데이터 센터(5000)에 포함된 복수의 컴퓨팅 노드들(5100~5400) 중 어느 하나에 의해 수행되거나 또는, 다양한 애플리케이션들은 복수의 컴퓨팅 노드들(5100~5400) 사이에서 분산되어 실행될 수 있다.
예시적인 실시 예에서, 데이터 센터(5000)는 고성능 컴퓨팅(HPC; high-performance computing)(예를 들어, 금융, 석유, 재료과학, 기상 예측 등), 기업형 애플리케이션(예를 들어, 스케일 아웃 데이터베이스), 빅 데이터 애플리케이션(예를 들어, NoSQL 데이터베이스, 인-메모리 복제 등)을 위해 사용될 수 있다.
예시적인 실시 예에서, 복수의 컴퓨팅 노드들(5100~5400) 중 적어도 하나는 애플리케이션 서버일 수 있다. 애플리케이션 서버는 데이터 센터(5000)에서 다양한 동작을 수행하도록 구성된 애플리케이션을 실행하도록 구성될 수 있다. 복수의 컴퓨팅 노드들(5100~5400) 중 적어도 하나는 스토리지 서버일 수 있다. 스토리지 서버는 데이터 센터(5000)에서 생성되거나 또는 관리되는 데이터를 저장하도록 구성될 수 있다.
예시적인 실시 예에서, 데이터 센터(5000)에 포함된 복수의 컴퓨팅 노드들(5100~5400) 각각 또는 그것들의 부분들은 동일한 위치에 존재하거나 또는 물리적으로 이격된 위치에 존재할 수 있으며, 무선 통신 또는 유선 통신에 기반된 네트워크(NT)를 통해 서로 통신할 수 있다. 예시적인 실시 예에서, 데이터 센터(5000)에 포함된 복수의 컴퓨팅 노드들(5100~5400)은 서로 동일한 메모리 기술을 기반으로 구현되거나 또는 서로 다른 메모리 기술들을 기반으로 구현될 수 있다.
비록 도면에 도시되지는 않았으나, 데이터 센터(5000)의 복수의 컴퓨팅 노드들(5100~5400) 중 적어도 일부는 네트워크(NT) 또는 다른 통신 인터페이스(미도시)를 통해 외부 클라이언트 노드(미도시)와 통신할 수 있다. 복수의 컴퓨팅 노드들(5100~5400) 중 적어도 일부는 외부 클라이언트 노드의 요청에 따라 자체적으로 요청(예를 들어, 데이터 저장, 데이터 전송 등)을 처리하거나 또는 다른 컴퓨팅 노드에서 요청을 처리할 수 있다.
예시적인 실시 예에서, 데이터 센터(5000)에 포함된 복수의 컴퓨팅 노드들(5100~5400)의 개수, 각 컴퓨팅 노드에 포함된 프로세서의 개수, 메모리 개수, 스토리지 장치의 개수는 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
예시적인 실시 예에서, 복수의 컴퓨팅 노드들(5100~5400) 각각에 포함된 메모리들(5120~5420), 스토리지 장치들(5130~5430), 또는 프로세서들(5110~5410)에 포함된 시스템 메모리들 중 적어도 하나는 도 1 내지 도 24를 참조하여 설명된 메모리 장치이거나 또는 도 1 내지 도 24를 참조하여 설명된 테스트 동작을 수행하도록 구성된 BIST 로직을 포함하거나 또는 도 1 내지 도 24를 참조하여 설명된 테스트 동작을 통해 검증된 메모리 장치일 수 있다. 또는, 복수의 컴퓨팅 노드들(5100~5400) 각각 또는 적어도 하나는, 도 1 내지 도 24를 참조하여 설명된 동작 방법을 기반으로, 복수의 컴퓨팅 노드들(5100~5400) 각각에 포함된 메모리들(5120~5420), 스토리지 장치들(5130~5430), 또는 프로세서들(5110~5410)에 포함된 시스템 메모리들 중 적어도 하나를 테스트하도록 구성된 테스트 장치 또는 BIST 로직을 포함할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (20)

  1. 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 테스트 방법에 있어서,
    상기 복수의 메모리 셀들에 기입될 제1 테스트 패턴을 생성하는 단계;
    상기 제1 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제1 패턴 기입 동작을 수행하는 단계;
    상기 제1 테스트 패턴이 기입된 상기 복수의 메모리 셀들로부터 제1 데이터를 읽는 단계;
    상기 제1 데이터를 기반으로 제2 테스트 패턴을 생성하는 단계; 및
    상기 제2 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제2 패턴 기입 동작을 수행하는 단계를 포함하고,
    상기 제2 테스트 패턴은, 쓰기 불량이 발생한 불량 셀들에 불량 정보가 기입되도록 생성되는 테스트 방법.
  2. 제 1 항에 있어서,
    상기 복수의 메모리 셀들은 동일한 하나의 워드라인에 연결된 테스트 방법.
  3. 제 1 항에 있어서,
    상기 복수의 메모리 셀들 각각은 전류 방향에 따라 저항 값이 가변되도록 구성된 자기 터널 접합(MTJ; magnetic tunnel junction)인 가변 저항 소자를 포함하는 동작 방법.
  4. 제 1 항에 있어서,
    상기 제2 패턴 기입 동작을 수행하는 단계는:
    상기 복수의 메모리 셀들에 상기 제1 패턴이 반전된 제1 반전 패턴을 기입하는 백-라이트 동작을 수행하는 단계; 및
    상기 백-라이트 동작이 수행된 상기 복수의 메모리 셀들에 상기 제2 패턴을 기입하는 재-기입 동작을 수행하는 단계를 포함하는 테스트 방법.
  5. 제 4 항에 있어서,
    상기 백-라이트 동작 또는 상기 재-기입 동작을 통해 상기 복수의 메모리 셀들 중 상기 불량 셀들에 상기 불량 정보가 기입되는 테스트 방법.
  6. 제 1 항에 있어서,
    상기 제1 패턴은 모든 비트 값들이 제1 값인 데이터이고,
    상기 제2 패턴은 상기 불량 셀과 대응하는 비트 값이 상기 제1 값과 다른 제2 값이고, 나머지 비트 값들은 상기 제1 값인 데이터인 테스트 방법.
  7. 제 1 항에 있어서,
    상기 제2 테스트 패턴을 생성하는 단계, 및 상기 제2 패턴 기입 동작을 수행하는 단계 각각은 미리 정해진 횟수만큼 반복 수행되고,
    상기 반복 수행 과정 각각에서, 이전 패턴 기입 동작의 결과를 기반으로 상기 제2 테스트 패턴은 상기 불량 셀들에 상기 불량 정보가 기입되도록 생성되는 테스트 방법.
  8. 제 7 항에 있어서,
    상기 불량 셀들은, 상기 복수의 메모리 셀들 중, 상기 반복 수행 과정에서, 적어도 n회 쓰기 불량이 발생한 메모리 셀들이고, 단 n은 2이상의 자연수인 테스트 방법.
  9. 제 7 항에 있어서,
    상기 불량 셀들은, 상기 복수의 메모리 셀들 중, 상기 반복 수행 과정에서, 적어도 n회 연속하여 쓰기 불량이 발생한 메모리 셀들이고, 단 n은 2이상의 자연수인 테스트 방법.
  10. 제 7 항에 있어서,
    상기 제2 테스트 패턴을 생성하는 단계, 및 상기 제2 패턴 기입 동작을 수행하는 단계 각각이 상기 미리 정해진 횟수만큼 반복 수행된 이후에, 상기 복수의 메모리 셀들로부터 최종 데이터를 읽는 단계;
    상기 최종 데이터를 기반으로 상기 복수의 메모리 셀들 중 불량 셀들의 개수를 판별하고, 상기 판별된 개수를 기준 값과 비교하는 단계; 및
    상기 판별된 개수가 상기 기준 값을 초과하는 경우, 상기 메모리 장치에 대한 리페어 동작 또는 스크린 동작을 수행하는 단계를 더 포함하는 테스트 방법.
  11. 제 10 항에 있어서,
    상기 기준 값은 상기 메모리 장치 또는 상기 메모리 장치를 제어하도록 구성된 메모리 컨트롤러에 포함된 ECC(Error Correction Code) 엔진의 에러 정정 능력에 대응하는 테스트 방법.
  12. 제 11 항에 있어서,
    상기 복수의 메모리 셀들의 개수는 상기 ECC 엔진의 에러 정정 단위에 대응하는 테스트 방법.
  13. 복수의 메모리 셀들을 포함하는 메모리 장치를 테스트하도록 구성된 테스트 장치의 동작 방법에 있어서,
    제1 테스트 패턴을 생성하고, 상기 제1 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제1 패턴 기입 동작을 수행하는 단계;
    상기 복수의 메모리 셀들로부터 제1 데이터를 읽는 단계;
    상기 제1 데이터를 기반으로 제2 테스트 패턴을 생성하고, 상기 제2 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제2 패턴 기입 동작을 수행하는 단계;
    상기 복수의 메모리 셀들로부터 제2 데이터를 읽는 단계; 및
    상기 제2 데이터를 기반으로 제3 테스트 패턴을 생성하고, 상기 제3 테스트 패턴을 상기 복수의 메모리 셀들에 기입하는 제3 패턴 기입 동작을 수행하는 단계를 포함하고,
    상기 제2 테스트 패턴은 상기 복수의 메모리 셀들 중 상기 제1 패턴 기입 동작에서 쓰기 불량이 발생한 적어도 하나의 제1 불량 셀에 대하여, 상기 제2 패턴 기입 동작동안 불량 정보가 기입되도록 생성되고,
    상기 제3 테스트 패턴은 상기 복수의 메모리 셀들 중 상기 제2 패턴 기입 동작에서 쓰기 불량이 발생한 적어도 하나의 제2 불량 셀 및 상기 적어도 하나의 제1 불량 셀에 대하여, 상기 제3 패턴 기입 동작 동안 불량 정보가 기입되도록 생성되는 동작 방법.
  14. 제 13 항에 있어서,
    상기 제1 테스트 패턴은 상기 메모리 장치에 대한 테스트 유형을 기반으로 결정되는 동작 방법.
  15. 제 14 항에 있어서,
    상기 테스트 유형은, 쓰기 동작 동안, 상기 복수의 메모리 셀들 각각이 제1 비트 값에 대응하는 제1 상태에서 제2 비트 값에 대응하는 제2 상태로 정상적으로 바뀌는지 테스트하는 제1 테스트 유형 및 상기 복수의 메모리 셀들 각각이 상기 제2 상태에서 상기 제1 상태로 정상적으로 바뀌는지 테스트는 제2 테스트 유형을 포함하는 동작 방법.
  16. 제 15 항에 있어서,
    상기 테스트 유형이 상기 제1 테스트 유형인 경우:
    상기 제1 테스트 패턴의 모든 비트 값들은 상기 제2 값이고,
    상기 제2 테스트 패턴의 비트 값들 중 상기 적어도 하나의 제1 불량 셀에 대응하는 비트 값은 상기 제1 값이고, 나머지 비트 값들은 상기 제2 값이고,
    상기 제3 테스트 패턴의 비트 값들 중 상기 적어도 하나의 제1 불량 셀 및 상기 적어도 하나의 제2 불량 셀에 대응하는 비트 값들은 상기 제1 값이고, 나머지 비트 값들은 상기 제2 값이고,
    상기 테스트 유형이 상기 제2 테스트 유형인 경우:
    상기 제1 테스트 패턴의 모든 비트 값들은 상기 제1 값이고,
    상기 제2 테스트 패턴의 비트 값들 중 상기 적어도 하나의 제1 불량 셀에 대응하는 비트 값은 상기 제2 값이고, 나머지 비트 값들은 상기 제1 값이고,
    상기 제3 테스트 패턴의 비트 값들 중 상기 적어도 하나의 제1 불량 셀 및 상기 적어도 하나의 제2 불량 셀에 대응하는 비트 값들은 상기 제2 값이고, 나머지 비트 값들은 상기 제1 값인 동작 방법.
  17. 셀프-테스트 기능을 구비한 메모리 장치에 있어서,
    복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 복수의 메모리 셀들에 대한 쓰기 동작 및 읽기 동작을 수행하도록 구성된 구동 회로; 및
    외부 장치의 제어에 따라 셀프-테스트를 수행하도록 구성된 빌트-인-셀트-테스트(BIST; built-in-self-test) 로직을 포함하고,
    상기 셀프-테스트시, 상기 BIST 로직은 상기 복수의 메모리 셀들에 대한 패턴 기입 동작을 반복 수행하도록 구성되고, 상기 BIST 로직은 상기 패턴 기입 동작의 상기 반복 각각에서, 상기 복수의 메모리 셀들 중 쓰기 불량이 발생한 메모리 셀들에 불량 정보가 기입되도록 상기 구동 회로를 제어하도록 구성된 메모리 장치.
  18. 제 17 항에 있어서,
    상기 복수의 메모리 셀들 각각은:
    일단이 소스 라인과 연결되고, 워드라인의 전압에 응답하여 동작하도록 구성된 선택 트랜지스터;
    상기 선택 트랜지스터 및 비트라인 사이에 연결되고, 전류 방향에 따라 저항 값이 가변되는 가변 저항 소자를 포함하는 메모리 장치.
  19. 제 17 항에 있어서,
    상기 BIST 로직은 상기 패턴 기입 동작의 상기 반복 각각에서, 상기 복수의 메모리 셀들 중 쓰기 불량이 발생한 메모리 셀들에 상기 불량 정보가 기입되도록 테스트 패턴을 생성하고, 상기 생성된 테스트 패턴을 기반으로 상기 구동 회로를 제어하는 메모리 장치.
  20. 제 17 항에 있어서,
    상기 구동 회로는 상기 복수의 메모리 셀들 각각과 연결된 비트라인들 및 소스라인들을 제어하도록 구성된 쓰기 드라이버들을 포함하고,
    상기 BIST 로직은 상기 패턴 기입 동작의 상기 반복에서, 상기 쓰기 드라이버들 중 상기 불량 셀과 대응하는 쓰기 드라이버를 비활성화시키도록 구성된 메모리 장치.

KR1020200023607A 2020-02-26 2020-02-26 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치 KR20210109085A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200023607A KR20210109085A (ko) 2020-02-26 2020-02-26 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치
US17/035,917 US11367501B2 (en) 2020-02-26 2020-09-29 Test method for memory device, operating method of test device testing memory device, and memory device with self-test function
CN202110213741.8A CN113312229A (zh) 2020-02-26 2021-02-25 用于存储器装置的测试方法和测试装置的操作方法
US17/827,845 US11600353B2 (en) 2020-02-26 2022-05-30 Test method for memory device, operation method of test device testing memory device, and memory device with self-test function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023607A KR20210109085A (ko) 2020-02-26 2020-02-26 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치

Publications (1)

Publication Number Publication Date
KR20210109085A true KR20210109085A (ko) 2021-09-06

Family

ID=77366184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023607A KR20210109085A (ko) 2020-02-26 2020-02-26 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치

Country Status (3)

Country Link
US (2) US11367501B2 (ko)
KR (1) KR20210109085A (ko)
CN (1) CN113312229A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102387463B1 (ko) * 2021-10-21 2022-04-15 삼성전자주식회사 메모리 장치, 전자 장치 및 메모리 장치의 동작 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210008712A (ko) * 2019-07-15 2021-01-25 삼성전자주식회사 테스트 패턴 정보를 저장하는 메모리 모듈, 그것을 포함하는 컴퓨터 시스템 및 그것의 테스트 방법
CN115312110A (zh) * 2021-05-08 2022-11-08 瑞昱半导体股份有限公司 芯片验证系统及其验证方法
US11687273B2 (en) * 2021-09-29 2023-06-27 Micron Technology, Inc. Memory controller for managing data and error information
US11852680B1 (en) 2022-08-09 2023-12-26 Nanya Technology Corporation Test device and test method thereof
CN117093511B (zh) * 2023-09-04 2024-05-10 海光云芯集成电路设计(上海)有限公司 访存控制方法、访存控制装置、芯片及电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3673027B2 (ja) * 1996-09-05 2005-07-20 沖電気工業株式会社 テスト対象の半導体記憶回路を備えた半導体記憶装置
JPH10289597A (ja) * 1997-04-14 1998-10-27 Advantest Corp メモリ試験装置
JP2000030483A (ja) * 1998-07-15 2000-01-28 Mitsubishi Electric Corp 大規模メモリ用bist回路
US6584589B1 (en) 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
JP4130801B2 (ja) * 2001-06-13 2008-08-06 株式会社アドバンテスト 半導体デバイス試験装置、及び半導体デバイス試験方法
KR100735751B1 (ko) * 2005-12-26 2007-07-06 삼성전자주식회사 반도체 메모리 장치
KR101519491B1 (ko) * 2008-09-12 2015-05-12 삼성전자주식회사 누적 테스트를 위한 반도체 메모리 장치 및 이를 포함하는 시스템
US8214700B2 (en) 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8320167B2 (en) 2010-07-16 2012-11-27 Qualcomm Incorporated Programmable write driver for STT-MRAM
US9953725B2 (en) * 2012-02-29 2018-04-24 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of operating the same
US9110829B2 (en) 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
EP3050059A4 (en) 2013-09-27 2017-04-26 Intel Corporation Apparatus and method to optimize stt-mram size and write error rate
US9672886B2 (en) 2014-05-05 2017-06-06 The Regents Of The University Of California Fast and low-power sense amplifier and writing circuit for high-speed MRAM
KR20160062809A (ko) 2014-11-25 2016-06-03 삼성전자주식회사 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법
US9455014B1 (en) 2015-03-19 2016-09-27 Qualcomm Incorporated Adjusting resistive memory write driver strength based on write error rate (WER) to improve WER yield, and related methods and systems
KR102578648B1 (ko) * 2016-03-14 2023-09-13 삼성전자주식회사 모뎀 데이터에 따라 코어 스위칭이 수행되는 애플리케이션 프로세서 및 이를 포함하는 시스템 온 칩
US10204700B1 (en) * 2016-09-21 2019-02-12 Samsung Electronics Co., Ltd. Memory systems and methods of operating semiconductor memory devices
KR102650154B1 (ko) * 2016-12-08 2024-03-22 삼성전자주식회사 가상 페일 생성기를 포함하는 메모리 장치 및 그것의 메모리 셀 리페어 방법
DE102017119426B4 (de) * 2017-08-24 2020-02-13 Infineon Technologies Ag Test und verwaltung von speicherzellen
JP6978977B2 (ja) * 2018-04-27 2021-12-08 ルネサスエレクトロニクス株式会社 半導体装置、半導体装置のメモリテスト方法、テストパターン生成プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102387463B1 (ko) * 2021-10-21 2022-04-15 삼성전자주식회사 메모리 장치, 전자 장치 및 메모리 장치의 동작 방법
US11989422B2 (en) 2021-10-21 2024-05-21 Samsung Electronics Co., Ltd. Memory device, electronic device and operating method of memory device

Also Published As

Publication number Publication date
US11367501B2 (en) 2022-06-21
US11600353B2 (en) 2023-03-07
US20220293206A1 (en) 2022-09-15
CN113312229A (zh) 2021-08-27
US20210265003A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
US11600353B2 (en) Test method for memory device, operation method of test device testing memory device, and memory device with self-test function
US11593199B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
KR101898885B1 (ko) 스마트 메모리 아키텍쳐를 제공하기 위한 방법 및 시스템
US9805827B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating the same
KR102237735B1 (ko) 저항성 메모리 장치의 메모리 코어, 이를 포함하는 저항성 메모리 장치 및 저항성 메모리 장치의 데이터 감지 방법
KR102178137B1 (ko) 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
KR102060835B1 (ko) 메모리 시스템 및 그것의 쓰기 방법
KR102354350B1 (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US10102062B2 (en) Semiconductor storage device
KR20170134989A (ko) 반도체 메모리 장치 및 이의 동작 방법
US10338835B2 (en) Memory device
JP2014179155A (ja) ソースラインフローティング回路、それを含むメモリ装置及びメモリ装置の読み出し方法
US20140016397A1 (en) Nonvolatile memory device and write method thereof
KR20170060263A (ko) 반도체 메모리 장치 및 이의 동작 방법
US10204700B1 (en) Memory systems and methods of operating semiconductor memory devices
KR20160071769A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US11929136B2 (en) Reference bits test and repair using memory built-in self-test
JP6557488B2 (ja) 不揮発性メモリ装置及びそれを含む格納装置、それの書込み方法及び読出し方法
US11804276B2 (en) Built-in-self-test logic, memory device with same, and memory module testing method
WO2023146520A1 (en) Memory built-in self-test with address skipping trim search
CN116386690A (zh) 一种集成puf电路的stt-mram及基于其的puf数据生成方法