KR20240004062A - 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법 - Google Patents

메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법 Download PDF

Info

Publication number
KR20240004062A
KR20240004062A KR1020220082139A KR20220082139A KR20240004062A KR 20240004062 A KR20240004062 A KR 20240004062A KR 1020220082139 A KR1020220082139 A KR 1020220082139A KR 20220082139 A KR20220082139 A KR 20220082139A KR 20240004062 A KR20240004062 A KR 20240004062A
Authority
KR
South Korea
Prior art keywords
error
bit
memory
test pattern
read
Prior art date
Application number
KR1020220082139A
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 KR1020220082139A priority Critical patent/KR20240004062A/ko
Priority to US18/314,508 priority patent/US20240006008A1/en
Priority to EP23174961.5A priority patent/EP4303877A3/en
Priority to CN202310789150.4A priority patent/CN117352033A/zh
Publication of KR20240004062A publication Critical patent/KR20240004062A/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/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • 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
    • 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
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in 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/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/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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
    • G11C2029/1204Bit line control
    • 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

Abstract

본 개시의 기술적 사상에 따른 메모리 장치의 동작 방법은, 노멀 영역에 대해 테스트 패턴을 기초로 복수의 프로그램 동작들을 수행하는 단계, 프로그램된 테스트 패턴을 기초로 복수의 리드 동작들을 수행하는 단계 및 복수의 프로그램 동작들 및 리드 동작들을 기초로 테스트 패턴에 대한 에러를 검출함으로써 노멀 영역에 포함된 복수의 메모리 셀들 중 에러가 발생한 셀의 위치 및 위치 별 에러 횟수를 획득하는 단계를 포함한다.

Description

