KR20220022269A - 메모리 장치 및 그의 테스트 방법 - Google Patents

메모리 장치 및 그의 테스트 방법 Download PDF

Info

Publication number
KR20220022269A
KR20220022269A KR1020200103233A KR20200103233A KR20220022269A KR 20220022269 A KR20220022269 A KR 20220022269A KR 1020200103233 A KR1020200103233 A KR 1020200103233A KR 20200103233 A KR20200103233 A KR 20200103233A KR 20220022269 A KR20220022269 A KR 20220022269A
Authority
KR
South Korea
Prior art keywords
data
test
read
write
circuit
Prior art date
Application number
KR1020200103233A
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 KR1020200103233A priority Critical patent/KR20220022269A/ko
Priority to US17/146,958 priority patent/US11651832B2/en
Publication of KR20220022269A publication Critical patent/KR20220022269A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • 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/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • 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/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • 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/46Test trigger logic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • 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/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

제안 발명은 온-칩(ON-CHIP) ECC 스킴을 가지는 메모리 장치에 관한 것으로, 라이트 데이터를 저장하고 리드 데이터를 출력하는 노멀 셀 영역; 라이트 패리티 비트들을 저장하고 리드 패리티 비트들을 출력하는 패리티 셀 영역; 제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하여 상기 라이트 데이터로 제공하는 패턴 생성 회로; 상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 패리티 비트들을 이용하여 상기 리드 데이터의 에러를 정정하여 에러 정정된 데이터를 출력하는 에러 정정 회로; 및 상기 에러 정정된 데이터를 압축하여 압축 데이터를 출력하되, 상기 제 1 테스트 모드 시 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들을 압축하여 상기 압축 데이터를 출력하는 출력 회로를 포함할 수 있다.

Description

메모리 장치 및 그의 테스트 방법 {MEMORY DEVICE AND TEST METHOD THEREOF}
본 특허 문헌은 반도체 설계 기술에 관한 것으로, 구체적으로는 온-칩(ON-CHIP) ECC 스킴을 가지는 메모리 장치의 테스트 방법에 관한 것이다.
메모리 장치의 크기가 축소됨에 따라 페일 데이터가 랜덤하게 발생되어 소프트 에러(soft error) 발생이 증가하고 있다. 따라서, 이를 해결하기 위해 최근에는 메모리 장치 내부에 ECC 기능을 탑재하는 온-칩(ON-CHIP) ECC 스킴을 채용하고 있다. 즉, 메모리 장치는 수율 확보를 위하여, 리페어 대상 메모리 셀들을 리던던시 메모리 셀들로 교체하는 리페어 동작을 수행하거나 온-칩(ON-CHIP) ECC 스킴을 이용하여 리페어될 수 있다.
온-칩(ON-CHIP) ECC 스킴을 구현하기 위해서는, ECC용 패리티 비트들을 특정 공간에 할당하여 저장하여 둘 수 있다. 특히, 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치의 경우, ECC용 패리티 비트들을 메모리 어레이 영역의 일부 메모리 영역(이하, '패리티 셀 영역'이라 칭한다)에 할당하여 저장하는 방법이 제안되고 있다.
한편, 메모리 장치는 일반적으로 제조 공정(fabrication process)들이 모두 완료되면 반도체 기판 상에 형성된 각각의 메모리 장치의 여러 가지 특성들을 측정하는 메모리 장치 테스트를 거치게 된다. 이러한 메모리 장치 테스트를 통해 반도체 기판의 제조 공정이나 어셈블리 공정 등의 과정에서의 결함을 검출함으로써 메모리 장치의 생산성(through-put)을 높일 수 있다. 특히, 메모리 장치 테스트 중 웨이퍼 상태의 메모리 장치를 테스트하는 웨이퍼 레벨 테스트에서는, 테스트 시간을 줄이기 위한 방법으로 병렬 테스트(parallel bit test; PBT)를 수행하게 된다. 병렬 테스트는, 라이트 동작 시 모든 메모리 셀에 특정 테스트 데이터를 라이트하고, 리드 동작 시 글로벌 데이터 라인을 통해 출력되는 테스트 데이터를 비교하여 패스/페일(PASS/FAIL)을 판단할 수 있다.
온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치의 경우, 에러 정정 회로의 무결성을 검증하기 위한 병렬 테스트 동작이 일반적인 메모리 장치에 비해 복잡하여 그로 인해 테스트 시간이 증가하게 된다. 따라서, 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치를 효율적으로 테스트할 수 있는 방법에 대한 연구가 필요하다.
본 발명의 실시예들은 내부에서 생성된 클럭을 이용하여 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치를 효율적으로 테스트할 수 있는 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 메모리 장치는, 라이트 데이터를 저장하고 리드 데이터를 출력하는 노멀 셀 영역; 라이트 패리티 비트들을 저장하고 리드 패리티 비트들을 출력하는 패리티 셀 영역; 제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하여 상기 라이트 데이터로 제공하는 패턴 생성 회로; 상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 패리티 비트들을 이용하여 상기 리드 데이터의 에러를 정정하여 에러 정정된 데이터를 출력하는 에러 정정 회로; 및 상기 에러 정정된 데이터를 압축하여 압축 데이터를 출력하되, 상기 제 1 테스트 모드 시 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들을 압축하여 상기 압축 데이터를 출력하는 출력 회로를 포함할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치는, 다수의 뱅크들 - 각 뱅크는, 라이트 데이터를 저장하고 리드 데이터를 출력하는 노멀 셀 영역, 라이트 패리티 비트들을 저장하고 리드 패리티 비트들을 출력하는 패리티 셀 영역, 상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 패리티 비트들을 이용하여 상기 리드 데이터의 에러를 정정하여 에러 정정된 데이터를 출력하는 에러 정정 회로 및 상기 에러 정정된 데이터를 테스트 데이터 라인들로 출력하며, 제 1 테스트 모드 시 상기 리드 패리티 비트들을 상기 테스트 데이터 라인들 중 일부 라인들로 맵핑하여 출력하는 데이터 출력 회로를 포함함 -; 순차적으로 증가하는 테스트 데이터를 생성하고, 상기 제 1 테스트 모드 시 상기 테스트 데이터를 상기 라이트 데이터로 상기 각 뱅크에 제공하는 패턴 생성 회로; 및 상기 테스트 데이터 라인들의 데이터를 압축하여 압축 데이터를 출력하는 테스트 출력 회로를 포함할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치의 테스트 방법은, 노멀 셀 영역 및 패리티 셀 영역을 포함하는 메모리 장치에 있어서, 제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하고, 상기 테스트 데이터를 라이트 데이터로 제공하는 단계; 상기 라이트 데이터를 이용하여 라이트 패리티 비트들을 생성하는 단계; 라이트 스트로브 신호에 따라 상기 라이트 데이터 및 상기 라이트 패리티 비트들을 상기 노멀 셀 영역 및 상기 패리티 셀 영역에 각각 라이트하는 단계; 리드 스트로브 신호에 따라 상기 패리티 셀 영역으로부터 리드 패리티 비트들을 출력하는 단계; 상기 리드 패리티 비트들을 압축하여 압축 데이터를 생성하는 단계; 및 상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치의 테스트 방법은, 노멀 셀 영역 및 패리티 셀 영역을 포함하는 메모리 장치에 있어서, 제 2 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하는 단계; 상기 패리티 셀 영역으로부터 출력되는 리드 패리티 비트들을 마스킹하고, 상기 노멀 셀 영역으로부터 출력되는 리드 데이터를 마스킹하여 마스킹 데이터로 출력하는 단계; 상기 테스트 데이터를 이용하여 상기 마스킹 데이터의 에러를 정정하는 단계; 상기 에러 정정된 데이터를 압축하여 압축 데이터를 생성하는 단계; 및 상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 단계를 포함할 수 있다.
제안된 실시예에 따른 메모리 장치는 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 내부에서 생성된 클럭을 이용하여 에러 정정 회로에서 발생할 수 있는 불량을 검출함으로써 외부 클럭 속도와 상관없는 고속 혹은 저속으로 테스트를 수행할 수 있는 효과가 있다.
제안된 실시예에 따른 메모리 장치는 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 셀 영역의 접근 없이 에러 정정 회로 만을 검증할 수 있어 에러 정정 회로 자체의 결함을 발견할 수 있는 동시에 테스트 시간을 줄일 수 있는 효과가 있다.
제안된 실시예에 따른 메모리 장치는 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 동시에 다수의 뱅크들의 출력 데이터를 압축하여 출력함으로써 테스트 시간을 줄일 수 있는 효과가 있다.
도 1 은 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치의 테스트 동작을 설명하기 위한 도면이다.
도 2 는 본 발명의 실시예에 따른 메모리 장치의 구성을 설명하기 위한 블록 구성도이다.
도 3 은 도 2 의 메모리 장치의 제 1 테스트 모드 시 테스트 동작을 설명하기 위한 순서도 이다.
도 4 및 도 5 는 도 3 의 테스트 동작의 이해를 돕기 위한 타이밍도 이다.
도 6 은 본 발명의 실시예에 따른 메모리 장치의 구성을 설명하기 위한 블록 구성도이다.
도 7 은 도 6 의 메모리 장치의 제 2 테스트 모드 시 테스트 동작을 설명하기 위한 순서도 이다.
도 8 은 도 7 의 테스트 동작의 이해를 돕기 위한 타이밍도 이다.
도 9 는 본 발명의 실시예에 따른 메모리 장치의 구성을 설명하기 위한 블록 구성도이다.
도 10a 및 도 10b 는 도 9 의 에러 정정 회로의 인코딩 동작을 검증하기 위한 테스트 동작을 설명하기 위한 도면 이다.
도 11 은 도 9 의 에러 정정 회로의 디코딩 동작을 검증하기 위한 테스트 동작을 설명하기 위한 도면 이다.
도 12 는 본 발명의 실시예에 따른 멀티-뱅크 구조의 메모리 장치의 구성을 설명하기 위한 블록 구성도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
이하, 도면을 참조하여 제안 발명의 실시예에 따라 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치의 테스트 동작 시 테스트 시간을 줄일 수 있는 방법에 대해 논의하고자 한다. 이하에서는, 설명의 편의를 위해 테스트 동작 위주의 구성을 설명하기로 한다. 메모리 장치의 노멀 동작은, 노멀 라이트 동작과 노멀 리드 동작을 포함할 수 있다. 메모리 장치의 테스트 동작은, 테스트 라이트 동작과 테스트 리드 동작을 포함할 수 있다. 노멀 라이트 동작과 테스트 라이트 동작을 '라이트 동작'으로 정의하고, 노멀 리드 동작과 테스트 리드 동작을 '리드 동작'으로 정의할 수 있다.
도 1 은 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치의 테스트 동작을 설명하기 위한 도면이다. 설명의 편의를 위해, 도 1 에는 메모리 장치(10)의 하나의 뱅크에서 컬럼 쪽 구성 위주로 도시되어 있다.
도 1 을 참조하면, 메모리 장치(10)는, 노멀 데이터를 저장하기 위한 노멀 셀 영역(1) 및 노멀 데이터의 에러를 정정하기 위한 패리티 비트들을 저장하기 위한 패리티 셀 영역(2)을 포함할 수 있다. 예를 들어, 노멀 셀 영역(1)에는 다수의 셀 매트들이 배치되고, 패리티 셀 영역(2)은 적어도 하나의 셀 매트가 배치될 수 있다. 노멀 셀 영역(1) 및 패리티 셀 영역(2)에는 각 셀 매트에 대응되는 비트 라인 센스 앰프(BLSA) 회로들이 배치될 수 있다. 이하에서는 설명의 편의를 위해, 노멀 셀 영역(1)은 16 개의 셀 매트(MAT1~MAT16)로 구성되고, 패리티 셀 영역(2)은 1 개의 셀 매트(MAT_PTY)로 구성되는 경우를 예를 들어 설명한다.
또한, 메모리 장치(10)는, 다수의 노멀 컬럼 디코더(3) 및 패리티 컬럼 디코더(4)를 포함할 수 있다. 노멀 컬럼 디코더(3)는, 16 개의 셀 매트(MAT1~MAT16)에 각각 대응되는 16 개의 컬럼 디코더(YDEC<0:15>)로 구성되고, 패리티 컬럼 디코더(4)는, 셀 매트(MAT_PTY)에 대응되는 1 개의 컬럼 디코더(YDEC_PTY)로 구성될 수 있다.
다수의 노멀 컬럼 디코더(YDEC<0:15>) 및 패리티 컬럼 디코더(YDEC_PTY)는 각각 라이트 커맨드(WT) 혹은 리드 커맨드(RD)가 활성화되면 컬럼 어드레스(CA)를 디코딩하여 128 개의 컬럼 선택 신호(Yi<0:127>) 중 하나를 활성화시킬 수 있다. 각 BLSA 회로들은, 활성화된 컬럼 선택 신호(Yi<x>, x는 0에서 127 사이의 정수)에 따라, 비트 라인(BL)에 실린 데이터를 감지 증폭하여 출력할 수 있다. 이 때, 하나의 컬럼 선택 신호(Yi<x>)에 따라 다수(예를 들어, 8개)의 비트 라인들(BL), 즉, 메모리 셀들(MC)이 선택될 수 있다.
도 1 의 메모리 장치(10)의 병렬 테스트 동작을 설명하면 다음과 같다.
테스트 모드가 설정된 후 라이트 커맨드(WT)가 입력되면, 테스트 라이트 동작이 수행된다. 로우 어드레스에 대응되는 모든 셀 매트(MAT1~MAT16, MAT_PTY)의 워드 라인(WL)이 활성화되고, 컬럼 어드레스(CA)에 대응되는 컬럼 선택 신호(Yi<x>)가 활성화된다. 따라서, 각 셀 매트에서는, 활성돠된 워드 라인(WL) 및 활성화된 컬럼 선택 신호(Yi<x>)에 따라 선택된 비트 라인들(BL) 사이에 연결된 8 개의 메모리 셀들(MC)이 선택될 수 있다. 이 때, 노멀 셀 영역(1)의 16 개의 셀 매트(MAT1~MAT16) 각각에는 8 비트 테스트 패턴(TEST PATTERN HOLD(TPH), 예를 들어, “10101010”)이 라이트 되므로 노멀 셀 영역(1)에는 하나의 컬럼 선택 신호(Yi<x>)에 따라 총 8*16 = 128 비트의 테스트 패턴이 라이트될 수 있다. 또한, 패리티 셀 영역(2)의 셀 매트(MAT_PTY)에는 128 비트의 테스트 패턴의 에러를 정정하기 위한 8 비트의 패리티 비트가 라이트 될 수 있다.
이후, 리드 커맨드(RD)가 입력되면, 테스트 리드 동작이 수행된다. 로우 어드레스에 대응되는 모든 셀 매트(MAT1~MAT16, MAT_PTY)의 워드 라인(WL)이 활성화되고, 컬럼 어드레스(CA)에 대응되는 컬럼 선택 신호(Yi<x>)가 활성화된다. 따라서, 각 셀 매트에서는, 활성화된 워드 라인(WL) 및 선택된 비트 라인들(BL) 사이에 연결된 8 개의 메모리 셀들(MC)이 선택될 수 있다. 메모리 장치(10)는, 노멀 셀 영역(1)으로부터 리드된 128 비트의 테스트 패턴을 패리티 셀 영역(2)으로부터 리드된 패리티 비트를 이용하여 에러 정정하고, 에러 정정된 테스트 패턴을 기 설정된 타겟 테스트 패턴(즉, “10101010”)과 비교하여 패스/페일(PASS/FAIL)을 알려주는 1 비트의 테스트 결과 신호로 출력할 수 있다.
도 2 는 본 발명의 실시예에 따른 메모리 장치(100)의 구성을 설명하기 위한 블록 구성도이다. 도 2 에는 하나의 뱅크를 포함하는 메모리 장치(100)가 도시되어 있으며, 뱅크의 에러 정정 회로의 인코딩 동작을 검증하기 위한 구성이 도시되어 있다.
도 2 를 참조하면, 메모리 장치(100)는, 노멀 셀 영역(112), 패리티 셀 영역(114), 라이트 회로(120), 리드 회로(130), 패턴 생성 회로(140), 데이터 입력 회로(150), 에러 정정 회로(160), 데이터 출력 회로(170), 테스트 출력 회로(180) 및 테스트 래치(190)를 포함할 수 있다.
노멀 셀 영역(112)은, 라이트 데이터(WDATA)를 저장하고 리드 데이터(RDATA)를 출력할 수 있다. 노멀 셀 영역(112)은, 노멀 데이터를 저장하기 위한 영역으로, 도 1 의 노멀 셀 영역(1)에 대응될 수 있다. 이하에서는, 노멀 셀 영역(112)에는 16 개의 셀 매트가 구비되고, 128 비트의 라이트 데이터(WDATA) 및 리드 데이터(RDATA)가 라이트 및 리드 되는 경우를 예로 들어 설명한다.
패리티 셀 영역(114)은, 라이트 패리티 비트들(WPTY)을 저장하고 리드 패리티 비트들(RPTY)을 출력할 수 있다. 패리티 셀 영역(114)은, 노멀 데이터의 에러를 정정하기 위한 패리티 비트들을 저장하기 위한 영역으로, 도 1 의 패리티 셀 영역(2)에 대응될 수 있다. 이하에서는, 패리티 셀 영역(114)에는 1 개의 셀 매트가 구비되고, 8 비트의 라이트 패리티 비트들(WPTY) 및 리드 패리티 비트들(RPTY)이 라이트 및 리드 되는 경우를 예로 들어 설명한다. 노멀 셀 영역(112) 및 패리티 셀 영역(114)에는 각 셀 매트에 대응되는 비트 라인 센스 앰프(BLSA) 회로들(미도시)이 배치될 수 있다.
라이트 회로(120)는, 라이트 스트로브 신호(WTEN)에 따라 노멀 셀 영역(112) 및 패리티 셀 영역(114)에 라이트 데이터(WDATA) 및 라이트 패리티 비트들(WPTY)을 각각 라이트할 수 있다. 보다 자세하게, 라이트 회로(120)는, 노멀 라이트 회로(WDRV, 120A) 및 패리티 라이트 회로(WDRV_PTY, 120B)를 포함할 수 있다. 노멀 라이트 회로(120A)는, 데이터 입력 회로(150)로부터 전달되는 라이트 데이터(WDATA)를 노멀 셀 영역(112)에 라이트할 수 있다. 노멀 라이트 회로(120A)는, 128 비트의 라이트 데이터(WDATA)를 노멀 셀 영역(112)의 16 개의 셀 매트들에 8 비트씩 각각 라이트할 수 있다. 패리티 라이트 회로(120B)는, 에러 정정 회로(160)로부터 생성된 라이트 패리티 비트들(WPTY)을 패리티 셀 영역(114)에 라이트할 수 있다. 노멀 라이트 회로(120A) 및 패리티 라이트 회로(120B)는, 라이트 드라이버로 구현될 수 있다.
리드 회로(130)는, 리드 스트로브 신호(IOSTBP)에 따라 노멀 셀 영역(112) 및 패리티 셀 영역(114)으로부터 리드 데이터(RDATA) 및 리드 패리티 비트들(RPTY)을 독출할 수 있다. 리드 회로(130)는, 노멀 리드 회로(IOSA, 130A) 및 패리티 리드 회로(IOSA_PTY, 130B)를 포함할 수 있다. 노멀 리드 회로(130A)는, 노멀 셀 영역(112)으로부터 출력되는 리드 데이터(RDATA)를 감지/증폭할 수 있다. 패리티 리드 회로(130B)는, 패리티 셀 영역(114)으로부터 출력되는 리드 패리티 비트들(RPTY)을 감지/증폭할 수 있다. 노멀 리드 회로(130A) 및 패리티 리드 회로(130B)는, I/O 센스 앰프로 구현될 수 있다.
패턴 생성 회로(140)는, 제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터(TPH_D)를 생성할 수 있다. 테스트 데이터(TPH_D)는, 라이트 데이터(WDATA)와 같은 비트수(즉, 128 비트)로 구성되어, 데이터 입력 회로(150)를 통해 노멀 라이트 회로(120A)에 라이트 데이터(WDATA)로 제공될 수 있다. 보다 상세하게, 패턴 생성 회로(140)는, 오실레이터(142), 카운터(144) 및 스트로브 생성 회로(146)를 포함할 수 있다.
오실레이터(142)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성할 수 있다. 오실레이터(142)는, 다수의 딜레이 셀들이 직렬 연결되어 링-타입을 구성하는 링 오실레이터 딜레이(Ring Oscillator Delay, ROD)로 구성될 수 있다. 다수의 딜레이 셀들은 인버터 체인(Inverter Chain)으로 연결될 수 있다. 오실레이터(142)는, 제 1 테스트 모드로의 진입을 알리는 제 1 테스트 모드 신호(TM1)에 따라 활성화되어, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성할 수 있다. 실시예에 따라, 오실레이터(142)는 딜레이 셀들의 단수를 조절함으로써 테스트 클럭(RODCLK)의 주기를 조절할 수 있다.
카운터(144)는, 테스트 클럭(RODCLK)을 카운팅하여 테스트 데이터(TPH_D)를 생성할 수 있다. 제 1 테스트 모드에서, 카운터(144)는, 테스트 클럭(RODCLK)을 카운팅하여 128-비트의 테스트 데이터(TPH_D)를 생성하고, 생성된 테스트 데이터(TPH_D)를 데이터 입력 회로(150)에 제공할 수 있다. 카운터(144)는, 테스트 클럭(RODCLK)을 카운팅하여 순차적으로 증가하는 128-비트의 테스트 데이터(TPH_D)를 생성할 수 있다. 예를 들어, 카운터(144)는, 테스트 클럭(RODCLK)이 토글링할 때마다 +1 씩 증가하는 테스트 데이터(TPH_D)를 생성할 수 있다.
스트로브 생성 회로(146)는, 제 1 테스트 모드 신호(TM1)가 활성화되면, 테스트 클럭(RODCLK)에 따라 테스트 라이트 동작을 알리는 라이트 스트로브 신호(WTEN)를 생성한 후, 테스트 리드 동작을 알리는 리드 스트로브 신호(IOSTBP)를 생성할 수 있다. 제안 발명의 실시예에서, 제 1 테스트 모드 신호(TM1)는 제 1 테스트 모드 시 라이트 동작을 나타내는 테스트 라이트 신호(TM1_W, 미도시)와 리드 동작을 나타내는 테스트 리드 신호(TM1_R, 미도시)를 포함할 수 있다. 예를 들어, 제 1 테스트 모드 신호(TM1)는 2-비트의 신호로 구성되어, MSB는 테스트 라이트 신호(TM1_W)에 대응되며, LSB는 테스트 리드 신호(TM1_R)에 대응될 수 있다. 스트로브 생성 회로(146)는, 테스트 라이트 신호(TM1_W)가 활성화되면, 테스트 클럭(RODCLK)이 토글링할 때마다 라이트 스트로브 신호(WTEN)를 활성화시키고, 테스트 리드 신호(TM1_R)가 활성화되면 테스트 클럭(RODCLK)이 토글링할 때마다 리드 스트로브 신호(IOSTBP)를 활성화시킬 수 있다.
데이터 입력 회로(150)는, 제 1 테스트 모드 시 패턴 생성 회로(140)로부터 제공되는 테스트 데이터(TPH_D)를 라이트 데이터(WDATA)로 입력받을 수 있다. 데이터 입력 회로(150)는, 테스트 데이터(TPH_D)를 노멀 라이트 회로(120A) 및 에러 정정 회로(160)에 제공할 수 있다. 바람직하게, 데이터 입력 회로(150)는, 리피터로 구현될 수 있다. 한편, 도면에 도시되지 않았지만, 노멀 라이트 동작 시 데이터 입력 회로(150)는, 데이터 패드들(DQ)을 통해 글로벌 데이터 라인(GIO)으로 입력되는 데이터를 입력받아 버퍼링하여 라이트 데이터(WDATA)로 노멀 라이트 회로(120A)에 전달할 수 있다.
에러 정정 회로(160)는, 라이트 데이터(WDATA)를 이용하여 라이트 패리티 비트들(WPTY)을 생성하고, 리드 패리티 비트들(RPTY)을 이용하여 리드 데이터(RDATA)의 에러를 정정하여 에러 정정된 데이터(EDATA)를 출력할 수 있다. 보다 자세하게, 에러 정정 회로(160)는, 패리티 인코더(162), 신드롬 디코더(164) 및 에러 정정기(166)를 포함할 수 있다.
패리티 인코더(162)는, 라이트 동작 시, 데이터 입력 회로(150)로부터 전달되는 라이트 데이터(WDATA)를 입력받아 라이트 패리티 비트들(WPTY)을 산출할 수 있다. 라이트 패리티 비트들(WPTY)은 라이트 데이터(WDATA)의 에러를 정정하기 위한 데이터들로, 기정의된 에러 정정 기법에 따라 생성될 수 있다. 여기서는 128 비트의 라이트 데이터(WDATA)에 대해 8 비트의 라이트 패리티 비트들(WPTY)이 생성되는 것을 예시하기로 한다. 또한, 패리티 인코더(162)는, 리드 동작 시, 리드 데이터(RDATA) 및 리드 패리티 비트들(RPTY)을 이용하여 신드롬(SYM)을 생성할 수 있다. 패리티 인코더(162)는, 상기 기정의된 에러 정정 기법에 따라 리드 데이터(RDATA)를 이용하여 패리티 비트들을 생성하고, 생성된 패리티 비트들과 리드 패리티 비트들(RPTY)과 비교하여 에러 위치 정보를 인코딩한 정보인 8-비트의 신드롬(SYM)을 생성할 수 있다. 패리티 인코더(162)는, 에러 정정 회로(160)의 인코딩 회로로 정의할 수 있다.
신드롬 디코더(164)는, 신드롬(SYM)을 토대로 리드 데이터(RDATA)의 에러 위치를 검출할 수 있다. 신드롬 디코더(164)는, 신드롬(SYM)을 디코딩하여 리드 데이터(RDATA)의 에러 위치 정보를 나타내는 128 비트의 에러 플래그(ERR_P)를 생성할 수 있다. 에러 플래그(ERR_P)는 리드 데이터(RDATA)의 어떤 비트에 에러가 존재하는지 나타낸다. 신드롬 디코더(164)는, 에러 정정 회로(160)의 디코딩 회로로 정의할 수 있다.
에러 정정기(166)는, 에러 플래그(ERR_P)에 따라 128 비트의 리드 데이터(RDATA)의 에러를 기정의된 에러 정정 기법에 따라 정정하여 128 비트의 에러 정정된 데이터(EDATA)를 출력할 수 있다.
참고로, 라이트 동작 시, 패리티 인코더(162)가 라이트 데이터(WDATA)를 입력받아 라이트 패리티 비트들(WPTY)을 산출하는 동작을 인코딩 동작으로 정의할 수 있다. 반면, 리드 동작 시, 패리티 인코더(162)가 리드 데이터(RDATA) 및 리드 패리티 비트들(RPTY)을 이용하여 신드롬(SYM)을 생성하고, 신드롬 디코더(164)가 신드롬(SYM)을 토대로 리드 데이터(RDATA)의 에러 위치를 검출하고, 에러 정정기(166)가 에러 플래그(ERR_P)에 따라 리드 데이터(RDATA)의 에러를 정정하여 에러 정정된 데이터(EDATA)를 생성하기 까지의 동작을 디코딩 동작으로 정의할 수 있다. 제 1 테스트 모드는 에러 정정 회로(160)의 인코딩 동작을 테스트하기 위한 모드이다.
한편, 메모리 장치(100)는, 제 1 테스트 모드 시 패리티 리드 회로(130B)로부터 출력되는 리드 패리티 비트들(RPTY)을 데이터 출력 회로(170)로 전달하는 제 1 연결 회로(SW1)를 더 구비할 수 있다. 제 1 연결 회로(SW1)는, 제 1 테스트 모드 신호(TM1) 중 테스트 리드 신호(TM1_R)에 따라 활성화되어, 8-비트의 리드 패리티 비트들(RPTY)을 데이터 출력 회로(170)로 전달할 수 있다.
데이터 출력 회로(170)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 테스트 데이터 라인(TGIO)로 출력할 수 있다. 본 발명의 실시예에서, 데이터 출력 회로(170)는, 제 1 테스트 모드 시 에러 정정된 데이터(EDATA)를 마스킹하고, 제 1 연결 회로(SW1)로부터 전달되는 8-비트의 리드 패리티 비트들(RPTY)을 128 개의 테스트 데이터 라인(TGIO) 중 일부 라인들에 맵핑할 수 있다. 즉, 데이터 출력 회로(170)는, 제 1 테스트 모드 신호(TM1)가 비활성화되면 에러 정정된 데이터(EDATA)를 버퍼링하여 테스트 데이터 라인(TGIO)로 출력하고, 제 1 테스트 모드 신호(TM1) 중 테스트 리드 신호(TM1_R)가 활성화되면 8-비트의 리드 패리티 비트들(RPTY)을 128 개의 테스트 데이터 라인(TGIO)의 일부 라인들에 맵핑하여 출력할 수 있다. 바람직하게, 데이터 출력 회로(170)는, 리피터로 구현될 수 있다. 한편, 도면에 도시되지 않았지만, 노멀 리드 동작 시 데이터 출력 회로(170)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 글로벌 데이터 라인(GIO)으로 출력할 수 있다.
테스트 출력 회로(180)는, 테스트 데이터 라인(TGIO)으로 전달되는 데이터를 압축하여 압축 데이터(TGIOSUM)를 출력할 수 있다. 즉, 테스트 출력 회로(180)는, 제 1 테스트 모드 시 리드 패리티 비트들(RPTY)을 압축하여 압축 데이터(TGIOSUM)를 생성하고, 그 이외의 모드 시 에러 정정된 데이터(EDATA)을 압축하여 압축 데이터(TGIOSUM)를 출력할 수 있다. 예를 들어, 테스트 출력 회로(180)는, 제 1 테스트 모드 시 리드 패리티 비트들(RPTY)의 각 비트와 타겟 테스트 패턴의 각 비트를 비교 및 압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력할 수 있다. 이 때, 타겟 테스트 패턴은, 순차적으로 증가하는 테스트 데이터(TPH_D)를 토대로 정상적으로 생성될 패리티 비트들이다. 반면, 테스트 출력 회로(180)는, 제 1 테스트 모드 이외의 모드 시 에러 정정된 데이터(EDATA)의 각 비트를 기 설정된 테스트 패턴의 각 비트와 비교 및 압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력할 수 있다. 실시예에 따라, 테스트 출력 회로(180)는, 제 1 테스트 모드 신호(TM1)를 입력받아, 타겟 테스트 패턴 혹은 기 설정된 테스트 패턴 중 하나를 선택하고, 선택된 테스트 패턴과 테스트 데이터 라인(TGIO)으로 전달되는 데이터를 비교할 수 있다.
한편, 데이터 출력 회로(170) 및 테스트 출력 회로(180)는, 출력 회로로 정의할 수 있다. 즉, 출력 회로는, 제 1 테스트 모드 시 패리티 셀 영역(114)으로부터 출력되는 리드 패리티 비트들(RPTY)을 압축하여 압축 데이터(TGIOSUM)로 출력할 수 있다.
테스트 래치(190)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드들(DQ) 중 하나로 출력할 수 있다.
한편, 도 2 에 도시되지 않았지만, 데이터 입력 회로(150), 패리티 인코더(162), 노멀 라이트 회로(120A) 및 패리티 라이트 회로(120B)는, 라이트 동작 시에 활성화될 수 있다. 예를 들어, 데이터 입력 회로(150), 패리티 인코더(162), 노멀 라이트 회로(120A) 및 패리티 라이트 회로(120B)는, 라이트 커맨드(WT)에 따라 활성화될 수 있다. 반면, 노멀 리드 회로(130A), 패리티 리드 회로(130B), 패리티 인코더(162), 신드롬 디코더(164), 에러 정정기(166) 및 데이터 출력 회로(170)는, 리드 동작 시에 활성화될 수 있다. 예를 들어, 노멀 리드 회로(130A), 패리티 리드 회로(130B), 패리티 인코더(162), 신드롬 디코더(164), 에러 정정기(166) 및 데이터 출력 회로(170)는, 리드 커맨드(RD)에 따라 활성화될 수 있다. 테스트 출력 회로(180) 및 테스트 래치(190)는, 테스트 리드 동작 시 활성화될 수 있다.
이하, 도 3 내지 도 5 를 참조하여, 도 2 의 에러 정정 회로(160)의 인코딩 동작을 검증하기 위한 테스트 동작을 설명하기로 한다.
도 3 은 도 2 의 메모리 장치(100)의 제 1 테스트 모드 시 테스트 동작(300)을 설명하기 위한 순서도 이다. 도 4 는 도 3 의 테스트 라이트 동작(S320)을 설명하기 위한 타이밍도 이고, 도 5 는 도 3 의 테스트 리드 동작(S330)을 설명하기 위한 타이밍도 이다.
도 3 을 참조하면, 제 1 테스트 모드에 진입을 알리는 제 1 테스트 모드 신호(TM1)가 활성화된다(S310). 제 1 테스트 모드 신호(TM1)는 제 1 테스트 모드 시 라이트 동작을 나타내는 테스트 라이트 신호(TM1_W)와 리드 동작을 나타내는 테스트 리드 신호(TM1_R)를 포함할 수 있다.
먼저, 테스트 라이트 신호(TM1_W)에 대응되는 제 1 테스트 모드 신호(TM1)가 활성화되면, 테스트 라이트 동작이 수행된다(S320).
도 4 를 참조하면, 패턴 생성 회로(140)의 오실레이터(142)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성한다. 카운터(144)는, 테스트 클럭(RODCLK)을 카운팅하여 순차적으로 증가하는 128-비트의 테스트 데이터(TPH_D)를 생성하고, 스트로브 생성 회로(146)는, 테스트 클럭(RODCLK)이 토글링할 때마다 테스트 라이트 동작을 알리는 라이트 스트로브 신호(WTEN)를 활성화시킨다(S322).
데이터 입력 회로(150)는, 제 1 테스트 모드 시 패턴 생성 회로(140)로부터 제공되는 테스트 데이터(TPH_D)를 라이트 데이터(WDATA)로 입력받아, 노멀 라이트 회로(120A) 및 패리티 인코더(162)에 제공한다. 패리티 인코더(162)는, 데이터 입력 회로(150)로부터 전달되는 라이트 데이터(WDATA)를 입력받아 라이트 패리티 비트들(WPTY)을 생성한다(S324).
라이트 회로(120)는, 라이트 스트로브 신호(WTEN)에 따라 노멀 셀 영역(112) 및 패리티 셀 영역(114)에 라이트 데이터(WDATA) 및 라이트 패리티 비트들(WPTY)을 각각 라이트할 수 있다(S326). 노멀 라이트 회로(120A)는, 128 비트의 라이트 데이터(WDATA)를 노멀 셀 영역(112)의 16 개의 셀 매트들에 8 비트씩 각각 라이트하고, 패리티 라이트 회로(120B)는, 패리티 인코더(162)로부터 생성된 라이트 패리티 비트들(WPTY)을 패리티 셀 영역(114)에 라이트할 수 있다.
이후, 테스트 리드 신호(TM1_R)에 대응되는 제 1 테스트 모드 신호(TM1)가 활성화되면, 테스트 리드 동작이 수행된다(S330).
도 5 를 참조하면, 패턴 생성 회로(140)의 오실레이터(142)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성한다. 스트로브 생성 회로(146)는, 테스트 클럭(RODCLK)이 토글링할 때마다 테스트 리드 동작을 알리는 리드 스트로브 신호(IOSTBP)를 활성화시킨다(S332).
리드 회로(130)는, 리드 스트로브 신호(IOSTBP)에 따라 노멀 셀 영역(112) 및 패리티 셀 영역(114)으로부터 리드 데이터(RDATA) 및 리드 패리티 비트들(RPTY)을 독출할 수 있다(S332). 노멀 리드 회로(130A)는, 노멀 셀 영역(112)으로부터 출력되는 리드 데이터(RDATA)를 감지/증폭하고, 패리티 리드 회로(130B)는, 패리티 셀 영역(114)으로부터 출력되는 리드 패리티 비트들(RPTY)을 감지/증폭할 수 있다.
이 때, 제 1 연결 회로(SW1)는, 제 1 테스트 모드 신호(TM1)에 따라 활성화되어, 8-비트의 리드 패리티 비트들(RPTY)을 데이터 출력 회로(170)로 전달할 수 있다. 데이터 출력 회로(170)는, 8-비트의 리드 패리티 비트들(RPTY)을 128 개의 테스트 데이터 라인(TGIO) 중 일부 라인들(예를 들어, 하위 8 라인들(TGIO<0:7>)에 맵핑하여 출력한다. 테스트 출력 회로(180)는, 테스트 데이터 라인(TGIO)으로 전달되는 리드 패리티 비트들(RPTY)을 타겟 테스트 패턴과 비교/압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력할 수 있다(S336). 테스트 래치(190)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드(DQ)로 출력할 수 있다(S338).
예를 들어, 도 5 에 도시된 바와 같이, 4 번째로 활성화되는 리드 스트로브 신호(IOSTBP)에 따라 패리티 셀 영역(114)으로부터 독출된 리드 패리티 비트들(RPTY) “ECC_3”이 타겟 테스트 패턴과 다른 경우, 테스트 출력 회로(180)는, 압축 페일(FAIL)을 알리기 위해 로직 하이 레벨의 압축 데이터(TGIOSUM)를 출력할 수 있다. 테스트 래치(190)는, 압축 데이터(TGIOSUM)가 한번이라도 로직 하이 레벨이 되면 그 값을 래치하고, 이 후 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드(DQ)로 출력할 수 있다. 외부 컨트롤러 혹은 테스트 장치는 로직 하이 레벨의 신호에 따라 해당 뱅크의 에러 정정 회로(160)의 인코딩 동작에 결함이 있음을 판단할 수 있다.
반면, 리드 스트로브 신호(IOSTBP)에 따라 패리티 셀 영역(114)으로부터 독출된 모든 리드 패리티 비트들(RPTY)이 타겟 테스트 패턴과 동일한 경우, 테스트 출력 회로(180)는, 로직 로우 레벨을 유지하는 압축 데이터(TGIOSUM)를 생성할 수 있다. 이 경우, 테스트 래치(190)는, 데이터 패드(DQ)를 통해 로직 로우 레벨의 신호를 출력하고 외부 컨트롤러 혹은 테스트 장치는 로직 로우 레벨의 신호에 따라 해당 뱅크의 에러 정정 회로(160)의 인코딩 동작이 정상적으로 동작하고 있음을 판단할 수 있다.
상기와 같이, 제안 발명의 실시예에서는, 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 내부에서 생성된 클럭을 이용하여 에러 정정 회로에서 발생할 수 있는 불량을 검출함으로써 외부 클럭 속도와 상관없는 고속 혹은 저속으로 테스트를 수행할 수 있다.
도 6 은 본 발명의 실시예에 따른 메모리 장치(200)의 구성을 설명하기 위한 블록 구성도이다. 도 6 에는 하나의 뱅크를 포함하는 메모리 장치(200)가 도시되어 있으며, 뱅크의 에러 정정 회로의 디코딩 동작을 검증하기 위한 구성이 도시되어 있다.
도 6 을 참조하면, 메모리 장치(200)는, 노멀 셀 영역(212), 패리티 셀 영역(214), 라이트 회로(220), 리드 회로(230), 패턴 생성 회로(240), 데이터 입력 회로(250), 에러 정정 회로(260), 데이터 출력 회로(270), 테스트 출력 회로(280) 및 테스트 래치(290)를 포함할 수 있다. 도 6 의 노멀 셀 영역(212), 패리티 셀 영역(214), 라이트 회로(220), 리드 회로(230), 테스트 출력 회로(280) 및 테스트 래치(290)는 도 2 의 메모리 장치(100)의 각 구성들과 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
패턴 생성 회로(240)는 제 2 테스트 모드 시 순차적으로 증가하는 테스트 데이터(TPH_P)를 생성할 수 있다. 패턴 생성 회로(240)는, 오실레이터(242), 카운터(244) 및 스트로브 생성 회로(246)를 포함할 수 있다. 패턴 생성 회로(240)는, 제 2 테스트 모드로의 진입을 알리는 제 2 테스트 모드 신호(TM2)에 따라 활성화된다는 점만 제외하고는, 도 2 의 패턴 생성 회로(140)와 실질적으로 동일한 구성을 가질 수 있다. 하지만, 도 2 패턴 생성 회로(140)와는 다르게, 패턴 생성 회로(240)에서 생성된 테스트 데이터(TPH_P)는, 리드 패리티 비트들(RPTY)과 같은 비트수(즉, 8 비트)로 구성되어, 에러 정정 회로(260)에 리드 패리티 비트들(RPTY)로 제공될 수 있다.
데이터 입력 회로(250)는, 데이터 패드들을 통해 글로벌 데이터 라인(GIO)으로 입력되는 데이터를 입력받을 수 있다. 데이터 입력 회로(250)는 도 2 의 데이터 입력 회로(150)와 실질적으로 동일한 구성을 가질 수 있다.
에러 정정 회로(260)는, 라이트 데이터(WDATA)를 이용하여 라이트 패리티 비트들(WPTY)을 생성하고, 리드 패리티 비트들(RPTY)을 이용하여 리드 데이터(RDATA)의 에러를 정정하여 에러 정정된 데이터(EDATA)를 출력할 수 있다. 보다 자세하게, 에러 정정 회로(260)는, 패리티 인코더(262), 신드롬 디코더(264) 및 에러 정정기(266)를 포함할 수 있다. 에러 정정 회로(260)는, 도 2 의 에러 정정 회로(160)와 실질적으로 동일한 구성을 가질 수 있다.
데이터 출력 회로(270)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 테스트 데이터 라인(TGIO)로 출력할 수 있다. 한편, 도면에 도시되지 않았지만, 노멀 리드 동작 시 데이터 출력 회로(270)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 글로벌 데이터 라인(GIO)으로 출력할 수 있다.
한편, 메모리 장치(200)는, 제 2 테스트 모드 시 노멀 리드 회로(230A)을 통해 노멀 셀 영역(212)으로부터 출력되는 리드 데이터(RDATA)를 마스킹 하기 위한 마스킹 회로(292)를 더 포함할 수 있다. 마스킹 회로(292)는, 제 2 테스트 모드 신호(TM2)가 활성화되면, 노멀 셀 영역(212)으로부터 출력되는 리드 데이터(RDATA)를 마스킹하고, 올-제로 데이터를 마스킹 데이터(MDATA)로 출력할 수 있다. 반면, 마스킹 회로(292)는, 제 2 테스트 모드 신호(TM2)가 비활성화되면, 노멀 셀 영역(212)으로부터 출력되는 리드 데이터(RDATA)를 마스킹 데이터(MDATA)로 출력할 수 있다. 마스킹 데이터(MDATA)는, 에러 정정 회로(260)의 패리티 인코더(262) 및 에러 정정기(264)로 제공될 수 있다.
또한, 메모리 장치(200)는, 제 2 테스트 모드 시 패리티 리드 회로(230B)로부터 출력되는 리드 패리티 비트들(RPTY)가 패리티 인코더(262)로 전달되지 않도록 제어하는 제 2 연결 회로(SW2)를 더 구비할 수 있다. 제 2 연결 회로(SW2)는, 제 2 테스트 모드 신호(TM2)의 반전 신호(/TM2)에 따라 활성화되어, 8-비트의 리드 패리티 비트들(RPTY)을 패리티 인코더(262)로 전달할 수 있다. 즉, 제 2 연결 회로(SW2)는, 제 2 테스트 모드 신호(TM2)가 비활성화되면 8-비트의 리드 패리티 비트들(RPTY)을 패리티 인코더(262)로 전달할 수 있다. 반면, 제 2 연결 회로(SW2)는, 제 2 테스트 모드 신호(TM2)가 활성화되면, 8-비트의 리드 패리티 비트들(RPTY)이 패리티 인코더(262)로 전달되지 않도록 마스킹할 수 있다.
패리티 인코더(262)는, 리드 동작 시, 마스킹 데이터(MDATA) 및 리드 패리티 비트들(RPTY)을 이용하여 신드롬(SYM)을 생성할 수 있다. 패리티 인코더(262)는, 기정의된 에러 정정 기법에 따라 마스킹 데이터(MDATA)를 이용하여 패리티 비트들을 생성하고, 생성된 패리티 비트들을 리드 패리티 비트들(RPTY)과 비교하여 에러 위치 정보를 인코딩한 정보인 8-비트의 신드롬(SYM)을 생성할 수 있다. 신드롬 디코더(264)는 신드롬(SYM)을 토대로 리드 데이터(RDATA)의 에러 위치를 검출하고, 에러 정정기(266)는 에러 플래그(ERR_P)에 따라 리드 데이터(RDATA)의 에러를 정정하여 에러 정정된 데이터(EDATA)를 출력할 수 있다. 제 2 테스트 모드는 에러 정정 회로(260)의 이러한 디코딩 동작을 테스트하기 위한 모드이다.
이하, 도 7 및 도 8 을 참조하여, 도 6 의 에러 정정 회로(260)의 디코딩 동작을 검증하기 위한 테스트 동작을 설명하기로 한다.
도 7 은 도 6 의 메모리 장치(200)의 제 2 테스트 모드 시 테스트 동작(700)을 설명하기 위한 순서도 이다. 도 8 은 도 7 의 테스트 동작의 이해를 돕기 위한 타이밍도 이다.
도 7 을 참조하면, 제 2 테스트 모드에 진입을 알리는 제 2 테스트 모드 신호(TM2)가 활성화된다(S710). 제안 발명의 실시예에서, 제 2 테스트 모드 신호(TM2)는 테스트 리드 동작을 수행하기 위해 활성화될 수 있다. 하지만, 제안 발명은 이에 한정되지 않으며, 실시예에 따라, 테스트 라이트 동작을 수행하기 위해 제 2 테스트 모드 신호(TM2)가 활성화되는 경우, 패턴 생성 회로(240)의 스트로브 생성 회로(246)는, 테스트 클럭(RODCLK)이 토글링할 때마다 라이트 스트로브 신호(WTEN)를 활성화시키고, 라이트 회로(220)는, 노멀 셀 영역(212) 및 패리티 셀 영역(214)에 글로벌 데이터 라인(GIO)을 통해 입력되는 라이트 데이터(WDATA) 및 라이트 패리티 비트들(WPTY)을 각각 라이트할 수 있다.
도 8 을 참조하면, 테스트 리드 동작을 위해 제 2 테스트 모드 신호(TM2)가 활성화되면, 패턴 생성 회로(240)의 오실레이터(242)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성한다. 카운터(244)는, 테스트 클럭(RODCLK)을 카운팅하여 순차적으로 증가하는 8-비트의 테스트 데이터(TPH_P)를 생성한다(S720). 한편, 스트로브 생성 회로(246)는, 테스트 클럭(RODCLK)이 토글링할 때마다 테스트 리드 동작을 알리는 리드 스트로브 신호(IOSTBP)를 활성화시킬 수 있다. 테스트 데이터(TPH_P)는, 리드 패리티 비트들(RPTY)로 패리티 인코더(262)로 제공된다.
이 때, 마스킹 회로(292)는, 제 2 테스트 모드 신호(TM2)에 따라 활성화되어, 리드 데이터(RDATA)를 마스킹하고, 올-제로 데이터를 마스킹 데이터(MDATA)로 출력한다. 제 2 연결 회로(SW2)는, 리드 패리티 비트들(RPTY)가 패리티 인코더(270)로 전달되지 않도록 마스킹할 수 있다(S730).
패리티 인코더(262)는, 마스킹 데이터(MDATA) 및 테스트 데이터(TPH_P)을 이용하여 신드롬(SYM)을 생성할 수 있다(S740). 즉, 패리티 인코더(262)는, 마스킹 데이터(MDATA)를 이용하여 패리티 비트들을 생성하고, 생성된 패리티 비트들을 리드 패리티 비트들(RPTY)을 에러 정정 기법에 따라 정의된 신드롬 생성 규칙에 따라 리드 패리티 비트들(RPTY)과 비교하여 에러 위치 정보를 인코딩한 정보인 8-비트의 신드롬(SYM)을 생성할 수 있다. 신드롬 디코더(264)는, 신드롬(SYM)을 디코딩하여 마스킹 데이터(MDATA)의 에러 위치 정보를 나타내는 128 비트의 에러 플래그(ERR_P)를 생성할 수 있다(S750). 에러 정정기(266)는, 에러 플래그(ERR_P)에 따라 128 비트의 리드 데이터(RDATA)의 에러를 기정의된 에러 정정 기법에 따라 정정하여 128 비트의 에러 정정된 데이터(EDATA)를 출력할 수 있다(S760).
데이터 출력 회로(270)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 테스트 데이터 라인(TGIO)로 출력하고, 테스트 출력 회로(280)는, 에러 정정된 데이터(EDATA)을 기 설정된 테스트 패턴과 비교/압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력할 수 있다(S770). 테스트 래치(290)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드로 출력할 수 있다(S780).
예를 들어, 도 8 에 도시된 바와 같이, 테스트 클럭(RODCLK)의 5 번째로 주기 동안 생성되는 “00000100”의 테스트 데이터(TPH_P)와 올-제로 데이터인 마스킹 데이터(MDATA)를 이용하여 에러 정정된 데이터(EDATA)를 출력할 수 있다. 에러 정정된 데이터(EDATA)가 기 설정된 테스트 패턴과 다른 경우, 테스트 출력 회로(280)는, 페일(FAIL)을 알리기 위해 로직 하이 레벨의 압축 데이터(TGIOSUM)를 출력할 수 있다. 이 때, 기 설정된 테스트 패턴은 순차적으로 증가하는 패리티 비트들과 올-제로 데이터를 이용하여 정상적으로 에러 정정된 데이터로, 올-제로 데이터일 수 있다. 테스트 래치(290)는, 압축 데이터(TGIOSUM)가 한번이라도 로직 하이 레벨이 되면 그 값을 래치하고, 이 후 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드(DQ)로 출력할 수 있다. 외부 컨트롤러 혹은 테스트 장치는 로직 하이 레벨의 신호에 따라 해당 뱅크의 에러 정정 회로(260)의 디코딩 동작에 결함이 있음을 판단할 수 있다. 반면, 에러 정정된 데이터(EDATA)가 기 설정된 테스트 패턴과 동일한 경우, 테스트 출력 회로(280)는, 로직 로우 레벨을 유지하는 압축 데이터(TGIOSUM)를 출력할 수 있다. 이 경우, 테스트 래치(290)는, 데이터 패드(DQ)를 통해 로직 로우 레벨의 신호를 출력하고 외부 컨트롤러 혹은 테스트 장치는 로직 로우 레벨의 신호에 따라 해당 뱅크의 에러 정정 회로(260)의 디코딩 동작이 정상적으로 동작하고 있음을 판단할 수 있다.
상기와 같이, 제안 발명의 실시예에서는, 에러 정정 회로의 디코딩 동작을 검증하기 위해 노멀 셀 영역으로부터 출력되는 리드 데이터 대신 올-제로 데이터를 이용함으로써 셀 불량에 기인한 페일(예를 들어, 리프레쉬, 단선 등)과 무관하게 오직 에러 정정 회로의 불량에 기인한 페일만을 구분할 수 있다.
도 9 는 본 발명의 실시예에 따른 메모리 장치(300)의 구성을 설명하기 위한 블록 구성도이다. 도 9 에는 하나의 뱅크를 포함하는 메모리 장치(300)가 도시되어 있으며, 뱅크의 에러 정정 회로의 인코딩 동작과 디코딩 동작을 모두 검증하기 위한 구성이 도시되어 있다.
도 9 를 참조하면, 메모리 장치(300)는, 노멀 셀 영역(312), 패리티 셀 영역(314), 라이트 회로(320), 리드 회로(330), 패턴 생성 회로(340), 데이터 입력 회로(350), 에러 정정 회로(360), 데이터 출력 회로(370), 테스트 출력 회로(380) 및 테스트 래치(390)를 포함할 수 있다. 에러 정정 회로(360)는, 패리티 인코더(362), 신드롬 디코더(364) 및 에러 정정기(366)를 포함할 수 있다. 또한, 메모리 장치(300)는, 도 2 에서 설명된 인코딩 동작을 검증하기 위한 구성으로 제 1 연결 회로(SW3)를 더 포함하고, 도 6 에서 설명된 디코딩 동작을 검증하기 위한 구성으로 마스킹 회로(392) 및 제 2 연결 회로(SW4)를 더 포함할 수 있다.
도 9 의 노멀 셀 영역(312), 패리티 셀 영역(314), 라이트 회로(320), 리드 회로(330), 데이터 입력 회로(350), 에러 정정 회로(360), 데이터 출력 회로(370), 테스트 출력 회로(380), 테스트 래치(390) 및 제 1 연결 회로(SW3)는 도 2 의 메모리 장치(100)의 각 구성들과 실질적으로 동일하므로 상세한 설명은 생략하기로 한다. 도 9 의 마스킹 회로(392) 및 제 2 연결 회로(SW4)는 도 6 의 메모리 장치(200)의 각 구성들과 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
패턴 생성 회로(340)는, 제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터(TPH_D)를 생성하고, 제 2 테스트 모드 시 순차적으로 증가하는 테스트 데이터(TPH_P)를 생성할 수 있다. 제 1 테스트 모드 시 테스트 데이터(TPH_D)는, 라이트 데이터(WDATA)와 같은 비트수(즉, 128 비트)로 구성되어, 데이터 입력 회로(350)를 통해 노멀 라이트 회로(320A)에 라이트 데이터(WDATA)로 제공될 수 있다. 제 2 테스트 모드 시 테스트 데이터(TPH_P)는, 리드 패리티 비트들(RPTY)과 같은 비트수(즉, 8 비트)로 구성되어, 에러 정정 회로(360)의 패리티 인코더(362)에 리드 패리티 비트들(RPTY)로 제공될 수 있다.
보다 상세하게, 패턴 생성 회로(340)는, 오실레이터(342), 카운터(344), 스트로브 생성 회로(346), 제 3 연결 회로(SW5) 및 제 4 연결 회로(SW6)를 포함할 수 있다.
오실레이터(342)는, 제 1 테스트 모드 신호(TM1) 또는 제 2 테스트 모드 신호(TM2)가 활성화되면, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성할 수 있다. 카운터(344)는, 테스트 클럭(RODCLK)을 카운팅하여 테스트 데이터(TPH_D) 및 테스트 데이터(TPH_P)를 생성할 수 있다.
카운터(344)는, 테스트 클럭(RODCLK)을 카운팅하여 128-비트의 테스트 데이터(TPH_D)와 8-비트의 테스트 데이터(TPH_P)를 생성할 수 있다. 실시예에 따라, 카운터(344)는, 제 1 테스트 모드 신호(TM1) 및 제 2 테스트 모드 신호(TM2)를 입력받아, 해당 테스트 모드에 대응되는 테스트 데이터를 선택적으로 생성할 수 있다.
제 3 연결 회로(SW5)는, 제 1 테스트 모드 신호(TM1)에 따라 카운터(344)에서 생성되는 테스트 데이터(TPH_D)를 데이터 입력 회로(350)로 제공할 수 있다. 제 4 연결 회로(SW6)는, 제 2 테스트 모드 신호(TM2)에 따라 카운터(344)에서 생성되는 테스트 데이터(TPH_P)를 에러 정정 회로(360)의 패리티 인코더(362)에 제공할 수 있다.
스트로브 생성 회로(346)는, 제 1 테스트 모드 신호(TM1) 또는 제 2 테스트 모드 신호(TM2)가 활성화되면, 테스트 클럭(RODCLK)에 따라 테스트 라이트 동작을 알리는 라이트 스트로브 신호(WTEN)를 생성한 후, 테스트 리드 동작을 알리는 리드 스트로브 신호(IOSTBP)를 생성할 수 있다.
이하, 도 10a 내지 도 11 을 참조하여 도 9 의 메모리 장치(300)의 테스트 동작을 설명하기로 한다.
도 10a 및 도 10b 는 도 9 의 에러 정정 회로(360)의 인코딩 동작을 검증하기 위한 테스트 동작을 설명하기 위한 도면 이다.
도 10a 를 참조하면, 테스트 라이트 신호(TM1_W)에 대응되는 제 1 테스트 모드 신호(TM1)가 활성화되어 테스트 라이트 동작이 수행된다.
패턴 생성 회로(340)의 오실레이터(342)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성한다. 카운터(344)는, 테스트 클럭(RODCLK)을 카운팅하여 순차적으로 증가하는 128-비트의 테스트 데이터(TPH_D)를 생성하고, 제 3 연결 회로(SW5)는, 테스트 데이터(TPH_D)를 데이터 입력 회로(350)로 제공한다. 스트로브 생성 회로(346)는, 테스트 클럭(RODCLK)이 토글링할 때마다 라이트 스트로브 신호(WTEN)를 활성화시킨다.
데이터 입력 회로(350)는, 테스트 데이터(TPH_D)를 라이트 데이터(WDATA)로 입력받아, 노멀 라이트 회로(320A) 및 패리티 인코더(362)에 제공한다. 패리티 인코더(362)는, 라이트 데이터(WDATA)를 입력받아 라이트 패리티 비트들(WPTY)을 생성한다. 라이트 회로(320)는, 라이트 스트로브 신호(WTEN)에 따라 노멀 셀 영역(312) 및 패리티 셀 영역(314)에 라이트 데이터(WDATA) 및 라이트 패리티 비트들(WPTY)을 각각 라이트 한다.
도 10b 를 참조하면, 테스트 리드 신호(TM1_R)에 대응되는 제 1 테스트 모드 신호(TM1)가 활성화되어 테스트 리드 동작이 수행된다.
패턴 생성 회로(340)는 테스트 클럭(RODCLK)이 토글링할 때마다 리드 스트로브 신호(IOSTBP)를 활성화시킨다. 리드 회로(330)는, 리드 스트로브 신호(IOSTBP)에 따라 노멀 셀 영역(312) 및 패리티 셀 영역(314)으로부터 리드 데이터(RDATA) 및 리드 패리티 비트들(RPTY)을 독출한다. 이 때, 제 1 연결 회로(SW3)는, 8-비트의 리드 패리티 비트들(RPTY)을 데이터 출력 회로(370)로 전달한다. 데이터 출력 회로(370)는, 8-비트의 리드 패리티 비트들(RPTY)을 128 개의 테스트 데이터 라인(TGIO) 중 일부 라인들에 맵핑하고, 테스트 출력 회로(380)는, 테스트 데이터 라인(TGIO)으로 전달되는 리드 패리티 비트들(RPTY)을 타겟 테스트 패턴과 비교/압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력한다. 테스트 래치(390)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드(DQ)로 출력할 수 있다.
도 11 은 도 9 의 에러 정정 회로(360)의 디코딩 동작을 검증하기 위한 테스트 동작을 설명하기 위한 도면 이다.
도 11 을 참조하면, 제 2 테스트 모드 신호(TM2)가 활성화되면, 패턴 생성 회로(340)의 오실레이터(342)는, 소정 주기로 토글링하는 테스트 클럭(RODCLK)을 생성한다. 카운터(344)는, 테스트 클럭(RODCLK)을 카운팅하여 순차적으로 증가하는 8-비트의 테스트 데이터(TPH_P)를 생성하고, 제 4 연결 회로(SW6)는, 테스트 데이터(TPH_P)를 패리티 인코더(362)로 제공한다. 스트로브 생성 회로(346)는, 테스트 클럭(RODCLK)이 토글링할 때마다 리드 스트로브 신호(IOSTBP)를 활성화시킨다. 이 때, 마스킹 회로(392)는, 리드 데이터(RDATA)를 마스킹하고, 올-제로 데이터를 마스킹 데이터(MDATA)로 출력한다. 제 2 연결 회로(SW4)는, 리드 패리티 비트들(RPTY)가 패리티 인코더(370)로 전달되지 않도록 마스킹할 수 있다.
패리티 인코더(362)는, 마스킹 데이터(MDATA) 및 테스트 데이터(TPH_P)을 이용하여 신드롬(SYM)을 생성하고, 신드롬 디코더(364)는, 신드롬(SYM)을 디코딩하여 마스킹 데이터(MDATA)의 에러 위치 정보를 나타내는 128 비트의 에러 플래그(ERR_P)를 생성한다. 에러 정정기(366)는, 에러 플래그(ERR_P)에 따라 128 비트의 리드 데이터(RDATA)의 에러를 기정의된 에러 정정 기법에 따라 정정하여 128 비트의 에러 정정된 데이터(EDATA)를 출력할 수 있다.
데이터 출력 회로(370)는, 에러 정정된 데이터(EDATA)를 버퍼링하여 테스트 데이터 라인(TGIO)로 출력하고, 테스트 출력 회로(380)는, 에러 정정된 데이터(EDATA)을 기 설정된 테스트 패턴과 비교/압축하여, 패스/페일(PASS/FAIL)을 알려주는 1-비트의 압축 데이터(TGIOSUM)를 출력한다. 테스트 래치(390)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드로 출력할 수 있다.
한편, 상기의 실시예들에서는 하나의 뱅크에서 수행되는 테스트 동작을 설명하였다. 이하에서는, 적어도 2 개 이상의 멀티-뱅크를 가지는 메모리 장치의 테스트 동작을 수행하기 위한 구성을 설명하기로 한다.
도 12 는 본 발명의 실시예에 따른 멀티-뱅크 구조의 메모리 장치(400)의 구성을 설명하기 위한 블록 구성도이다.
도 12 를 참조하면, 메모리 장치(400)는, 제 1 내지 제 4 메모리 뱅크(BK0~BK3), 패턴 생성 회로(410), 테스트 출력 회로(420) 및 테스트 래치(430)를 포함한다. 즉, 제 1 내지 제 4 메모리 뱅크(BK0~BK3)는 각각, 도 9 의 메모리 장치(300)에서 패턴 생성 회로(340), 테스트 출력 회로(380) 및 테스트 래치(390)가 배제된 구성을 가질 수 있다. 메모리 장치(400)는, 노멀 셀 영역(312), 패리티 셀 영역(314), 라이트 회로(320), 리드 회로(330), 데이터 입력 회로(350), 에러 정정 회로(360), 데이터 출력 회로(370), 마스킹 회로(392) 및 제 1 및 제 2 연결 회로(SW3, SW4)를 포함할 수 있다.
패턴 생성 회로(410)는, 제 1 테스트 모드 신호(TM1)가 활성화되면 순차적으로 증가하는 테스트 데이터(TPH_D)를 생성하고, 제 2 테스트 모드 신호(TM2)가 활성화되면 순차적으로 증가하는 테스트 데이터(TPH_P)를 생성할 수 있다. 또한, 패턴 생성 회로(410)는, 제 1 테스트 모드 신호(TM1) 또는 제 2 테스트 모드 신호(TM2)가 활성화되면, 테스트 라이트 동작을 알리는 라이트 스트로브 신호(WTEN)를 생성한 후, 테스트 리드 동작을 알리는 리드 스트로브 신호(IOSTBP)를 생성할 수 있다. 패턴 생성 회로(410)는, 도 9 의 패턴 생성 회로(340)와 실질적으로 동일한 구성을 가질 수 있다.
제 1 내지 제 4 메모리 뱅크(BK0~BK3)는 각각, 제 1 테스트 모드 신호(TM1)가 활성화되면, 패턴 생성 회로(410)로부터 테스트 데이터(TPH_D), 라이트 스트로브 신호(WTEN) 및 리드 스트로브 신호(IOSTBP)를 입력받아, 도 10a 및 도 10b 에서 설명한 인코딩 동작을 수행하여 8-비트의 리드 패리티 비트들(RPTY)을 테스트 데이터 라인(TGIO) 중 일부 라인들에 맵핑하여 출력할 수 있다. 또한, 제 1 내지 제 4 메모리 뱅크(BK0~BK3)는 각각, 제 2 테스트 모드 신호(TM2)가 활성화되면, 패턴 생성 회로(410)로부터 테스트 데이터(TPH_P) 및 리드 스트로브 신호(IOSTBP)를 입력받아, 도 11 에서 설명한 마스킹 데이터(MDATA) 및 테스트 데이터(TPH_P)를 이용하여 생성된 128 비트의 에러 정정된 데이터(EDATA)를 테스트 데이터 라인(TGIO)로 출력할 수 있다.
테스트 출력 회로(420)는, 각 뱅크로부터 테스트 데이터 라인(TGIO)을 통해 전달되는 데이터(BDATA0~BDATA3)를 압축하여 압축 데이터(TGIOSUM)를 출력할 수 있다. 테스트 래치(430)는, 압축 데이터(TGIOSUM)를 래치하고, 테스트 출력 신호(TSRM_R)에 따라 래치된 압축 데이터를 데이터 패드들(DQ) 중 하나로 출력할 수 있다.
상기와 같이, 제안 발명에서는, 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 내부에서 생성된 클럭을 이용하여 에러 정정 회로에서 발생할 수 있는 불량을 검출함으로써 외부 클럭 속도와 상관없는 고속 혹은 저속으로 테스트를 수행할 수 있다. 또한, 제안 발명에서는, 셀 영역의 접근 없이 에러 정정 회로 만을 검증할 수 있어 에러 정정 회로 자체의 결함을 발견할 수 있는 동시에 테스트 시간을 줄일 수 있다.
제안된 실시예에 따른 메모리 장치는 온-칩(ON-CHIP) ECC 스킴을 채용한 메모리 장치에서, 동시에 다수의 뱅크들의 출력 데이터를 압축하여 출력함으로써 테스트 시간을 줄일 수 있는 효과가 있다 노멀 셀 영역과 패리티 셀 영역뿐 아니라 패리티 생성 회로를 함께 테스트함으로써 테스트 시간을 더욱 줄일 수 있는 효과가 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기록되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
예컨대, 전술한 실시예에서 예시한 논리 게이트 및 트랜지스터는 입력되는 신호의 극성에 따라 그 위치 및 종류가 다르게 구현되어야 할 것이다.

Claims (26)

  1. 라이트 데이터를 저장하고 리드 데이터를 출력하는 노멀 셀 영역;
    라이트 패리티 비트들을 저장하고 리드 패리티 비트들을 출력하는 패리티 셀 영역;
    제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하여 상기 라이트 데이터로 제공하는 패턴 생성 회로;
    상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 패리티 비트들을 이용하여 상기 리드 데이터의 에러를 정정하여 에러 정정된 데이터를 출력하는 에러 정정 회로; 및
    상기 에러 정정된 데이터를 압축하여 압축 데이터를 출력하되, 상기 제 1 테스트 모드 시 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들을 압축하여 상기 압축 데이터를 출력하는 출력 회로
    를 포함하는 메모리 장치.
  2. 제 1 항에 있어서,
    상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 테스트 래치
    를 더 포함하는 메모리 장치.
  3. 제 1 항에 있어서,
    상기 출력 회로는,
    상기 에러 정정된 데이터를 테스트 데이터 라인들로 출력하며, 상기 제 1 테스트 모드 시 상기 리드 패리티 비트들을 상기 테스트 데이터 라인들 중 일부 라인들로 맵핑하여 출력하는 데이터 출력 회로; 및
    상기 테스트 데이터 라인들의 데이터를 압축하여 상기 압축 데이터를 출력하는 테스트 출력 회로
    를 포함하는 메모리 장치.
  4. 제 3 항에 있어서,
    상기 제 1 테스트 모드 시, 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들을 상기 출력 회로로 전달하는 제 1 연결 회로
    를 더 포함하는 메모리 장치.
  5. 제 1 항에 있어서,
    상기 패턴 생성 회로는,
    제 1 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 오실레이터; 및
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 카운터
    를 포함하는 메모리 장치.
  6. 제 5 항에 있어서,
    상기 패턴 생성 회로는,
    상기 제 1 테스트 모드 신호가 활성화되면, 상기 테스트 클럭에 따라 테스트 라이트 동작을 알리는 라이트 스트로브 신호를 생성한 후, 테스트 리드 동작을 알리는 리드 스트로브 신호를 생성하는 스트로브 신호 생성 회로
    를 더 포함하는 메모리 장치.
  7. 제 6 항에 있어서,
    상기 라이트 스트로브 신호에 따라 상기 노멀 셀 영역 및 상기 패리티 셀 영역에 상기 라이트 데이터 및 상기 라이트 패리티 비트들을 각각 라이트하는 라이트 회로; 및
    상기 리드 스트로브 신호에 따라 상기 노멀 셀 영역 및 상기 패리티 셀 영역으로부터 상기 리드 데이터 및 상기 리드 패리티 비트들을 독출하는 리드 회로
    를 더 포함하는 메모리 장치.
  8. 제 1 항에 있어서,
    상기 패턴 생성 회로는,
    제 2 테스트 모드 시 상기 테스트 데이터를 상기 리드 패리티 비트들로 제공하고,
    상기 출력 회로는,
    상기 제 2 테스트 모드 시 상기 에러 정정된 데이터를 압축하여 상기 압축 데이터를 출력하는 메모리 장치.
  9. 제 8 항에 있어서,
    상기 제 2 테스트 모드 시, 상기 노멀 셀 영역으로부터 출력되는 상기 리드 데이터를 올-제로 또는 올-하이 데이터로 마스킹하여 출력하는 마스킹 회로; 및
    상기 제 2 테스트 모드 시, 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들이 상기 에러 정정 회로로 전달되지 않도록 제어하는 제 2 연결 회로
    를 더 포함하는 메모리 장치.
  10. 제 8 항에 있어서,
    상기 패턴 생성 회로는,
    제 1 테스트 모드 신호 또는 제 2 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 오실레이터;
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 카운터;
    상기 제 1 테스트 모드 신호에 따라 상기 테스트 데이터를 상기 라이트 데이터로 제공하기 위한 제 3 연결 회로; 및
    상기 제 2 테스트 모드 신호에 따라 상기 테스트 데이터를 상기 리드 패리티 비트들로 제공하기 위한 제 4 연결 회로
    를 포함하는 메모리 장치.
  11. 제 1 항에 있어서,
    상기 에러 정정 회로는,
    상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 데이터 및 상기 리드 패리티 비트들을 이용하여 신드롬을 생성하는 패리티 인코더;
    상기 신드롬을 토대로 상기 리드 데이터의 에러 위치를 검출하는 신드롬 디코더; 및
    상기 검출된 에러 위치에 따라 상기 리드 데이터의 에러를 정정하는 에러 정정기
    를 포함하는 메모리 장치.
  12. 다수의 뱅크들 - 각 뱅크는, 라이트 데이터를 저장하고 리드 데이터를 출력하는 노멀 셀 영역, 라이트 패리티 비트들을 저장하고 리드 패리티 비트들을 출력하는 패리티 셀 영역, 상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 패리티 비트들을 이용하여 상기 리드 데이터의 에러를 정정하여 에러 정정된 데이터를 출력하는 에러 정정 회로 및 상기 에러 정정된 데이터를 테스트 데이터 라인들로 출력하며, 제 1 테스트 모드 시 상기 리드 패리티 비트들을 상기 테스트 데이터 라인들 중 일부 라인들로 맵핑하여 출력하는 데이터 출력 회로를 포함함 -;
    순차적으로 증가하는 테스트 데이터를 생성하고, 상기 제 1 테스트 모드 시 상기 테스트 데이터를 상기 라이트 데이터로 상기 각 뱅크에 제공하는 패턴 생성 회로; 및
    상기 테스트 데이터 라인들의 데이터를 압축하여 압축 데이터를 출력하는 테스트 출력 회로
    를 포함하는 메모리 장치.
  13. 제 12 항에 있어서,
    상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 테스트 래치
    를 더 포함하는 메모리 장치.
  14. 제 12 항에 있어서,
    상기 패턴 생성 회로는,
    제 1 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 오실레이터;
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 카운터; 및
    상기 제 1 테스트 모드 신호가 활성화되면, 상기 테스트 클럭에 따라 테스트 라이트 동작을 알리는 라이트 스트로브 신호를 생성한 후, 테스트 리드 동작을 알리는 리드 스트로브 신호를 생성하는 스트로브 신호 생성 회로
    를 포함하는 메모리 장치.
  15. 제 14 항에 있어서,
    상기 다수의 뱅크들 각각은,
    상기 라이트 스트로브 신호에 따라 상기 노멀 셀 영역 및 상기 패리티 셀 영역에 상기 라이트 데이터 및 상기 라이트 패리티 비트들을 각각 라이트하는 라이트 회로; 및
    상기 리드 스트로브 신호에 따라 상기 노멀 셀 영역 및 상기 패리티 셀 영역으로부터 상기 리드 데이터 및 상기 리드 패리티 비트들을 독출하는 리드 회로
    를 더 포함하는 메모리 장치.
  16. 제 12 항에 있어서,
    상기 다수의 뱅크들 각각은,
    상기 제 1 테스트 모드 시, 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들을 상기 데이터 출력 회로로 전달하는 제 1 연결 회로
    를 더 포함하는 메모리 장치.
  17. 제 12 항에 있어서,
    상기 패턴 생성 회로는,
    제 2 테스트 모드 시 상기 테스트 데이터를 상기 리드 패리티 비트들로 상기 각 뱅크에 제공하는 메모리 장치.
  18. 제 17 항에 있어서,
    상기 다수의 뱅크들 각각은,
    상기 제 2 테스트 모드 시, 상기 노멀 셀 영역으로부터 출력되는 상기 리드 데이터를 올-제로 또는 올-하이 데이터로 마스킹하여 출력하는 마스킹 회로; 및
    상기 제 2 테스트 모드 시, 상기 패리티 셀 영역으로부터 출력되는 상기 리드 패리티 비트들이 상기 에러 정정 회로로 전달되지 않도록 제어하는 제 2 연결 회로
    를 더 포함하는 메모리 장치.
  19. 제 17 항에 있어서,
    상기 패턴 생성 회로는,
    제 1 테스트 모드 신호 또는 제 2 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 오실레이터;
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 카운터;
    상기 제 1 테스트 모드 신호에 따라 상기 테스트 데이터를 상기 라이트 데이터로 제공하기 위한 제 3 연결 회로; 및
    상기 제 2 테스트 모드 신호에 따라 상기 테스트 데이터를 상기 리드 패리티 비트들로 제공하기 위한 제 4 연결 회로
    를 포함하는 메모리 장치.
  20. 제 12 항에 있어서,
    상기 에러 정정 회로는,
    상기 라이트 데이터를 이용하여 상기 라이트 패리티 비트들을 생성하고, 상기 리드 데이터 및 상기 리드 패리티 비트들을 이용하여 신드롬을 생성하는 패리티 인코더;
    상기 신드롬을 토대로 상기 리드 데이터의 에러 위치를 검출하는 신드롬 디코더; 및
    상기 검출된 에러 위치에 따라 상기 리드 데이터의 에러를 정정하는 에러 정정기
    를 포함하는 메모리 장치.
  21. 노멀 셀 영역 및 패리티 셀 영역을 포함하는 메모리 장치에 있어서,
    제 1 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하고, 상기 테스트 데이터를 라이트 데이터로 제공하는 단계;
    상기 라이트 데이터를 이용하여 라이트 패리티 비트들을 생성하는 단계;
    라이트 스트로브 신호에 따라 상기 라이트 데이터 및 상기 라이트 패리티 비트들을 상기 노멀 셀 영역 및 상기 패리티 셀 영역에 각각 라이트하는 단계;
    리드 스트로브 신호에 따라 상기 패리티 셀 영역으로부터 리드 패리티 비트들을 출력하는 단계;
    상기 리드 패리티 비트들을 압축하여 압축 데이터를 생성하는 단계; 및
    상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
  22. 제 21 항에 있어서,
    상기 테스트 데이터를 생성하는 단계는,
    제 1 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 단계;
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 단계; 및
    상기 테스트 클럭에 따라 테스트 라이트 동작을 알리는 라이트 스트로브 신호를 생성하는 단계; 및
    상기 테스트 클럭에 따라 테스트 리드 동작을 알리는 리드 스트로브 신호를 생성하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
  23. 제 21 항에 있어서,
    상기 압축 데이터를 생성하는 단계는,
    상기 리드 패리티 비트들을 테스트 데이터 라인들 중 일부 라인들로 맵핑하여 출력하는 단계; 및
    상기 테스트 데이터 라인들의 데이터를 압축하여 상기 압축 데이터를 출력하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
  24. 노멀 셀 영역 및 패리티 셀 영역을 포함하는 메모리 장치에 있어서,
    제 2 테스트 모드 시 순차적으로 증가하는 테스트 데이터를 생성하는 단계;
    상기 패리티 셀 영역으로부터 출력되는 리드 패리티 비트들을 마스킹하고, 상기 노멀 셀 영역으로부터 출력되는 리드 데이터를 마스킹하여 마스킹 데이터로 출력하는 단계;
    상기 테스트 데이터를 이용하여 상기 마스킹 데이터의 에러를 정정하는 단계;
    상기 에러 정정된 데이터를 압축하여 압축 데이터를 생성하는 단계; 및
    상기 압축 데이터를 래치하고, 테스트 출력 신호에 따라 래치된 압축 데이터를 데이터 패드로 출력하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
  25. 제 24 항에 있어서,
    상기 테스트 데이터를 생성하는 단계는,
    제 2 테스트 모드 신호에 따라 소정 주기로 토글링하는 테스트 클럭을 생성하는 단계; 및
    상기 테스트 클럭을 카운팅하여 상기 테스트 데이터를 생성하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
  26. 제 25 항에 있어서,
    상기 리드 데이터의 에러를 정정하는 단계는,
    상기 리드 데이터 및 상기 리드 패리티 비트들을 이용하여 신드롬을 생성하는 단계;
    상기 신드롬을 토대로 상기 리드 데이터의 에러 위치를 검출하는 단계; 및
    상기 검출된 에러 위치에 따라 상기 리드 데이터의 에러를 정정하는 단계
    를 포함하는 메모리 장치의 테스트 방법.
KR1020200103233A 2020-08-18 2020-08-18 메모리 장치 및 그의 테스트 방법 KR20220022269A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200103233A KR20220022269A (ko) 2020-08-18 2020-08-18 메모리 장치 및 그의 테스트 방법
US17/146,958 US11651832B2 (en) 2020-08-18 2021-01-12 Memory device and test method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200103233A KR20220022269A (ko) 2020-08-18 2020-08-18 메모리 장치 및 그의 테스트 방법

Publications (1)

Publication Number Publication Date
KR20220022269A true KR20220022269A (ko) 2022-02-25

Family

ID=80270256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200103233A KR20220022269A (ko) 2020-08-18 2020-08-18 메모리 장치 및 그의 테스트 방법

Country Status (2)

Country Link
US (1) US11651832B2 (ko)
KR (1) KR20220022269A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220118265A (ko) * 2021-02-18 2022-08-25 에스케이하이닉스 주식회사 데이터마스킹동작을 수행하는 전자장치
KR20230007757A (ko) * 2021-07-06 2023-01-13 에스케이하이닉스 주식회사 적층형 메모리 장치 및 이의 테스트 방법
US12040039B2 (en) * 2022-08-22 2024-07-16 Micron Technology, Inc. Semiconductor device having syndrome generator

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779334B2 (en) * 2006-06-26 2010-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory having an ECC system
KR20080007806A (ko) 2006-07-18 2008-01-23 삼성전자주식회사 Ecc엔진을 이용한 병렬 비트 테스트 방법 및 그 장치
TWI397080B (zh) * 2009-03-12 2013-05-21 Realtek Semiconductor Corp 記憶體裝置及其相關測試方法
KR20150028118A (ko) * 2013-09-05 2015-03-13 삼성전자주식회사 메모리 장치의 동작 방법, 이를 이용한 데이터 기입 방법 및 데이터 독출 방법
US10043588B2 (en) 2016-12-15 2018-08-07 SK Hynix Inc. Memory device
KR102262925B1 (ko) * 2017-03-17 2021-06-10 에스케이하이닉스 주식회사 메모리 장치 및 그의 테스트 방법
US10276259B2 (en) 2017-07-05 2019-04-30 Winbond Electronics Corp. Memory testing method and memory apparatus therefor

Also Published As

Publication number Publication date
US11651832B2 (en) 2023-05-16
US20220059178A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
US10503589B2 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
KR20220022269A (ko) 메모리 장치 및 그의 테스트 방법
US10706953B2 (en) Semiconductor memory devices and methods of operating semiconductor memory devices
KR102258140B1 (ko) 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
JP4478974B2 (ja) 半導体記憶装置及びそのリフレッシュ制御方法
US11106535B2 (en) Error correction circuit of semiconductor memory device and semiconductor memory device
US10614906B2 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US11762736B2 (en) Semiconductor memory devices
US11094390B2 (en) Semiconductor memory devices and methods of operating semiconductor memory devices
US8074144B2 (en) Semiconductor storage device
CN117198372A (zh) 半导体存储器装置和操作半导体存储器装置的方法
KR102262925B1 (ko) 메모리 장치 및 그의 테스트 방법
CN114627957A (zh) 存储器装置和包括该存储器装置的存储器系统
US20240201868A1 (en) Semiconductor memory device and memory system including the same
CN114388047A (zh) 半导体存储器装置和包括半导体存储器装置的存储器系统
CN113345511B (zh) 存储器件及其测试方法
US11921579B2 (en) Method of operating memory device, method of operating memory controller and memory system
US11366716B2 (en) Semiconductor memory devices
TW202410054A (zh) 記憶體裝置及其測試方法