메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법{OPERATION METHOD OF MEMORY DEVICE, SEMICONDUCTOR DEVICE AND TEST METHOD OF MEMORY DEVICE}
본 개시의 기술적 사상은 메모리 장치의 동작 방법에 관한 것으로서, 자세하게는 불량 셀을 검출하는 메모리 장치의 동작 방법에 관한 것이다.
최근 SSD(Solid State Drive)와 같은 스토리지 장치가 널리 사용되고 있으며, 스토리지 장치는 많은 양의 데이터를 저장하거나 이동시키는데 유용하게 사용되고 있다. 스토리지 장치에 저장된 데이터에 대한 라이트 동작 및 리드 동작 시 비트 플립이 발생할 가능성이 있기 때문에 불량 셀을 정확히 검출하고 효율적으로 불량 셀을 리던던시 셀로 리페어하는 것이 중요하다.
본 개시의 기술적 사상은 에러 비트의 위치 및 위치 별 에러 횟수를 기초로 불량 어드레스를 검출하고 불량 어드레스를 기초로 리페어 동작을 수행하는 메모리 장치의 동작 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 일 측면에 따른 메모리 장치의 동작 방법은, 노멀 영역에 대해 테스트 패턴을 기초로 복수의 프로그램 동작들을 수행하는 단계, 프로그램된 테스트 패턴을 기초로 복수의 리드 동작들을 수행하는 단계 및 복수의 프로그램 동작들 및 리드 동작들을 기초로 테스트 패턴에 대한 에러를 검출함으로써 노멀 영역에 포함된 복수의 메모리 셀들 중 에러가 발생한 셀의 위치 및 위치 별 에러 횟수를 획득하는 단계를 포함한다.
본 개시의 다른 측면에 따른 반도체 장치는 노멀 메모리 셀을 포함하는 노멀 영역 및 리던던시 메모리 셀을 포함하는 리던던시 영역을 포함하는 메모리 셀 어레이 및 노멀 메모리 셀에 대해 테스트 패턴을 이용하여 수행되는 복수의 라이트 동작들 및 복수의 리드 동작들을 기초로 노멀 메모리 셀 각각의 에러 여부 및 각 메모리 셀의 에러 횟수를 검출하는 테스트 회로, 어드레스를 기초로 노멀 메모리 셀 또는 리던던시 메모리 셀을 선택하는 디코더 회로를 포함한다.
본 개시의 다른 측면에 따른 메모리 장치의 테스트 방법은, 노멀 영역에 테스트 패턴을 기초로 복수의 프로그램 동작들을 수행하는 단계, 각각 상기 복수의 프로그램 동작들 중 하나와 대응되는, 상기 테스트 패턴에 대한 복수의 리드 동작들을 수행하는 단계, 리드 동작들의 결과에 대한 에러 정정 동작을 기초로 테스트 패턴을 구성하는 비트들 중 에러 비트의 위치 및 위치 별 에러 횟수를 획득하는 단계 및 에러 비트의 위치 및 위치 별 횟수를 기초로 상기 노멀 영역에 포함된 저장 영역들 중 불량 저장 영역을 검출하는 단계를 포함한다.
본 개시의 예시적 실시 예에 따라, 에러 비트의 위치 및 위치 별 에러 횟수를 기초로 불량 어드레스를 검출하고 불량 어드레스를 기초로 리페어 동작을 수행함으로써 향상된 신뢰성을 제공하는 메모리 장치의 동작 방법이 제공될 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 반도체 장치를 설명하기 위한 도면이다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 장치(100)를 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따라, 도 2의 메모리 셀 어레이(110)를 예시적으로 나타낸다.
도 4는 본 개시의 예시적 실시예에 따른 반도체 장치의 동작 방법을 설명하는 도면이다.
도 5a 및 5b는 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다.
도 6은 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다.
도 8은 본 개시의 예시적 실시예에 따른 제1 패킷을 설명하는 도면이다.
도 9는 본 개시의 예시적 실시예에 따른 테스트 회로를 설명하는 블록도이다.
도 10은 본 개시의 예시적 실시예에 따른 반도체 장치를 설명하는 도면이다.
도 11은 본 개시의 예시적 실시예에 따른 메모리 장치를 설명하는 블록도이다.
도 12는 본 개시의 일 실시예에 따른 불량 어드레스를 검출하는 방법을 설명하는 도면이다.
도 13은 본 개시의 일 실시예에 따른 메모리 장치(100B)를 예시적으로 나타낸다.
도 14는 본 개시의 일 실시예에 따른 불량 어드레스를 검출하는 방법을 설명하는 도면이다.
도 15는 본 개시의 예시적 실시예에 따른 리페어 회로를 설명하는 블록도이다.
도 16은 본 발명의 예시적인 실시예에 따른 호스트-메모리 시스템을 나타내는 블록도이다.
도 17은 본 개시의 예시적 실시예에 따른 메모리 장치의 리페어 동작 방법을 설명하는 흐름도이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다.
도 1은 본 개시의 예시적 실시 예에 따른 반도체 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 반도체 장치(10)는 메모리 장치(100) 및 테스트 회로(200)를 포함할 수 있다.
메모리 장치(100)는 메모리 셀 어레이(110)를 포함할 수 있다. 메모리 셀 어레이(110)는 워드 라인들, 비트 라인들 및 각각이 워드 라인들 각각과 비트 라인들 각각에 연결된 메모리 셀들을 포함한다. 메모리 셀들은 적어도 1 비트(bit) 이상의 데이터를 저장할 수 있다. 메모리 셀들은 전원 공급 여부에 관계없이 데이터를 저장할 수 있는 비휘발성 메모리(non-volatile memory) 또는 전원이 공급되는 동안 데이터를 저장할 수 있는 휘발성 메모리(volatile memory)로 구현될 수 있으며, 물리적으로 레이져(laser)를 사용하여 퓨즈-컷팅(fuse-cutting)하는 방법이나 전기적으로 프로그래밍(programming)하여 저장시키는 방법이 사용될 수 있다. 예컨대, 메모리 셀들은 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM) 또는 저항 메모리(Resistive RAM: RRAM 또는 ReRAM)일 수 있다. 이때, 메모리 셀 어레이(110)는 2차원으로 구현될 수 있고, 3차원으로도 구현될 수 있다.
테스트 회로(200)는 메모리 셀 어레이(110)에 포함된 메모리 셀들에 대한 테스트 동작을 수행할 수 있다. 예를 들어, 테스트 회로(200)는 메모리 셀 어레이(110)에 데이터를 반복적으로 라이트 및 리드하고, 리드된 데이터에 포함된 에러를 식별함으로써 불량 셀을 검출할 수 있다. 본 명세서에서, 라이트 동작은 프로그램 동작으로 지칭될 수도 있다. 구체적으로, 테스트 회로(200)는 메모리 셀 어레이(110)에 오류 정보(FAULT_INFO)를 프로그램할 수 있다. 예를 들어, 초기에, 테스트 회로(200)는 오류 정보(FAULT_INFO)로서 제로 비트열을 메모리 셀 어레이(110)에 프로그램할 수 있다. 오류 정보(FAULT_INFO)는 에러가 발생한 비트의 위치 및 각 위치의 에러 횟수를 나타내는 정보일 수 있다. 이하, 메모리 셀 어레이(110)에 초기에 프로그램되는 데이터는 초기 오류 정보로 지칭될 수 있다. 오류 정보(FAULT_INFO)는 도 5 내지 8을 통해 상세히 후술될 수 있다.
테스트 회로(200)는 메모리 셀 어레이(110)로부터 기존 오류 정보(OLD FAULT_INFO)를 획득하고, 기존 오류 정보(OLD FAULT_INFO)를 가 나타내는 에러 비트의 위치 및 위치에서의 에러 횟수를 누적 업데이트함으로써 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다. 테스트 회로(200)는 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들 각각에 대해, 에러 비트 위치 및 에러 횟수를 식별하고, 식별된 에러 비트 위치 및 에러 횟수를 기초로 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다.
테스트 회로(200)는 기존 오류 정보(OLD FAULT_INFO)를 저장하던 메모리 셀 어레이(110)의 저장 영역(예를 들어, 페이지)에, 새로운 오류 정보(NEW FAULT_INFO)를 프로그램할 수 있다. 예를 들어, 테스트 회로(200)는 제1 저장 영역에서 리드되는 데이터에 대한 에러 비트 위치 및 에러 횟수를 제1 저장 영역에 프로그램하는 동작을 반복적으로 수행함으로써, 제1 저장 영역의 불량 셀 및 노멀 셀에 대한 정보를 제공할 수 있다.
일부 실시예들에서, 메모리 장치(100)는 버퍼 메모리를 더 포함할 수 있다. 테스트 회로(200)는 메모리 셀 어레이(110)의 제2 저장 영역에 테스트 패턴(예를 들어, 초기 오류 정보)을 반복적으로 라이트 및 리드할 수 있다. 테스트 회로(200)는 리드된 테스트 패턴을 기초로 기존 오류 정보(OLD FAULT_INFO)를 새로운 오류 정보(NEW FAULT_INFO)로 업데이트하고, 새로운 오류 정보(NEW FAULT_INFO)를 버퍼 메모리에 저장할 수 있다.
테스트 회로(200)는 제2 저장 영역의 물리 어드레스를, 새로운 오류 정보(NEW FAULT_INFO)와 함께 버퍼 메모리에 저장할 수 있다. 다시 말해, 테스트 회로(200)는 제2 저장 영역에서 리드되는 데이터에 대한 에러 비트 위치 및 에러 횟수를 버퍼 메모리에 저장하는 동작을 반복적으로 수행함으로써, 제2 저장 영역의 불량 셀 및 노멀 셀에 대한 정보를 제공할 수 있다.
일부 실시예에서, 테스트 회로(200)는 ECC 회로(210)를 포함할 수 있다. ECC 회로(210)는 메모리 장치(100)를 제어하는 메모리 컨트롤러(예를 들어, 도 16의 2100)에 포함된 ECC 회로(2170)에 비해 높은 에러 정정 성능을 제공할 수 있다. 예를 들어, ECC 회로(210)는 최대 4개의 에러 비트를 검출할 수 있고, 검출된 에러 비트를 정정할 수 있다. 도 13의 ECC 회로(2170)는 최대 3개의 에러 비트를 검출할 수 있고, 검출된 에러 비트를 정정할 수 있다. 테스트 회로(200)는 ECC 회로(210)를 기초로 기존 오류 정보(OLD FAULT_INFO)에 포함된 에러 비트의 위치 및 에러 비트 위치 별 에러 횟수를 식별할 수 있다. 테스트 회로(200)는 도 9 및 도 10를 참조하여 상세히 후술될 수 있다.
본 개시의 예시적 실시예에 따른 반도체 장치(10)는, 동일한 물리 어드레스를 갖는 저장 영역에 대해 데이터를 반복적으로 라이트 및 리드하고, 리드된 데이터를 구성하는 비트들 중 에러가 발생한 비트의 위치 및 각 비트의 에러 횟수를 식별함으로써 해당 물리 어드레스에 대응하는 저장 영역에 포함된 불량 셀 및 노멀 셀에 대한 정보를 제공할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 장치(100)를 나타내는 블록도이다. 도 2를 참조하면, 메모리 장치(100)는 제어 로직 회로(120), 메모리 셀 어레이(110), 페이지 버퍼 회로(130), 전압 생성기(140), 로우 디코더(150) 및 컬럼 디코더(160)를 포함할 수 있다. 도 2에는 도시되지 않았으나, 메모리 장치(100)는 프리-디코더, 온도 센서, 커맨드 디코더, 어드레스 디코더 등을 더 포함할 수 있다. 본 명세서에서, 로우 디코더(150) 및 컬럼 디코더(160)는 디코더 회로로 지칭될 수 있다.
제어 로직 회로(120)는 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직 회로(120)는 커맨드(CMD) 및/또는 어드레스(ADDR)에 응답하여 각종 제어 신호들을 출력할 수 있다. 예를 들어, 제어 로직 회로(120)는 전압 제어 신호(CTRL_vol), 로우 어드레스(X-ADDR), 및 컬럼 어드레스(Y-ADDR)를 출력할 수 있다. 제어 로직 회로(120)는 리페어 회로(121)를 포함할 수 있다. 리페어 회로(121)는 불량 셀에 대한 어드레스가 수신되면 노멀 셀에 대한 워드라인 또는 비트라인이 활성화되도록 로우 디코더(150) 또는 컬럼 디코더(160)를 제어할 수 있다. 리페어 회로(121)는 오류 정보(FAULT_INFO)에 포함된 에러 비트를 저장하는 셀들에 대한 어드레스를 저장할 수 있다. 즉, 리페어 회로(121)는 불량 셀의 어드레스를 저장할 수 있다. 리페어 회로(121)는 도 15를 통해 상세히 설명될 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1 내지 BLKz)을 포함할 수 있고(z는 양의 정수), 복수의 메모리 블록들(BLK1 내지 BLKz) 각각은 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(110)는 비트 라인들(BL)을 통해 페이지 버퍼 회로(130)에 연결될 수 있고, 워드 라인들(WL), 스트링 선택 라인들(SSL), 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(150)에 연결될 수 있다. 하나의 워드라인(WL)에 연결되는 메모리 셀들은 페이지로 지칭될 수 있다.
예시적인 실시 예에서, 메모리 셀 어레이(110)는 3차원 메모리 셀 어레이를 포함할 수 있고, 3차원 메모리 셀 어레이는 복수의 낸드 스트링들을 포함할 수 있다. 각 낸드 스트링은 기판 위에 수직으로 적층된 워드 라인들에 각각 연결된 메모리 셀들을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 본 명세서에 인용 형식으로 결합된다. 예시적인 실시 예에서, 메모리 셀 어레이(110)는 2차원 메모리 셀 어레이를 포함할 수 있고, 2차원 메모리 셀 어레이는 행 및 열 방향을 따라 배치된 복수의 낸드 스트링들을 포함할 수 있다.
페이지 버퍼 회로(130)는 복수의 페이지 버퍼들을 포함할 수 있고, 복수의 페이지 버퍼들은 복수의 비트 라인들(BL)을 통해 메모리 셀들과 각각 연결될 수 있다. 페이지 버퍼 회로(130)는 컬럼 디코더(160)의 제어에 응답하여 비트 라인들(BL) 중 적어도 하나의 비트 라인을 선택할 수 있다. 페이지 버퍼 회로(130)는 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 프로그램 동작 시, 페이지 버퍼 회로(130)는 선택된 비트 라인으로 프로그램될 데이터에 대응하는 비트 라인 전압을 인가할 수 있다. 독출 동작 시, 페이지 버퍼 회로(130)는 선택된 비트 라인의 전류 또는 전압을 감지하여 메모리 셀에 저장된 데이터를 감지할 수 있다.
전압 생성기(140)는 전압 제어 신호(CTRL_vol)를 기반으로 프로그램, 독출, 및 소거 동작들을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 예를 들어, 전압 생성기(140)는 워드 라인 전압(VWL)으로서 프로그램 전압, 독출 전압, 프로그램 검증 전압, 소거 전압 등을 생성할 수 있다.
로우 디코더(150)는 로우 어드레스(X-ADDR)에 응답하여 복수의 워드 라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다. 예를 들어, 프로그램 동작 시, 로우 디코더(150)는 선택된 워드 라인으로 프로그램 전압 및 프로그램 검증 전압을 인가하고, 독출 동작 시, 선택된 워드 라인으로 독출 전압을 인가할 수 있다.
컬럼 디코더(160)는 컬럼 어드레스(Y-ADDR)에 응답하여 복수의 비트라인들(BL) 중 하나가 선택되도록 페이지 버퍼 회로(130)를 제어할 수 있다.
도 3은 본 개시의 일 실시예에 따라, 도 2의 메모리 셀 어레이(110)를 예시적으로 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK0 내지 BLKi)을 포함할 수 있고, i는 양의 정수일 수 있다. 복수의 메모리 블록들(BLK0 내지 BLKi) 중 각각은 3차원 구조(또는 수직 구조)를 가질 수 있다. 구체적으로, 복수의 메모리 블록들(BLK0 내지 BLKi) 각각은 수직 방향(VD)을 따라 신장된 복수의 낸드 스트링들을 포함할 수 있다. 이때, 복수의 낸드 스트링들은 제1 및 제2 수평 방향(HD1, HD2)을 따라 특정 거리만큼 이격되어 제공될 수 있다. 복수의 메모리 블록들(BLK0 내지 BLKi)은 로우 디코더(도 2의 150)에 의해 선택될 수 있다. 예를 들면, 로우 디코더(35)는 복수의 메모리 블록들(BLK0 내지 BLKi) 중 블록 어드레스에 대응하는 메모리 블록을 선택할 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 반도체 장치의 동작 방법을 설명하는 도면이다. 도 4는 도 1 및 도 2를 참조하여 후술될 수 있다. 반도체 장치의 동작 방법은 복수의 단계들(S410 내지 S460)을 포함할 수 있다.
S410 단계에서, 초기에, 테스트 회로(200)는 테스트 패턴으로서 오류 정보(FAULT_INFO)를 메모리 장치(100)에 프로그램할 수 있다.
S420 단계에서, 테스트 회로(200)는 기존 오류 정보(OLD FAULT_INFO)를 메모리 장치(100)에서 리드할 수 있다.
S430 단계에서, 테스트 회로(200)는 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들 중 에러 비트의 위치 및 에러 위치 별 에러 횟수를 획득할 수 있다. 일부 실시예들에서, 테스트 회로(200)는 기존 오류 정보(OLD FAULT_INFO)에 대한 에러 정정 동작을 통해 에러 비트의 위치 및 에러 횟수를 획득할 수 있다. 일부 실시예들에서, 테스트 회로(200)는 리드된 기존 오류 정보(OLD FAULT_INFO)와 기 저장된 테스트 패턴 간의 비교를 통해 에러 비트의 위치 및 에러 횟수를 획득할 수 있다. 구체적인 방법은 도 9 및 10을 참조하여 상세히 후술될 수 있다.
S440 단계에서, 테스트 회로(200)는 오류 정보(FAULT_INFO)를 누적 업데이트할 수 있다. 일부 실시예들에서, 테스트 회로(200)는 S430 단계에서 획득된 에러 비트 위치 및 에러 횟수를 기초로 복수의 패킷들을 생성하고, 복수의 패킷들을 기초로 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다. 테스트 회로(200)는 생성된 새로운 오류 정보(NEW FAULT_INFO)를 기존 오류 정보(OLD FAULT_INFO)가 저장되었던 제1 저장 영역에 프로그램할 수 있다. 테스트 회로(200)는 덮어쓰기 동작 또는 소거 후 쓰기(write-after-erase) 동작을 통해 새로운 오류 정보(NEW FAULT_INFO)를 제1 저장 영역에 저장할 수 있다. 리드 횟수가 N(N은 양의 정수)이면 S460 단계가 수행될 수 있고, 리드 횟수가 N이면 S420 단계가 재차 수행될 수 있다(S450). N은 양의 정수일 수 있다. 즉, 도 4에 따르면, 오류 정보는 N번 리드될 수 있고, N번 누적 업데이트될 수 있다. 오류 정보가 누적 N번 업데이트됨으로써, 최종적인 오류 정보는, 테스트 패턴를 구성하는 비트들 중 에러가 발생한 비트의 위치 및 각 위치에서의 에러 횟수를 포함할 수 있다.
S460 단계에서, 리페어 회로(121)는 오류 정보를 기초로 리페어 동작을 수행할 수 있다. 일부 실시예들에서, 테스트 회로(200)는 오류 정보에 포함된 에러 비트 위치 및 에러 횟수를 기초로 불량 셀을 식별하고, 불량 셀의 어드레스를 리페어 회로(121)에 제공할 수 있다. 일부 실시예들에서, 메모리 장치(100)를 제어하는 메모리 컨트롤러(도 14의 2100)는 오류 정보를 기초로 불량 셀을 식별하고 불량 셀의 어드레스를 리페어 회로(121)에 제공할 수 있다.
본 개시의 예시적 실시예에 따르면, 오류 정보를 기초로 메모리 셀 어레이(110)에 포함된 불량 셀을 정확하게 검출할 수 있으므로, 리페어 동작의 신뢰성이 높아질 수 있다.
도 5a 및 도 5b는 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다. 도 5a 및 도 5b는 도 1을 참조하여 후술될 수 있다. 도 5a 및 5b는 메모리 셀 어레이(110)로부터 리드된 기존 오류 정보(FAULT_INFO)에 에러가 발생하지 않은 경우를 설명할 수 있다.
기존 오류 정보(OLD FAULT_INFO)는 메모리 셀 어레이(110)로부터 리드된 데이터일 수 있고, 새로운 오류 정보(NEW FAULT_INFO)는 테스트 회로(200)에 의해 메모리 셀 어레이(110)에 프로그램되는 데이터일 수 있다.
도 5a 및 도 5b를 참조하면, 기존 오류 정보(OLD FAULT_INFO)는 패리티와 함께 메모리 셀 어레이(110)로부터 리드될 수 있다. 패리티는 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들의 에러를 식별하고 정정하기 위한 데이터일 수 있다. 즉, 패리티를 통해 기존 오류 정보(OLD FAULT_INFO)를 구성하는 에러 비트가 정정됨으로써 기존 오류 정보(OLD FAULT_INFO)가 보존될 수 있고, 에러 비트의 위치가 식별되므로 위치 별 에러 횟수가 누적적으로 카운트됨으로써 기존 오류 정보(OLD FAULT_INFO)를 기초로 새로운 오류 정보(NEW FAULT_INFO)가 생성될 수 있다. 도시되지 않았으나, 기존 오류 정보(OLD FAULT_INFO)는 후술될 새로운 오류 정보(NEW FAULT_INFO)와 동일한 비트 구조를 가질 수 있다.
새로운 오류 정보(NEW FAULT_INFO)는 제1 내지 4 패킷들(41 내지 44) 및 패리티를 포함할 수 있다. 패리티는, 제1 내지 4 패킷들(41 내지 44)을 구성하는 비트들의 에러를 식별하고 정정하기 위한 데이터일 수 있다. 제1 내지 4 패킷들(41 내지 44) 각각은, 에러 비트의 위치에 대한 정보 및 해당 위치에서 발생한 에러의 횟수에 대한 정보를 포함할 수 있다. 예를 들어, 제1 패킷(41)은, 제1 에러 위치(LOC 1) 및 제1 에러 위치(LOC 1)에서의 제1 에러 횟수(CNT 1)를 포함할 수 있고, 제2 패킷(42)은, 제2 에러 위치(LOC 2) 및 제2 에러 위치(LOC 2)에서의 제2 에러 횟수(CNT 2)를 포함할 수 있고, 제3 패킷(43)은, 제3 에러 위치(LOC 3) 및 제3 에러 위치(LOC 3)에서의 제3 에러 횟수(CNT 3)를 포함할 수 있고, 제4 패킷(44)은, 제4 에러 위치(LOC 4) 및 제4 에러 위치(LOC 4)에서의 제4 에러 횟수(CNT 4)를 포함할 수 있다. 도 5a에 도시된 바와 같이, 기존 오류 정보(OLD FAULT_INFO)에 에러 비트가 존재하지 않는 경우, 새로운 오류 정보(NEW FAULT_INFO)는 기존 오류 정보(OLD FAULT_INFO)와 동일할 수 있다. 즉, 새로운 오류 정보(FAULT_INFO)에 포함된 패킷들에는 에러가 기록되지 않을 수 있다. 오류 정보가 포함할 수 있는 패킷의 개수는 이에 제한되지 않는다.
도 5b를 참조하면, 새로운 오류 정보(NEW FAULT_INFO)는 오버 플로우 패킷(45)을 더 포함할 수 있다. 오버 플로우 패킷(45)은 기존 오류 정보(OLD FAULT_INFO)에 에러 정정 범위를 초과하는 에러 비트가 발생했는지 여부를 나타낼 수 있다. 오버 플로우 패킷(45)은 적어도 하나의 비트를 포함할 수 있다. 예를 들어, 에러 정정 범위를 초과하는 에러 비트가 발생한 경우, 오버 플로우 패킷(45)은 '1'을 포함할 수 있고, 에러 정정 범위를 초과하는 에러 비트가 발생하지 않은 경우 오버 플로우 패킷(45)은 '0'을 포함할 수 있다. 구체적으로, 도 1의 ECC 회로(210)가 최대 4개의 에러 비트를 정정할 수 있고, 기존 오류 정보(OILD FAULT_INFO)에 5개의 에러 비트가 발생한 경우, 오버 플로우 패킷(45)은 '1'을 포함할 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다. 도 6은 도 1을 참조하여 후술될 수 있다. 도 6은 메모리 셀 어레이(110)로부터 리드된 기존 오류 정보(FAULT_INFO)에 에러 비트가 처음 발생한 경우를 설명할 수 있다.
도 6을 참조하면, 기존 오류 정보(OLD FAULT_INFO)의 A 번째 비트 및 B 번째 비트에 에러가 발생할 수 있다. A 번째 비트는 B 번째 비트보다 LSB(Least Significant Bit)에 가까운 비트일 수 있다. 테스트 회로(200)는 A 번째 비트에 대한 에러 정보를 제1 패킷(41)에 기록하고, B 번째 비트에 대한 에러 정보를 제2 패킷(42)에 기록함으로써 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다. 구체적으로, 테스트 회로(200)는 제1 에러 위치(LOC 1)에, 에러 비트의 위치를 나타내는 A를 기록하고, 제1 횟수(CNT 1)에, A 번째 비트에서 발생한 에러의 횟수인 1을 기록할 수 있다. 테스트 회로(200)는 제2 에러 위치(LOC 2)에, 에러 비트의 위치를 나타내는 B를 기록하고, 제2 횟수(CNT 2)에, B 번째 비트에서 발생한 에러의 횟수인 1을 기록할 수 있다. 에러가 발생한 비트의 위치가 기존 오류 정보(OLD FAULT_INFO)에 포함되어 있지 않은 경우, 미스(MISS)로 표현될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 오류 정보를 설명하는 도면이다. 도 7은 도 1을 참조하여 후술될 수 있다. 도 7은 메모리 셀 어레이(110)로부터 리드된 기존 오류 정보(FAULT_INFO)에 에러가 다시 발생한 경우를 설명할 수 있다.
도 7을 참조하면, 기존 오류 정보(OLD FAULT_INFO)의 A 번째 비트 및 C 번째 비트에 에러가 발생할 수 있다. A 번째 비트는 C 번째 비트보다 LSB(Least Significant Bit)에 가까운 비트일 수 있다. 도시된 바와 같이, A 번째 비트는 C 번째 비트보다 MSB(Most Significant Bit)에 가까운 비트일 수 있다. 테스트 회로(200)는 A 번째 비트에 대한 에러 정보를 제1 패킷(41)에 기록하고, C 번째 비트에 대한 에러 정보를 제3 패킷(43)에 기록함으로써 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다. 구체적으로, 테스트 회로(200)는 제1 에러 위치(LOC 1)에, 에러 비트의 위치를 나타내는 A를 기록하고, 제1 횟수(CNT 1)에, A 번째 비트에서 발생한 에러의 누적 횟수인 2를 기록할 수 있다. 테스트 회로(200)는 제3 에러 위치(LOC 3)에, 에러 비트의 위치를 나타내는 C를 기록하고, 제3 횟수(CNT 3)에, C 번째 비트에서 발생한 에러의 횟수인 1을 기록할 수 있다. A 번째 비트와 같이, 에러가 발생한 비트의 위치가 기존 오류 정보(OLD FAULT_INFO)에 포함되어 있는 경우, 히트(HIT)로 표현될 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 제1 패킷을 설명하는 도면이다. 도 8은 도 1, 도 5a 내지 7을 참조하여 후술될 수 있다. 도 8은 패킷(70)은, 도 7의 제1 내지 4 패킷(41 내지 44)의 일 예시일 수 있다.
도 8을 참조하면, 패킷(80)은 '1'에러를 나타내는 횟수('1' CNT) 및 '0'에러를 나타내는 횟수('0' CNT), 에러 위치(LOC) 및 유효 정보(VALID)를 포함할 수 있다.
'1'에러를 나타내는 횟수('1' CNT)는, '1'으로 기록된 비트가 '0'으로 리드되는 경우 카운트될 수 있다. '0'에러를 나타내는 횟수('0' CNT)는 '0'으로 기록된 비트가 '1'로 리드되는 경우 카운트될 수 있다. 유효 정보(VALID)는 1 비트일 수 있다. 유효 정보(VALID)는, 기존 오류 정보(OLD FAULT_INFO)에 에러가 있었다면 '1', 에러가 없었다면 '0'일 수 있다. 예를 들어, 도 5a에서, 새로운 오류 정보(FAULT_INFO)의 제1 내지 4 패킷(41 내지 44)의 유효 정보(VALID)는 '0'일 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 테스트 회로를 설명하는 블록도이다. 도 9는 도 1을 함께 참조하여 후술될 수 있다.
테스트 회로(200)는 메모리 장치(100)로부터 기존 오류 정보(OLD FAULT_INFO) 및 이에 대한 패리티를 수신하고, 새로운 오류 정보(NEW FAULT_INFO) 및 이에 대한 패리티를 메모리 장치(100)에 제공할 수 있다.
테스트 회로(200)는 ECC 회로(210), 오류 위치 생성기(220) 및 오류 정보 생성기(230)를 포함할 수 있다.
ECC 회로(210)는 기존 오류 정보(OLD FAULT_INFO) 및 이에 대한 패리티를 수신하고, 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들의 오류를 검출 및 정정할 수 있다. ECC 회로(210)는 정정된 데이터(DATA') 및 에러 위치 정보(ERROR POSITION)를 출력할 수 있다. 정정된 데이터(DATA')는 기존 오류 정보(OLD FAULT_INFO)의 에러 비트를 플립시킴으로써 생성될 수 있다. 에러 위치 정보(ERROR POSITION)는 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들 중 에러가 발생한 비트의 위치는 '1', 에러가 발생하지 않은 비트의 위치는 '0'으로 표현된 정보일 수 있다. 즉, 에러 위치 정보(ERROR POSITION)의 길이는 기존 오류 정보(OLD FAULT_INFO)에 포함된 패킷들(예를 들어, 도 4의 41 내지 44)의 길이의 합과 동일할 수 있다.
오류 위치 생성기(220)는 정정된 데이터(DATA') 및 에러 위치 비트(ERROR POSITION BIT)을 수신하고, 오류 위치 정보(FAULT LOC) 및 오류 패턴(FAULT PATTERN)을 생성할 수 있다.
오류 위치 정보(FAULT LOC)는 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들 중 에러가 발생한 비트의 위치를 나타내는 값일 수 있다. 예를 들어, 오류 위치 정보(FAULT LOC)는 16진수로 표현될 수 있다.
오류 타입(FAULT TYPE)은 에러의 종류를 나타낼 수 있다. 예를 들어, 오류 타입(FAULT TYPE)은, 에러로 인해'0'으로 기록된 데이터가 '1'로 리드된 경우 '0'일 수 있고, 에러로 인해 '1'로 기록 데이터가 '0'으로 리드된 경우 '1'일 수 있다.
오류 정보 생성기(230)는 오류 위치 정보(FAULT LOC) 및 오류 타입(FAULT TYPE)을 기초로 패킷을 생성할 수 있고, 패킷들을 병합하여 새로운 오류 정보(NEW FAULT_INFO)를 생성할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 기존 오류 정보(OLD FAULT_INFO)의 A 번째 비트에서 에러가 발생한 경우, 패킷 생성기(230)는 제1 패킷(41)의 제1 위치(LOC 1)에 A를 기입하고, 제1 패킷(41)의 제1 횟수(CNT 1)에 A 번째 비트에서 발생한 에러의 횟수인 1을 할 수 있다. 일부 실시예들에서, 패킷 생성기(230)는 A 번째 비트에서 발생한 에러의 종류를 패킷에 기입할 수도 있다. 예를 들어, 도 8에 도시된 바와 같이, 패킷 생성기(230)는 '1'로 프로그램된 데이터가 에러로 인해 '0'으로 리드된 경우, 1'에러를 나타내는 횟수('1' CNT)를 카운팅할 수 있고, '0'으로 프로그램된 데이터가 에러로 인해 '1'로 리드된 경우, '0'에러를 나타내는 횟수('0' CNT)를 카운팅할 수 있다.
ECC 인코더(211)는 새로운 오류 정보(NEW FAULT_INFO)에 대한 패리티를 생성하고, 새로운 오류 정보(NEW FAILT_INFO)와 패리티를 출력할 수 있다. 새로운 오류 정보(NEW FAULT_INFO)는 기존 오류 정보(OLD FAULT_INFO)와 동일한 어드레스에 덮어쓰기 방식 또는 소거 후 쓰기(write-after-ease) 방식으로 저장될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 반도체 장치를 설명하는 도면이다.
도 10을 참조하면, 반도체 장치(10')는 메모리 셀 어레이(110), 테스트 회로(200') 및 버퍼 메모리(180)를 포함할 수 있다.
메모리 셀 어레이(110)는 메모리 블록(BLOCK)을 포함할 수 있고, 메모리 블록(BLOCK)은 제1 내지 N(N은 2 이상의 자연수) 페이지들을 포함할 수 있다. 제1 내지 N 페이지들은 제1 내지 N 어드레스(ADDR 1 내지 ADDR N)에 각각 대응될 수 있다.
테스트 회로(200')는 테스트 패턴(TP)을 메모리 셀 어레이(110)에 프로그램하고, 메모리 셀 어레이(110)로부터 테스트 패턴(TP)에 대응하는 데이터(DOUT)를 리드할 수 있다. 테스트 회로(200')는 테스트 패턴(TP)을 메모리 셀 어레이(110)에 프로그램하고 리드하는 동작을 반복함으로써, 리드된 테스트 패턴(TP)을 구성하는 비트 별 에러의 횟수를 누적 카운트할 수 있다. 즉, 리드 동작 위주로 후술되나, 매 리드 동작 전에 테스트 패턴(TP)이 메모리 셀 어레이(110)에 프로그램될 수 있다.
테스트 회로(200')는 오류 위치 생성기(220'), 오류 정보 생성기(230') 및 에러 비트 정보 생성기(240')를 포함할 수 있다.
에러 비트 정보 생성기(240')는 테스트 패턴(TP)과 리드된 데이터(DOUT)를 비교함으로써 에러 위치 정보(ERROR POSITION)를 생성할 수 있다. 구체적으로, 에러 비트 정보 생성기(240')는 테스트 패턴(TP)과 리드된 데이터(DOUT) 간에 XOR 연산을 수행함으로써 리드된 데이터(DOUT)를 구성하는 비트들 중 에러가 발생한 비트는 '1'로 나타내고, 에러가 발생하지 않는 비트는 '0'으로 나타낼 수 있다.
오류 위치 생성기(220')는 테스트 패턴(TP)과 에러 위치 정보(ERROR POSITION)를 기초로 오류 위치 정보(FAULT LOC) 및 오류 타입(FAULT TYPE)을 생성할 수 있다. 오류 위치 생성기(220')의 동작은 도 9의 오류 위치 생성기(220)의 동작을 기초로 이해될 수 있는 바 설명은 생략될 수 있다.
오류 정보 생성기(230')는 버퍼 메모리(180)에서 기존 오류 정보(FAULT_INFO)를 수신하고, 오류 위치 정보(FAULT LOC) 및 오류 타입(FAULT TYPE)을 기초로 기존 오류 정보(OLD FAULT_INFO)를 새로운 오류 정보(NEW FAULT_INFO)로 누적 업데이트할 수 있다. 즉, 기존 오류 정보(OLD FAULT_INFO)를 구성하는 비트들 중 에러가 발생한 비트의 위치에 대응하는 패킷의 카운트가 증가함으로써 오류 정보가 업데이트될 수 있고, 새로운 오류 정보(NEW FAULT_INFO)가 생성될 수 있다.
오류 정보 생성기(230')는 버퍼 메모리(180)에 제1 내지 N(N은 2 이상의 자연수) 오류 정보(FAULT_INFO 1 내지 FAULT_INFO N)를 저장할 수 있다. 제1 내지 N 오류 정보(FAULT_INFO 1 내지 FAULT_INFO N)는 제1 내지 N 페이지에 각각 대응될 수 있다. 예를 들어, 제1 오류 정보(FAULT_INFO 1)는 제1 페이지(PAGE 1)에서 리드된 데이터(DOUT)에 대한 오류 정보일 수 있다. 제1 내지 N 오류 정보(FAULT_INFO 1 내지 FAULT_INFO N)는, 제1 내지 N 어드레스(ADDR 1 내지 ADDR N)와 함께 버퍼 메모리(180)에 프로그램될 수 있다.
테스트 동작에 의해, 메모리 셀 어레이(110)에 포함된 메모리 셀들 중 에러 횟수가 기준 값 이상인 메모리 셀은 불량 셀로 판단될 수 있다. 불량 셀의 어드레스에 대한 정보는 도 11 및 12의 리페어 회로(170A, 170B)에 저장될 수 있다. 즉, 테스트 동작을 통해 획득된 에러 비트의 위치 및 에러 횟수를 기초로 불량 셀이 결정될 수 있고, 도 11 및 12을 참조하여 후술되는 바와 같이, 불량 셀을 던던시 셀과 교체하는 리페어 동작이 수행될 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 메모리 장치를 설명하는 블록도이다.
도 11을 참조하면, 메모리 장치(100A)는 메모리 셀 어레이(110A), 리페어 회로(170A), 로우 디코더(150A) 및 칼럼 디코더(160A)를 포함할 수 있다. 본 명세서에서, 로우 디코더(150A) 및 컬럼 디코더(160A)는 디코더 회로로 지칭될 수 있다.
메모리 셀 어레이(110A)는 복수의 메모리 셀들이 배치되는 노멀 영역(111A) 및 복수의 리던던시 메모리 셀들이 배치되는 리던던시 영역(112B)을 포함할 수 있다. 일 실시예에서, 리던던시 영역(112A)은 비트 라인들(BL)의 연장 방향에 따라 노멀 영역(111A)에 인접하게 배치될 수 있다. 구체적으로, 노멀 영역(111A)은 복수의 워드 라인들(WL)과 복수의 비트 라인들(BL)의 교차 영역에 각각 배치되는 복수의 메모리 셀들을 포함하고, 리던던시 영역(112A)은 복수의 리던던시 워드 라인들(RWL) 및 복수의 비트 라인들(BL)의 교차 영역에 각각 배치되는 복수의 리던던시 메모리 셀들을 포함할 수 있다.
노멀 영역(111A)에 배치되는 메모리 셀들 중에서 적어도 하나의 셀에 불량이 발생할 수 있다. 불량이 발생한 불량 셀은 싱글 비트(single bit), 위크 셀(weak cell) 혹은 결함 셀(defect cell)일 수 있다. 노멀 셀 어레이(111)에서 발생된 불량 셀은 리던던시 셀 어레이(112)에 포함된 리던던시 메모리 셀에 의해 대체될 수 있다. 이러한 대체 동작은 "리페어 동작"으로 지칭될 수 있다. 리페어 동작에 의해, 불량 셀에 저장되거나 읽혀질 데이터는, 리던던시 메모리 셀에 저장되거나 리던던시 메모리 셀로부터 읽혀질 수 있다.
본 실시예에서, 노멀 영역(111A)의 불량 셀을 포함하는 로우를, 리던던시 영역(112A)의 리던던시 로우로 대체하는 로우 리페어 방법에 따라 리페어 동작이 수행될 수 있다. 일 실시예에서, 리페어 단위는 워드 라인일 수 있고, 이에 따라, 불량 셀을 포함하는 워드 라인을 리던던시 워드 라인으로 대체할 수 있다. 일 실시예에서, 리페어 단위는 워드 라인 그룹일 수 있고, 이에 따라, 불량 셀을 포함하는 워드 라인 그룹을 리던던시 워드 라인 그룹으로 대체할 수 있다. 예를 들어, 워드 라인 그룹은 2개, 4개, 8개 또는 16개 등의 워드 라인들에 대응할 수 있다. 리페어 단위가 2개의 워드 라인들인 경우, 노멀 영역(111A)에 포함된 불량 셀을 포함하는 2개의 워드 라인들은 리던던시 영역(112A)에 포함된 2개의 리던던시 워드 라인들로 대체될 수 있다.
리페어 회로(170A)는 복수의 메모리 셀들 중 불량 셀에 대해 리페어 동작을 제어할 수 있다. 리페어 회로(170A)는 전술된 오류 정보(FAULT_INFO)를 기초로 획득되는 불량 어드레스를 저장할 수 있다. 구체적으로, 리페어 회로(170A)는 액세스하고자 하는 메모리 셀의 입력 어드레스, 예를 들어, 로우 어드레스(RA)가 불량 셀의 불량 어드레스인 경우 리페어 동작을 제어할 수 있다. 더욱 상세하게는, 리페어 회로(170A)는 로우 어드레스(RA)가 불량 어드레스인 경우 로우 매칭 신호(RM)를 생성할 수 있고, 생성된 로우 매칭 신호(RM)를 로우 디코더(150A)에 제공할 수 있다. 구체적으로, 리페어 회로(170A)는 불량 셀의 로우 어드레스와, 로우 어드레스(RA)를 비교하여 로우 어드레스(RA)가 불량 셀의 어드레스를 지시하는지의 여부를 판단하고, 그 판단 결과로서 로우 매칭 신호(RM)를 생성할 수 있다. 이에 따라, 로우 디코더(150A)는 로우 매칭 신호(RM)에 응답 하여 리던던시 워드 라인들(RWL)을 활성화시킬 수 있다. 리페어 회로(170A)는 레이저-프로그래머블 퓨즈 어레이, 안티-퓨즈 어레이, 전기적 프로그래머블 퓨즈 어레이 등과 같은 원-타임 프로그래머블 메모리로 구현되거나, MRAM (Magnetic Ramdom Access Memory), RRAM (Resistance Random Access memory), PRAM (Phase Change Ramdom Access Memory), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자로 구현될 수 있다.
로우 디코더(150A)는 로우 어드레스(RA)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있고, 선택한 워드 라인을 활성화할 수 있다. 또한, 로우 디코더(150A)는 로우 매칭 신호(RM)에 응답하여, 복수의 리던던시 워드 라인들(RWL) 중 일부 리던던시 워드 라인을 선택할 수 있고, 선택한 리던던시 워드 라인을 활성화할 수 있다. 구체적으로, 로우 디코더(150A)는 로우 매칭 신호(RM)에 응답하여, 로우 어드레스(RA)를 디스에이블시키고, 리던던시 로우 워드 라인을 활성화할 수 있다. 칼럼 디코더(160A)는 칼럼 어드레스(CA)에 응답하여 복수의 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다.
도 12는 본 개시의 일 실시예에 따른 불량 어드레스를 검출하는 방법을 설명하는 도면이다.
도 11 및 12를 참조하면, N(N은 양의 정수) 번의 오류 정보를 누적 업데이트한 결과로서, 노멀 영역(111A)에 포함된 제1 내지 4 워드라인들(WL1 내지 WL4)과 연결된 메모리 셀의 에러 횟수가 획득될 수 있다. 예를 들어, 제1 워드라인(WL1)은, 에러 횟수가 0, 1, 0, 0, 2, 0번인 메모리 셀들과 연결될 수 있다. 워드라인의 개수 및 워드라인에 연결된 메모리 셀의 개수는 이에 제한되지 않는다.
워드라인과 연결된 메모리 셀들 중, 제1 기준 값 이상의 에러 횟수를 갖는 불량 셀의 개수가, 제2 기준 값 이상인 경우, 해당 워드라인은 불량 워드라인으로 지칭될 수 있고, 불량 워드라인의 어드레스는 불량 로우 어드레스로 지칭될 수 있다. 예를 들어, 2번 이상의 에러 횟수를 갖는 불량 셀이 2개 이상 포함하는 제3 워드라인(WL3)의 어드레스는 불량 로우 어드레스로 검출될 수 있다. 실시예는 이에 제한되지 않으며, 제1 기준 값 및 제2 기준 값은 모두 1일 수도 있다.
불량 로우 어드레스를 검출하는 방법은 이에 제한되지 않으며, 에러 비트의 개수 및 각 비트 별 에러 횟수를 기초로, 다양한 방법으로 불량 로우 어드레스가 검출될 수 있다.
도 13은 본 개시의 일 실시예에 따른 메모리 장치(100B)를 예시적으로 나타낸다.
도 13을 참조하면, 메모리 장치(100B)는 메모리 셀 어레이(110B), 리페어 회로(170B), 로우 디코더(150B) 및 칼럼 디코더(160B)를 포함할 수 있다. 본 실시예에 따른 메모리 장치(100B)는 도 11의 메모리 장치(100A)의 변형 실시예이며, 중복된 설명은 생략하기로 한다.
메모리 셀 어레이(110B)는 복수의 메모리 셀들이 배치되는 노멀 영역(111B) 및 복수의 리던던시 메모리 셀들이 배치되는 리던던시 영역(112B)을 포함할 수 있다. 일 실시예에서, 리던던시 영역(112B)은 워드 라인들(WL)의 연장 방향에 따라 노멀 영역(111B)에 인접하게 배치될 수 있다. 구체적으로, 노멀 영역(111B)은 복수의 워드 라인들(WL)과 복수의 비트 라인들(BL)의 교차 영역에 각각 배치되는 복수의 메모리 셀들을 포함하고, 리던던시 영역(112B)은 복수의 워드 라인들(WL) 및 복수의 리던던시 비트 라인들(RBL)의 교차 영역에 각각 배치되는 복수의 리던던시 메모리 셀들을 포함할 수 있다.
노멀 영역(111B)에 배치되는 메모리 셀들 중 적어도 하나의 셀에 불량이 발생할 수 있으며, 노멀 영역(111B)에서 발생된 불량 셀은 리페어 동작에 의해 리던던시 영역(112B)에 포함된 리던던시 메모리 셀에 의해 대체될 수 있다. 리페어 동작에 의해, 불량 셀에 기입 또는 독출되기로 예정된 데이터는 리던던시 메모리 셀에 기입 또는 독출될 수 있다.
본 실시예에서, 노멀 영역(111B)의 불량 셀을 포함하는 칼럼을, 리던던시 영역(112B)의 리던던시 칼럼로 대체하는 칼럼 리페어 방법에 따라 리페어 동작이 수행될 수 있다. 일 실시예에서, 리페어 단위는 비트 라인일 수 있고, 이에 따라, 불량 셀을 포함하는 비트 라인을 리던던시 비트 라인으로 대체할 수 있다. 일 실시예에서, 리페어 단위는 비트 라인 그룹일 수 있고, 이에 따라, 불량 셀을 포함하는 비트 라인 그룹을 리던던시 비트 라인 그룹으로 대체할 수 있다. 예를 들어, 비트 라인 그룹은 2개, 4개, 8개 또는 16개 등의 비트 라인들에 대응할 수 있다. 리페어 단위가 2개의 비트 라인들인 경우, 노멀 영역(111B)에 포함된 불량 셀을 포함하는 2개의 비트 라인들은 리던던시 영역(112B)에 포함된 2개의 리던던시 비트 라인들로 대체될 수 있다.
리페어 회로(170B)는 복수의 메모리 셀들 중 불량 셀에 대해 리페어 동작을 제어할 수 있다. 리페어 회로(170B)는 전술된 오류 정보(FAULT_INFO)를 기초로 획득되는 불량 셀에 대한 정보를 저장할 수 있다. 구체적으로, 리페어 회로(170B)는 액세스하고자 하는 메모리 셀의 입력 어드레스, 예를 들어, 칼럼 어드레스(CA)가 불량 어드레스인 경우 리페어 동작을 제어할 수 있다. 더욱 상세하게는, 리페어 회로(170B)는 칼럼 어드레스(CA)가 불량 어드레스인 경우 칼럼 매칭 신호(CM)를 생성할 수 있고, 생성된 칼럼 매칭 신호(CM)를 칼럼 디코더(160B)에 제공할 수 있다. 구체적으로, 리페어 회로(170B)는 불량 셀의 컬럼 어드레스와, 컬럼 어드레스(CA)를 비교하여 컬럼 어드레스(CA)가 불량 셀의 어드레스를 지시하는지의 여부를 판단하고, 그 판단 결과로서 칼럼 매칭 신호(CM)를 생성할 수 있다. 이에 따라, 칼럼 디코더(160B)는 칼럼 매칭 신호(CM)에 응답하여 리던던시 비트 라인들(RBL)을 활성화시킬 수 있다.
로우 디코더(150B)는 로우 어드레스(RA)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있고, 선택한 워드 라인을 활성화할 수 있다. 칼럼 디코더(160B)는 칼럼 어드레스(CA)에 응답하여 복수의 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있고, 선택한 비트 라인을 활성화할 수 있다. 또한, 칼럼 디코더(160B)는 칼럼 매칭 신호(CM)에 응답하여, 복수의 리던던시 비트 라인들(RBL) 중 일부 리던던시 비트 라인을 선택할 수 있고, 선택한 리던던시 비트 라인을 활성화할 수 있다. 구체적으로, 칼럼 디코더(160B)는 칼럼 매칭 신호(CM)에 응답하여, 칼럼 어드레스(CA)를 디스에이블시키고, 리던던시 칼럼 라인을 활성화할 수 있다.
도 14는 본 개시의 일 실시예에 따른 불량 어드레스를 검출하는 방법을 설명하는 도면이다.
도 13 및 14를 참조하면, N(N은 양의 정수) 번의 오류 정보를 누적 업데이트한 결과로서, 노멀 영역(111B)에 포함된 제1 내지 4 비트라인들(BL1 내지 BL4)과 연결된 메모리 셀의 에러 횟수가 획득될 수 있다. 예를 들어, 제1 워드라인(bL1)은, 에러 횟수가 0, 0, 0번인 메모리 셀들과 연결될 수 있다. 비트라인의 개수 및 비트라인에 연결된 메모리 셀의 개수는 이에 제한되지 않는다.
비트라인과 연결된 메모리 셀들 중, 제1 기준 값 이상의 에러 횟수를 갖는 불량 셀의 개수가, 제2 기준 값 이상인 경우, 해당 비트라인은 불량 비트라인으로 지칭될 수 있고, 불량 비트라인의 어드레스는 불량 컬럼 어드레스로 검출될 수 있다. 예를 들어, 2번 이상의 에러 횟수를 갖는 불량 셀이 2개 이상 포함하는 제5 비트라인(BL5)의 어드레스는 불량 컬럼 어드레스로 검출될 수 있다.
불량 컬럼 어드레스를 검출하는 방법은 이에 제한되지 않으며, 에러 비트의 개수 및 각 비트 별 에러 횟수를 기초로, 다양한 방법으로 불량 컬럼 어드레스가 검출될 수 있다.
도 15는 본 개시의 예시적 실시예에 따른 리페어 회로를 설명하는 블록도이다.
도 15를 참조하면, 리페어 회로(170)는 불량 어드레스 스토리지(171) 및 어드레스 비교기(172)를 포함할 수 있다. 도 15에서 불량 어드레스 스토리지(171)가 리페어 회로(170) 내에 포함되는 것으로 도시되어 있으나 실시예는 이에 제한되지 않는다. 불량 어드레스 스토리지(171)는 도 1의 메모리 장치(100) 내에서 리페어 회로(170)와 별도로 구비될 수 있다. 또한, 불량 어드레스 스토리지(171)는 메모리 장치(100) 외부, 예컨대, 도 16의 메모리 컨트롤러(2100) 또는 도 1의 테스트 회로(200)에 포함될 수도 있다.
불량 어드레스 스토리지(171)는 도 11 또는 13의 노멀 영역(111A, 111B)에서 발생되는 적어도 하나의 불량 셀의 위치 정보, 즉, 불량 어드레스(FADDR)를 저장할 수 있다. 일 실시예예서, 불량 어드레스(FADDR)는 불량 셀의 로우 어드레스, 즉, 불량 로우 어드레스(FRA)일 수 있다. 예를 들어, 도 12를 참조하여 전술된 바와 같이, 불량 셀은, 저장하는 비트의 에러 횟수가 제1 기준 값을 초과한 셀일 수 있다. 일 실시예에서, 불량 어드레스(FADDR)는 불량 셀의 컬럼 어드레스, 즉, 불량 컬럼 어드레스(FCA)일 수 있다. 불량 어드레스(FADDR)는, 메모리 장치(100A)의 테스트 동작을 통해 획득될 수 있다. 이러한 테스트 동작은 메모리 장치(100A)의 웨이퍼 레벨에서 수행될 수도 있고, 패키지 레벨에서 수행될 수도 있다. 불량 어드레스 스토리지(171)는 레이저-프로그래머블 퓨즈 어레이, 안티-퓨즈 어레이, 전기적 프로그래머블 퓨즈 어레이 등과 같은 원-타임 프로그래머블 메모리로 구현되거나, MRAM (Magnetic Ramdom Access Memory), RRAM (Resistance Random Access memory), PRAM (Phase Change Ramdom Access Memory), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자로 구현될 수 있다.
어드레스 비교기(172)는 불량 로우 어드레스(FRA)를 로우 어드레스(RA)와 비교할 수 있다. 구체적으로, 어드레스 비교기(172)는 불량 로우 어드레스(FRA)와 로우 어드레스(RA)를 비교하고, 비교 결과, 불량 로우 어드레스(FRA)와 로우 어드레스(RA)가 일치하면 로우 매칭 신호(RM)를 출력할 수 있다. 일 실시예에서, 어드레스 비교기(172)는 불량 컬럼 어드레스(FCA)를 컬럼 어드레스(CA)와 비교할 수 있다. 구체적으로, 어드레스 비교기(172)는 불량 컬럼 어드레스(FCA)와 컬럼 어드레스(CA)를 비교하고, 비교 결과, 불량 컬럼 어드레스(FCA)와 컬럼 어드레스(CA)가 일치하면 컬럼 매칭 신호(CM)를 출력할 수 있다.
도 16은 본 발명의 예시적인 실시예에 따른 호스트-메모리 시스템을 나타내는 블록도이다.
호스트-메모리 시스템(1200)은 호스트(1000) 및 메모리 시스템(2000)을 포함할 수 있다. 또한, 메모리 시스템(2000)은 메모리 컨트롤러(2100) 및 메모리 장치(2200)를 포함할 수 있다. 또한, 예시적인 실시예에 따라, 호스트(1000)는 호스트 컨트롤러(1100) 및 호스트 메모리(1200)를 포함할 수 있다. 호스트 메모리(1200)는 메모리 시스템(2000)으로 전송될 데이터, 혹은 메모리 시스템(2000)으로부터 전송된 데이터를 임시로 저장하기 위한 버퍼 메모리로서 기능할 수 있다.
메모리 시스템(2000)은 호스트(1000)로부터의 요청에 따라 데이터를 저장하기 위한 저장 매체들을 포함할 수 있다. 일 예로서, 메모리 시스템(2000)은 SSD(Solid State Drive), 임베디드(embedded) 메모리 및 착탈 가능한 외장(external) 메모리 중 적어도 하나를 포함할 수 있다. 메모리 시스템(2000)이 SSD인 경우, 메모리 시스템(2000)은 NVMe(non-volatile memory express) 표준을 따르는 장치일 수 있다. 메모리 시스템(2000)이 임베디드 메모리 혹은 외장(external) 메모리인 경우, 메모리 시스템(2000)은 UFS(universal flash storage) 혹은 eMMC(embedded multi-media card) 표준을 따르는 장치일 수 있다. 호스트(1000)와 메모리 시스템(2000)은 각각 채용된 표준 프로토콜에 따른 패킷을 생성하고 이를 전송할 수 있다.
메모리 시스템(2000)의 메모리 장치(2200)가 플래시 메모리를 포함할 때, 상기 플래시 메모리는 2D NAND 메모리 어레이나 3D(또는 수직형, Vertical) NAND(VNAND) 메모리 어레이를 포함할 수 있다. 다른 예로서, 메모리 시스템(2000)은 다른 다양한 종류의 비휘발성 메모리들을 포함할 수도 있다. 예를 들어, 메모리 시스템(2000)은 MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase RAM), 저항 메모리(Resistive RAM) 및 다른 다양한 종류의 메모리가 적용될 수 있다.
일 실시예에 따라, 호스트 컨트롤러(1100)와 호스트 메모리(1200)는 별도의 반도체 칩으로 구현될 수 있다. 또는, 일부 실시예들에서, 호스트 컨트롤러(1100)와 호스트 메모리(1200)는 동일한 반도체 칩에 집적될 수 있다. 일 예로서, 호스트 컨트롤러(1100)는 어플리케이션 프로세서(Application Processor)에 구비되는 다수의 모듈들 중 어느 하나일 수 있으며, 상기 어플리케이션 프로세서는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있다. 또한, 호스트 메모리(1200)는 상기 어플리케이션 프로세서 내에 구비되는 임베디드 메모리이거나, 또는 상기 어플리케이션 프로세서의 외부에 배치되는 비휘발성 메모리 또는 메모리 모듈일 수 있다.
호스트 컨트롤러(1100)는 호스트 메모리(1200)의 데이터(예컨대, 기록 데이터)를 메모리 장치(2200)에 저장하거나, 메모리 장치(2200)의 데이터(예컨대, 독출 데이터)를 호스트 메모리(1200)에 저장하는 동작을 관리할 수 있다.
메모리 컨트롤러(2100)는 호스트 인터페이스(2110), 메모리 인터페이스(2120) 및 CPU(central processing unit, 2130)를 포함할 수 있다. 또한, 메모리 컨트롤러(2100)는 플래시 변환 레이어(Flash Translation Layer(FTL), 2140), 패킷 매니저(2150), 버퍼 메모리(2160), ECC(error correction code, 2170) 회로 및 AES(advanced encryption standard, 2180) 엔진을 더 포함할 수 있다. 메모리 컨트롤러(2100)는 플래시 변환 레이어(FTL, 2140)가 로딩되는 워킹 메모리(미도시)를 더 포함할 수 있으며, CPU(2130)가 플래시 변환 레이어를 실행하는 것에 의해 메모리 장치(2200)에 대한 데이터 기록 및 독출 동작이 제어될 수 있다.
호스트 인터페이스(2110)는 호스트(1000)와 패킷(packet)을 송수신할 수 있다. 호스트(1000)로부터 호스트 인터페이스(2110)로 전송되는 패킷은 커맨드(command) 혹은 메모리 장치(220.)에 기록될 데이터 등을 포함할 수 있으며, 호스트 인터페이스(2110)로부터 호스트(1000)로 전송되는 패킷은 커맨드에 대한 응답(response) 혹은 메모리 장치(2200)로부터 독출된 데이터 등을 포함할 수 있다. 메모리 인터페이스(2120)는 메모리 장치(2200)에 기록될 데이터를 메모리 장치(2200)로 송신하거나, 메모리 장치(2200)로부터 독출된 데이터를 수신할 수 있다. 이러한 메모리 인터페이스(2120)는 토글(Toggle) 혹은 온파이(ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.
플래시 변환 계층(2140)은 어드레스 매핑(address mapping), 웨어-레벨링(wear-leveling), 가비지 콜렉션(garbage collection)과 같은 여러 기능을 수행할 수 있다. 어드레스 매핑 동작은 호스트로부터 수신한 논리 어드레스(logical address)를, 메모리 장치(2200) 내에 데이터를 실제로 저장하는 데 사용되는 물리 어드레스(physical address)로 바꾸는 동작이다. 웨어-레벨링은 메모리 장치(2200) 내의 블록(block)들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록(physical block)들의 소거 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은, 블록의 유효 데이터를 새 블록에 복사한 후 기존 블록을 소거(erase)하는 방식을 통해 메모리 장치(2200) 내에서 사용 가능한 용량을 확보하기 위한 기술이다.
패킷 매니저(2150)는 호스트(1000)와 협의된 인터페이스의 프로토콜에 따른 패킷(Packet)을 생성하거나, 호스트(1000)로부터 수신된 패킷(Packet)으로부터 각종 정보를 파싱할 수 있다. 또한, 버퍼 메모리(2160)는 메모리 장치(2200)에 기록될 데이터 혹은 메모리 장치(2200)로부터 독출될 데이터를 임시로 저장할 수 있다. 버퍼 메모리(2160)는 메모리 컨트롤러(2100) 내에 구비되는 구성일 수 있으나, 메모리 컨트롤러(2100)의 외부에 배치되어도 무방하다.
ECC 회로(2170)는 메모리 장치(2200)로부터 독출되는 독출 데이터에 대한 오류 검출 및 정정 기능을 수행할 수 있다. 보다 구체적으로, ECC 회로(2170)는 메모리 장치(2200)에 기입될 기입 데이터에 대하여 패리티 비트(parity bit)들을 생성할 수 있으며, 이와 같이 생성된 패리티 비트들은 기입 데이터와 함께 메모리 장치(2200) 내에 저장될 수 있다. 메모리 장치(2200)로부터의 데이터 독출 시, ECC 회로(2170)는 독출 데이터와 함께 메모리 장치(2200)로부터 독출되는 패리티 비트들을 이용하여 독출 데이터의 에러를 정정하고, 에러가 정정된 독출 데이터를 출력할 수 있다. 본 개시의 예시적 실시예에 따르면, ECC 회로(2170)는 도 1의 ECC 회로(210)보다 적은 수의 에러 비트를 검출하고 정정할 수 있다.
AES 엔진(2180)은, 메모리 컨트롤러(2100)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)를 이용하여 수행할 수 있다.
일부 실시예들에서, 메모리 컨트롤러(2100)는 도 1의 테스트 회로(200)를 포함할 수도 있다.
도 17은 본 개시의 예시적 실시예에 따른 메모리 장치의 리페어 동작 방법을 설명하는 흐름도이다. 도 17은 도 1 및 도 11 내지 15를 참조하여 후술될 수 있다. 메모리 장치의 리페어 동작 방법은 복수의 단계들(S1710 내지 S1740)을 포함할 수 있다.
S1710 단계에서, 메모리 장치(100)는 메모리 컨트롤러(예를 들어, 도 14의 2100)로부터 물리 어드레스를 수신할 수 있다. 물리 어드레스는 DQ 핀을 통해 수신될 수 있다.
S1720 단계에서, 리페어 회로(170)는 물리 어드레스와 불량 어드레스를 비교할 수 있다. 물리 어드레스와 불량 어드레스가 동일하면 S1540 단계가 수행될 수 있고, 물리 어드레스와 불량 어드레스가 동일하지 않으면 S1530 단계가 수행될 수 있다. 불량 어드레스는 도 12 또는 14를 참조하여 전술된 바와 같이, 불량 로우 어드레스 또는 불량 컬럼 어드레스일 수 있다.
S1730 단계에서, 메모리 장치(100)는 노멀 영역(111A, 112A)에 접근할 수 있다. 예를 들어, 메모리 장치(100)는 노멀 영역(111A, 112A)에 데이터를 프로그램하거나, 노멀 영역(111A, 112A)으로부터 데이터를 리드할 수 있다.
S1740 단계에서, 메모리 장치(100)는 리던던시 영역(111B, 112B)에 접근할 수 있다. 예를 들어, 메모리 장치(100)는 리던던시 영역(111B, 112B)에 데이터를 프로그램하거나, 리던던시 영역(111B, 112B)으로부터 데이터를 리드할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 노멀 영역 및 리던던시 워드라인 및 리던던시 영역을 포함하는 메모리 셀 어레이를 포함하는 메모리 장치의 동작 방법에 있어서,
    상기 노멀 영역에 대해 테스트 패턴을 기초로 복수의 프로그램 동작들을 수행하는 단계;
    프로그램된 상기 테스트 패턴을 기초로 복수의 리드 동작들을 수행하는 단계; 및
    상기 복수의 프로그램 동작들 및 리드 동작들을 기초로 상기 테스트 패턴에 대한 에러 비트를 검출함으로써 상기 노멀 영역에 포함된 복수의 메모리 셀들 중 에러가 발생한 셀의 위치 및 위치 별 에러 횟수를 획득하는 단계를 포함하는 메모리 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 에러 비트가 발생한 셀의 위치 및 위치 별 에러 횟수를 기초로 상기 노멀 영역에 포함된 불량 셀을 상기 리던던시 영역의 리던던시 셀로 리페어하는 단계를 더 포함하는 메모리 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 복수의 리드 동작들을 수행하는 단계는,
    상기 복수의 리드 동작들마다, 리드된 상기 테스트 패턴에 대한 에러 정정 동작을 기초로, 에러 비트의 위치 및 해당 위치의 누적 에러 횟수를 각각 포함하는 복수의 패킷들을 상기 테스트 패턴으로서 생성하는 단계를 포함하고,
    상기 복수의 프로그램 동작들을 수행하는 단계는,
    상기 복수의 리드 동작들 각각이 완료될 때마다 상기 복수의 패킷들을 상기 메모리 셀 어레이에 프로그램하는 단계를 포함하는 메모리 장치의 동작 방법.
  4. 제1항에 있어서,
    상기 복수의 리드 동작들을 수행하는 단계는,
    상기 복수의 리드 동작들마다 리드된 상기 테스트 패턴을 기초로, 에러 비트의 위치 및 해당 위치의 누적 에러 횟수를 각각 포함하는 복수의 패킷들을 생성하는 단계; 및
    상기 복수의 리드 동작들 중 에러 비트를 포함하는 테스트 패턴을 리드한 리드 동작이 완료된 후 상기 복수의 패킷들을 버퍼 메모리에 업데이트하는 단계를 포함하는 메모리 장치의 동작 방법.
  5. 제4항에 있어서,
    상기 복수의 패킷들을 생성하는 단계는,
    상기 복수의 리드 동작들마다, 상기 리드된 상기 테스트 패턴과, 기준 패턴을 비교함으로써 에러 비트 위치를 나타내는 비트 시퀀스를 생성하는 단계;
    상기 비트 시퀀스를 기초로 에러 비트 위치를 디지털 값으로 변환하는 단계; 및
    상기 디지털 값을 기초로 상기 복수의 패킷들 각각에 에러 비트의 위치를 기록하는 단계를 포함하는 메모리 장치의 동작 방법.
  6. 제4항에 있어서,
    상기 복수의 리드 동작들 중 에러 비트를 포함하는 테스트 패턴을 리드한 리드 동작이 완료된 후 상기 복수의 패킷들을 버퍼 메모리에 업데이트하는 단계는,
    상기 복수의 저장 영역들 중 상기 테스트 패턴이 저장된 저장 영역의 어드레스를 상기 복수의 패킷들과 함께 저장하는 단계를 포함하는 메모리 장치의 동작 방법.
  7. 제1항에 있어서,
    상기 에러 비트는,
    '1'로 리드된 에러 비트 및 '0'으로 리드된 에러 비트를 포함하는 메모리 장치의 동작 방법.
  8. 제2항에 있어서,
    상기 불량 셀을 노멀 셀로 리페어하는 단계는,
    상기 노멀 영역에 포함된 복수의 저장 영역들 중 제1 기준 값 이상의 에러 횟수를 갖는 에러 비트의 개수가, 제2 기준 값 이상인 저장 영역의 어드레스를 기초로, 리던던시 영역에 포함된 정상 셀에 접근하는 단계를 포함하는 메모리 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 리던던시 영역에 포함된 정상 셀에 접근하는 단계는,
    상기 페일 저장 영역의 로우 어드레스를 기초로 상기 리던던시 워드라인을 활성화하는 단계를 포함하는 메모리 장치의 동작 방법.
  10. 제8항에 있어서,
    상기 리던던시 영역에 포함된 정상 셀에 접근하는 단계는,
    상기 페일 저장 영역의 컬럼 어드레스를 기초로 상기 리던던시 영역과 연결된 리던던시 비트라인을 활성화하는 단계를 포함하는 메모리 장치의 동작 방법.
  11. 노멀 메모리 셀을 포함하는 노멀 영역 및 리던던시 메모리 셀을 포함하는 리던던시 영역을 포함하는 메모리 셀 어레이; 및
    상기 노멀 메모리 셀에 대해 테스트 패턴을 이용하여 수행되는 복수의 라이트 동작들 및 복수의 리드 동작들을 기초로 상기 노멀 메모리 셀 각각의 에러 여부 및 각 메모리 셀의 에러 횟수를 검출하는 테스트 회로를 포함하는 반도체 장치.
  12. 제11항에 있어서,
    어드레스를 기초로 상기 노멀 메모리 셀 또는 리던던시 메모리 셀을 선택하는 디코더 회로; 및
    상기 에러 여부 및 에러 횟수를 기초로 검출된 불량 셀에 대한 어드레스에 응답하여 상기 리던던시 메모리 셀을 선택하도록 상기 디코더 회로를 제어하는 리페어 회로를 더 포함하는 반도체 장치.
  13. 제11항에 있어서,
    상기 테스트 회로는,
    상기 노멀 영역에 상기 테스트 패턴을 이용하여 상기 복수의 라이트 동작들 및 상기 복수의 리드 동작들을 반복적으로 수행하고, 상기 복수의 리드 동작들을 기초로, 리드된 상기 테스트 패턴에 대한 에러 비트의 위치 및 에러 비트 위치 별 에러 횟수를 획득하는 반도체 장치.
  14. 제11항에 있어서,
    상기 테스트 회로는,
    상기 테스트 패턴을 구성하는 비트들 중 에러 비트의 위치를 나타내는 비트 시퀀스 및 에러가 정정된 데이터를 출력하는 ECC 회로;
    상기 비트 시퀀스를 기초로 상기 에러 위치를 나타내는 에러 위치 값을 산출하는 오류 위치 생성기; 및
    상기 에러 위치 값을 기초로, 상기 테스트 패턴을 구성하는 비트들 중 에러가 발생한 비트들의 위치 및 위치에 대응하는 에러 횟수를 포함하는 복수의 패킷들을 생성하고, 복수의 패킷들을 병합함으로써 상기 테스트 패턴을 생성하는 오류 정보 생성기를 포함하는 반도체 장치.
  15. 제14항에 있어서,
    상기 오류 위치 생성기는,
    상기 비트 시퀀스 및 상기 정정된 데이터를 기초로 상기 에러 비트의 종류에 대한 정보를 생성하고,
    상기 오류 정보 생성기는,
    상기 복수의 패킷들에 상기 에러 비트의 종류를 기록하는 반도체 장치.
  16. 제11항에 있어서,
    상기 테스트 패턴에 대한 리드 결과를 구성하는 비트들 중 에러 비트의 위치 및 위치에 대응하는 에러 횟수를 포함하는 복수의 패킷들을 저장하는 버퍼 메모리를 더 포함하고,
    상기 테스트 회로는,
    상기 테스트 패턴에 대한 리드 결과와 상기 테스트 패턴을 비교함으로써 상기 테스트 패턴을 구성하는 비트들 중 에러 비트의 위치를 나타내는 비트 시퀀스를 출력하는 에러 비트 정보 생성기;
    상기 비트 시퀀스를 기초로 상기 에러 비트의 위치를 나타내는 에러 위치 값을 산출하는 오류 위치 생성기;
    상기 에러 위치 값을 기초로, 상기 테스트 패턴을 구성하는 비트들 중 에러가 발생한 비트들의 위치 및 위치에 대응하는 에러 횟수를 포함하는 복수의 패킷들을 생성하고, 상기 복수의 패킷들을 상기 버퍼 메모리에 업데이트하는 오류 정보 생성기를 포함하는 반도체 장치.
  17. 제12항에 있어서,
    상기 리페어 회로는,
    상기 불량 셀에 대한 불량 어드레스를 저장하는 불량 어드레스 스토리지; 및
    상기 어드레스와 불량 어드레스를 비교하고, 비교 결과에 따라 상기 노멀 영역 또는 상기 리던던시 영역을 제어하는 매칭 신호를 출력하는 어드레스 비교기를 포함하는 반도체 장치.
  18. 노멀 영역 및 리던던시 영역을 포함하는 메모리 셀 어레이를 포함하는 메모리 장치의 테스트 방법에 있어서,
    노멀 영역에 테스트 패턴을 기초로 복수의 프로그램 동작들을 수행하는 단계;
    각각 상기 복수의 프로그램 동작들 중 하나와 대응되는, 상기 테스트 패턴에 대한 복수의 리드 동작들을 수행하는 단계;
    상기 리드 동작들의 결과에 대한 에러 정정 동작을 기초로 상기 테스트 패턴을 구성하는 비트들 중 에러 비트의 위치 및 위치 별 에러 횟수를 획득하는 단계; 및
    상기 에러 비트의 위치 및 위치 별 횟수를 기초로 상기 노멀 영역에 포함된 저장 영역들 중 불량 저장 영역을 검출하는 단계를 포함하는 메모리 장치의 테스트 방법.
  19. 제18항에 있어서,
    상기 불량 저장 영역을 검출하는 단계는,
    상기 저장 영역들 중 제1 기준 값 이상의 에러 횟수를 갖는 에러 비트의 개수가 제2 기준 값 이상인 저장 영역은 상기 불량 저장 영역으로 검출하는 단계를 포함하는 메모리 장치의 테스트 방법.
  20. 제18항에 있어서,
    상기 에러 비트의 위치 및 위치 별 에러 횟수를 획득하는 단계는,
    상기 복수의 리드 동작들의 결과에 대해 에러 정정 동작을 수행함으로써 획득되는 에러 비트의 횟수를 누적하는 단계를 포함하는 메모리 장치의 테스트 방법.
KR1020220082139A 2022-07-04 2022-07-04 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법 KR20240004062A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220082139A KR20240004062A (ko) 2022-07-04 2022-07-04 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법
US18/314,508 US20240006008A1 (en) 2022-07-04 2023-05-09 Operating and testing semiconductor devices
EP23174961.5A EP4303877A3 (en) 2022-07-04 2023-05-23 Operating and testing semiconductor devices
CN202310789150.4A CN117352033A (zh) 2022-07-04 2023-06-29 半导体装置以及操作和测试存储器装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220082139A KR20240004062A (ko) 2022-07-04 2022-07-04 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법

Publications (1)

Publication Number Publication Date
KR20240004062A true KR20240004062A (ko) 2024-01-11

Family

ID=86497674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220082139A KR20240004062A (ko) 2022-07-04 2022-07-04 메모리 장치의 동작 방법, 반도체 장치 및 메모리 장치의 테스트 방법

Country Status (4)

Country Link
US (1) US20240006008A1 (ko)
EP (1) EP4303877A3 (ko)
KR (1) KR20240004062A (ko)
CN (1) CN117352033A (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW446955B (en) * 1998-10-30 2001-07-21 Siemens Ag The read/write memory with self-testing device and its associated test method
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
EP2601755B1 (en) 2010-08-05 2019-12-18 Samsung Electronics Co., Ltd Multiplexing control and data information from a user equipment
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템

Also Published As

Publication number Publication date
CN117352033A (zh) 2024-01-05
EP4303877A3 (en) 2024-03-20
EP4303877A2 (en) 2024-01-10
US20240006008A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
US8719662B2 (en) Memory device with error detection
US7778070B2 (en) Memory with dynamic redundancy configuration
US8161355B2 (en) Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US8732549B2 (en) Data recovery in a solid state storage system
US11579972B2 (en) Non-volatile memory device, controller for controlling the same, storage device having the same, and reading method thereof
US11782633B2 (en) Memory device and method for monitoring the performances of a memory device
US11625298B2 (en) Memory block defect detection and management
US10811116B2 (en) Semiconductor systems
US20210110865A1 (en) Extending operating temperature of storage device
US11908535B2 (en) Memory device and memory controller and storage device including the memory device and memory controller
KR100871703B1 (ko) 불휘발성 메모리 장치 및 그 구동방법
EP4303877A2 (en) Operating and testing semiconductor devices
US20230141554A1 (en) Memory device, memory system, and method of operating the memory system
US20240071528A1 (en) Managing defective blocks during multi-plane programming operations in memory devices
US11854644B2 (en) Performing select gate integrity checks to identify and invalidate defective blocks
US11532375B2 (en) Latch circuit and memory device including the same
US20230186995A1 (en) Performing data integrity checks to identify defective wordlines
KR20230031532A (ko) 메모리 장치 및 그 동작 방법
KR20230071699A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법