KR20220118236A - 메모리 장치 - Google Patents
메모리 장치 Download PDFInfo
- Publication number
- KR20220118236A KR20220118236A KR1020210022120A KR20210022120A KR20220118236A KR 20220118236 A KR20220118236 A KR 20220118236A KR 1020210022120 A KR1020210022120 A KR 1020210022120A KR 20210022120 A KR20210022120 A KR 20210022120A KR 20220118236 A KR20220118236 A KR 20220118236A
- Authority
- KR
- South Korea
- Prior art keywords
- fail
- allowable
- output
- current
- compensation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/14—Dummy cell management; Sense reference voltage generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
본 기술은 데이터가 저장되는 메모리 셀들; 상기 메모리 셀들로부터 센싱된 센싱 데이터를 저장하도록 구성된 페이지 버퍼들; 상기 센싱 데이터에 따라 생성되는 센싱 전압과, 허용 페일 비트 코드에 따라 생성되는 기준 전압을 서로 비교하고, 비교 결과에 따라 패스 신호 또는 페일 신호를 출력하도록 구성되는 전류 센싱 회로; 및 상기 전류 센싱 회로로부터 상기 패스 신호가 출력될 때까지, 상기 허용 페일 비트 코드에 포함된 허용 페일 비트의 개수를 증가시키고, 상기 허용 페일 비트의 개수에 따라 상기 허용 페일 비트 코드를 변경하여 상기 전류 센싱 회로에 제공하도록 구성된 페일 비트 관리부를 포함하는 메모리 장치를 포함한다.
Description
본 발명은 메모리 장치에 관한 것으로, 보다 구체적으로는 페일 비트(fail bit)를 카운트할 수 있는 메모리 장치에 관한 것이다.
메모리 시스템은 데이터가 저장되는 메모리 장치와, 메모리 장치를 제어할 수 있는 컨트롤러를 포함할 수 있다. 메모리 장치는 휘발성 메모리 장치(Volatile Memory)와 비휘발성 메모리 장치(Non-volatile Memory)로 구분된다. 휘발성 메모리 장치는 각각 서로 다른 특성을 가지므로, 전자 장치에서 각각의 기능에 맞게 사용되고 있다. 예를 들면, 휘발성 메모리 장치는 프로그램 동작 및 리드 동작의 속도가 비휘발성 메모리 장치보다 빠르지만, 전원의 공급이 중단되면 저장된 데이터가 소멸되는 특성을 가진다. 비휘발성 메모리 장치는 프로그램 동작 및 리드 동작의 속도는 휘발성 메모리 장치보다 느리지만, 전원의 공급이 중단되더라도 저장된 데이터가 유지되는 특성을 가진다. 또한, 비휘발성 메모리 장치는 휘발성 메모리 장치보다 높은 집적도를 가질 수 있으므로, 대용량 데이터를 저장할 수 있다.
메모리 장치는 데이터가 저장되는 메모리 셀 어레이와, 메모리 셀 어레이에 포함된 메모리 셀들을 프로그램, 리드 또는 소거하도록 구성되는 주변 회로와, 주변 회로를 제어할 수 있는 컨트롤 로직 회로를 포함할 수 있다.
메모리 셀 어레이는 복수의 메모리 블록들을 포함할 수 있으며, 복수의 메모리 블록들 각각은 복수의 메모리 셀들을 포함할 수 있다. 하나의 메모리 셀에 1 비트의 데이터가 저장되는 방식을 SLC(single level cell) 방식이라 하고, 2 비트 이상의 데이터가 저장되는 방식을 MLC(multi level cell) 방식이라 한다. MLC 방식은 메모리 셀에 저장되는 비트의 수에 따라 TLC(triple level cell) 또는 QLC(quadruple level cell) 방식으로 구분될 수 있다. TLC 방식에서는 하나의 메모리 셀에 3 비트의 데이터가 저장될 수 있고, QLC 방식에서는 하나의 메모리 셀에 4 비트의 데이터가 저장될 수 있다.
주변 회로는 워드 라인들을 통해 복수의 메모리 셀들에 연결된 로우 디코더와 비트 라인들을 통해 복수의 메모리 셀들에 연결된 페이지 버퍼 그룹을 포함할 수 있다. 워드 라인들을 통해 프로그램 전압, 리드 전압, 검증 전압 또는 패스 전압이 메모리 셀들에 인가될 수 있으며, 비트 라인들을 통해 메모리 셀들의 데이터가 센싱(sensing)될 수 있다.
본 발명의 실시예는 리드 동작 시 페일 비트(fail bit)를 카운트할 수 있는 회로의 사이즈를 감소시키고, 리드 동작의 속도를 개선할 수 있는 메모리 장치를 제공한다.
본 발명의 실시 예에 따른 메모리 장치는, 데이터가 저장되는 메모리 셀들; 상기 메모리 셀들로부터 센싱된 센싱 데이터를 저장하도록 구성된 페이지 버퍼들; 상기 센싱 데이터에 따라 생성되는 센싱 전압과, 허용 페일 비트 코드에 따라 생성되는 기준 전압을 서로 비교하고, 비교 결과에 따라 패스 신호 또는 페일 신호를 출력하도록 구성되는 전류 센싱 회로; 및 상기 전류 센싱 회로로부터 상기 패스 신호가 출력될 때까지, 상기 허용 페일 비트 코드에 포함된 허용 페일 비트의 개수를 증가시키고, 상기 허용 페일 비트의 개수에 따라 상기 허용 페일 비트 코드를 변경하여 상기 전류 센싱 회로에 제공하도록 구성된 페일 비트 관리부를 포함한다.
본 발명의 실시 예에 따른 메모리 장치는, 메모리 셀들; 비트 라인들을 통해 상기 메모리 셀들에 연결되고, 리드 동작 시 상기 비트 라인들의 전류 또는 전압을 센싱하여 센싱 데이터를 저장하도록 구성된 페이지 버퍼들; 상기 센싱 데이터에서 검출된 페일 비트의 개수와 허용 페일 비트의 개수에 따라 상기 리드 동작의 패스 또는 페일 여부를 판단하고, 보상 값의 개수에 따라 상기 허용 페일 비트의 개수에 대한 상기 검출된 페일 비트의 개수의 기울기를 변경하도록 구성된 전류 센싱 회로; 및 상기 리드 동작이 패스될 때까지 상기 허용 페일 비트의 개수를 조절하고, 상기 허용 페일 비트의 개수가 최대 값이 될 때까지 상기 리드 동작이 페일로 판단되면 상기 보상 값의 개수를 조절하도록 구성된 페일 비트 관리부를 포함한다.
본 기술은 리드 동작 시 페일 비트를 카운트하는 회로의 사이즈를 감소시킴으로써 메모리 장치의 사이즈를 감소시킬 수 있으며, 리드 동작의 속도를 개선시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 2는 도 1에 도시된 메모리 셀 어레이를 설명하기 위한 도면이다.
도 3은 도 2에 도시된 메모리 블록을 설명하기 위한 도면이다.
도 4는 도 1에 도시된 페이지 버퍼 그룹을 설명하기 위한 도면이다.
도 5는 선택된 페이지를 청크 단위로 센싱하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 전류 센싱 회로를 설명하기 위한 회로도이다.
도 7a 내지 도 7c는 본 발명의 실시 예에 따른 페일 비트 관리부를 설명하기 위한 도면들이다.
도 8a는 허용 페일 비트의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한도면이다.
도 8b는 보상 값의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한도면이다.
도 9는 본 발명의 실시 예에 따른 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 10은 메모리 셀들의 문턱전압을 설명하기 위한 도면이다.
도 11은 리드 동작 시 수행되는 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 12는 본 발명의 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 도면이다.
도 13은 본 발명의 메모리 장치를 포함하는 다른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1에 도시된 메모리 셀 어레이를 설명하기 위한 도면이다.
도 3은 도 2에 도시된 메모리 블록을 설명하기 위한 도면이다.
도 4는 도 1에 도시된 페이지 버퍼 그룹을 설명하기 위한 도면이다.
도 5는 선택된 페이지를 청크 단위로 센싱하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 전류 센싱 회로를 설명하기 위한 회로도이다.
도 7a 내지 도 7c는 본 발명의 실시 예에 따른 페일 비트 관리부를 설명하기 위한 도면들이다.
도 8a는 허용 페일 비트의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한도면이다.
도 8b는 보상 값의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한도면이다.
도 9는 본 발명의 실시 예에 따른 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 10은 메모리 셀들의 문턱전압을 설명하기 위한 도면이다.
도 11은 리드 동작 시 수행되는 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 12는 본 발명의 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 도면이다.
도 13은 본 발명의 메모리 장치를 포함하는 다른 메모리 시스템을 설명하기 위한 도면이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 장치(1100)는 메모리 셀 어레이(memory cell array; 110), 로우 디코더(row decoder; 120), 전압 생성부(voltage generator; 130), 페이지 버퍼 그룹(page buffer group; 140), 컬럼 디코더(column decoder; 150), 입출력 회로(input/output circuit; 160), 전류 센싱 회로(current sensing circuit; 170) 및 컨트롤 로직 회로(control logic circuit; 180)를 포함할 수 있다.
메모리 셀 어레이(110)는 하나 이상의 플래인들(planes)을 포함할 수 있으며, 플래인들 각각은 데이터가 저장되는 복수의 메모리 블록들을 포함할 수 있다. 메모리 블록들 각각은 복수의 메모리 셀들을 포함하며, 메모리 셀들은 기판에 평행하게 배열되는 2차원 구조 또는 기판에 수직 방향으로 적층되는 3차원 구조로 구현될 수 있다.
로우 디코더(120)는 로우 어드레스(RADD)에 응답하여 메모리 셀 어레이(110)에 포함된 메모리 블록들 중에서 하나의 메모리 블록을 선택하고, 선택된 메모리 블록에 동작 전압들(Vop)을 전송할 수 있다.
전압 생성부(130)는 동작 코드(OPCD)에 응답하여, 다양한 동작들에 필요한 동작 전압들(Vop)을 생성하고 출력할 수 있다. 예를 들면, 전압 생성부(130)는 프로그램 전압, 검증 전압, 리드 전압, 소거 전압 및 패스 전압 등을 생성하고 출력할 수 있다.
페이지 버퍼 그룹(140)은 비트 라인들(bit lines)을 통해 메모리 셀 어레이(110)에 연결될 수 있다. 예를 들면, 페이지 버퍼 그룹(140)은 비트 라인들 각각에 연결된 페이지 버퍼들을 포함할 수 있다. 페이지 버퍼들은 페이지 버퍼 제어 신호들(PBSIGS)에 응답하여 동시에 동작할 수 있으며, 프로그램 또는 리드 동작 시 데이터를 임시로 저장할 수 있다. 페이지 버퍼들 각각은 데이터를 저장할 수 있는 복수의 래치들을 포함할 수 있다. 페이지 버퍼에 포함된 복수의 래치들 중 하나에는 리드 또는 검증 동작 시 비트 라인들을 통해 센싱된 센싱 데이터(SDT<K:1>)가 저장될 수 있다. 리드 또는 검증 동작 시, 복수의 페이지 버퍼들은 비트 라인들을 통해 수신되는 센싱 데이터(SDT<K:1>)를 저장할 수 있다. 센싱 데이터(SDT<K:1>)는 선택된 메모리 블록에 포함된 페이지들 중에서 선택된 페이지 전체에서 센싱된 데이터이거나, 선택된 페이지의 일부 청크(chunk)에서 센싱된 데이터일 수 있다.
컬럼 디코더(150)는 컬럼 어드레스(CADD)에 응답하여 컬럼 선택 신호(CS)를 출력할 수 있고, 페이지 버퍼 그룹(140)에 포함된 복수의 페이지 버퍼들은 컬럼 선택 신호(CS)에 응답하여 데이터 라인들(DL#)에 로드된 데이터를 저장할 수 있다.
입출력 회로(160)는 입출력 라인들(IO)을 통해 메모리 장치(1100)와 외부 장치를 서로 연결할 수 있다. 여기서 외부 장치는 메모리 장치(1100)를 제어할 수 있는 컨트롤러(controller)일 수 있다. 입출력 회로(160)는 입출력 라인들(IO)을 통해 커맨드(CMD), 어드레스(ADD) 및 데이터를 수신하거나 데이터를 외부 장치로 출력할 수 있고, 데이터 라인들(data lines; DL#)을 통해 페이지 버퍼 그룹(140)으로부터 출력된 데이터를 수신할 수 있다. 입출력 회로(160)는 입출력 라인들(IO)을 통해 수신된 커맨드(CMD) 및 어드레스(ADD)를 컨트롤 로직 회로(180)에게 전송할 수 있고, 데이터를 페이지 버퍼 그룹(140)에게 전송할 수 있다.
전류 센싱 회로(170)는 센싱 데이터(SDT<K:1>; K는 양의 정수)에 포함된 페일 비트의 개수와 허용된 페일 비트의 개수를 서로 비교하고, 비교 결과에 따라 패스 신호(PS) 또는 페일 신호(FS)를 출력할 수 있다. 예를 들면, 전류 센싱 회로(170)는 보상 코드(CP<A:1>; A는 양의 정수)와 허용 페일 비트 코드(FB<N:1>; N은 양의 정수)에 따라 기준 전류를 생성할 수 있고, 센싱 데이터(SDT<K:1>)에 따라 센싱 전류를 생성할 수 있다. 전류 센싱 회로(170)는 기준 전류에 따라 기준 전압을 생성할 수 있고, 센싱 전류에 따라 센싱 전압을 생성할 수 있다. 전류 센싱 회로(170)는 기준 전압과 센싱 전압을 서로 비교하여 패스 신호(PS) 또는 페일 신호(FS)를 생성할 수 있다.
예를 들면, 전류 센싱 회로(170)는 센싱 데이터(SDT<K:1>; K는 양의 정수)에 포함된 페일 비트의 개수가 허용된 페일 비트의 개수보다 작거나 같으면 패스 신호(PS)를 출력할 수 있고, 센싱 데이터(SDT<K:1>; K는 양의 정수)에 포함된 페일 비트의 개수가 허용된 페일 비트의 개수보다 많으면 페일 신호(FS)를 출력할 수 있다.
컨트롤 로직 회로(180)는 입출력 라인들(IO)을 통해 외부 장치로부터 수신되는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 동작 코드(OPCD), 로우 어드레스(RADD), 페이지 버퍼 제어 신호들(PBSIGS) 및 컬럼 어드레스(CADD)를 출력할 수 있다. 예를 들면, 컨트롤 로직 회로(180)는 커맨드(CMD)에 응답하여 다양한 동작들에 대한 알고리즘을 수행하는 소프트웨어와, 어드레스(ADD) 및 알고리즘에 따라 다양한 신호들을 출력하도록 구성된 하드웨어를 포함할 수 있다. 컨트롤 로직 회로(180)는 리드 동작이 수행되는 동안, 입출력 라인들(IO)을 통해 외부 장치로부터 다음 커맨드가 수신되는 것을 차단하기 위한 레디비지 신호(RB)를 외부 장치에게 출력할 수 있다. 예를 들면, 외부 장치는 메모리 장치(1100)를 컨트롤할 수 있는 컨트롤러일 수 있다.
컨트롤 로직 회로(180)는 검증 또는 리드 동작의 패스(pass) 또는 페일(fail)을 판단하도록 구성된 페일 비트 관리부(fail bit manager; 190)를 포함할 수 있다. 도 1에는 페일 비트 관리부(190)가 컨트롤 로직 회로(180) 내에 포함된 것으로 도시되었으나, 실시 예에 따라 페일 비트 관리부(190)는 컨트롤 로직 회로(180)의 외부에 별도로 구비될 수도 있다.
페일 비트 관리부(190)는 검증 또는 리드 동작 시 보상 코드(CP<A:1>) 및 허용 페일 비트 코드(FB<N:1>)를 출력할 수 있고, 패스 또는 페일 신호(PS 또는 FS)에 응답하여 보상 코드(CP<A:1>) 및 허용 페일 비트 코드(FB<N:1>)를 저장하거나 변경할 수 있다.
도 2는 도 1에 도시된 메모리 셀 어레이를 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 셀 어레이(110)는 복수의 플래인들(PL1~PL4)을 포함할 수 있다. 플래인들(PL1~PL4) 각각에는 서로 다른 페이지 버퍼 그룹들(도 1의 140)이 연결될 수 있다. 플래인들(PL1~PL4) 각각은 복수의 메모리 블록들(BLK1~BLKi; i는 양의 정수)을 포함할 수 있다. 복수의 메모리 블록들(BLK1~BLKi)에는 서로 다른 로우 어드레스가 설정될 수 있다. 프로그램 동작은 컨트롤 로직 회로(도 1의 180)에서 출력되는 로우 어드레스(도 1의 RADD)에 따라 선택된 메모리 블록에서 수행될 수 있다. 복수의 메모리 블록들(BLK1~BLKi)에는 워드 라인들을 포함한 서로 다른 로컬 라인들이 연결될 수 있으며, 비트 라인들이 공통으로 연결될 수 있다.
도 2에 도시된 복수의 메모리 블록들(BLK1~BLKi) 중에서 어느 하나의 메모리 블록을 구체적으로 설명하면 다음과 같다.
도 3은 도 2에 도시된 메모리 블록을 설명하기 위한 도면이다.
도 3을 참조하면, 도 2에 도시된 복수의 메모리 블록들(BLK1~BLKi) 중 어느 하나의 메모리 블록(BLKi)이 실시 예로써 도시된다.
메모리 블록(BLKi)은 제1 내지 제m 비트 라인들(BL1~BLm; m은 양의 정수)과 소스 라인(SL) 사이에 연결된 복수의 스트링들(ST)을 포함할 수 있다. 스트링들(ST) 각각은 소스 라인(SL)과 제1 내지 제m 비트 라인들(BL1~BLm; m은 양의 정수) 사이에서 직렬로 연결된 소스 셀렉트 트랜지스터(SST), 제1 내지 제n 메모리 셀들(C1~Cn; n은 양의 정수) 및 드레인 셀렉트 트랜지스터(DST)를 포함할 수 있다.
도 3에 도시된 메모리 블록(BLKi)은 메모리 블록의 구성을 설명하기 위한 도면이므로, 소스 셀렉트 트랜지스터(SST), 제1 내지 제n 메모리 셀들(C1~Cn) 및 드레인 셀렉트 트랜지스터(DST)의 개수는 도 3에 도시된 개수로 제한되지 않는다.
서로 다른 스트링들(ST)에 연결된 소스 셀렉트 트랜지스터들(SST)의 게이트들은 소스 셀렉트 라인(SSL)에 연결되고, 제1 내지 제n 메모리 셀들(C1~Cn) 각각의 게이트들은 제1 내지 제n 워드 라인들(WL1~WLn)에 연결되고, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인(DSL)에 연결될 수 있다.
동일한 워드 라인에 연결되고 서로 다른 스트링들(ST)에 포함된 메모리 셀들의 그룹은 하나의 페이지(PG)를 구성할 수 있다. 프로그램 동작 또는 리드 동작은 페이지(PG) 단위로 수행될 수 있다.
도 4는 도 1에 도시된 페이지 버퍼 그룹을 설명하기 위한 도면이다.
도 4를 참조하면, 페이지 버퍼 그룹(140)은 제1 내지 제m 페이지 버퍼들(PB1~PBm; m은 양의 정수)을 포함할 수 있다. 제1 내지 제m 페이지 버퍼들(PB1~PBm)은 제1 내지 제m 비트 라인들(BL1~BLm)에 각각 연결될 수 있다. 제1 내지 제m 페이지 버퍼들(PB1~PBm) 각각은 복수의 래치들(latches)을 포함할 수 있으며, 선택된 페이지의 검증 또는 리드 동작 시 메모리 셀들의 문턱전압에 따라 변경되는 제1 내지 제m 비트 라인들(BL1~BLm)의 전류 또는 전압을 센싱하여 복수의 래치들 중 하나의 래치에 센싱 데이터를 저장할 수 있다. 즉, 제1 내지 제m 페이지 버퍼들(PB1~PBm) 각각에는 1 비트의 센싱 데이터가 저장될 수 있다. 따라서, 제1 내지 제m 페이지 버퍼들(PB1~PBm) 전체에는 m 비트의 센싱 데이터가 저장될 수 있다.
도 5는 선택된 페이지를 청크 단위로 센싱하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 메모리 블록에 포함된 복수의 페이지들 중에서 선택된 페이지(Sel_PG)에는 복수의 메모리 셀들이 포함되므로, 메모리 셀들의 개수는 센싱 데이터의 비트 수와 동일하다. 메모리 장치의 집적도가 증가함에 따라, 선택된 페이지(Sel_PG)에 포함된 메모리 셀들의 개수도 증가하고 있다.
선택된 페이지(Sel_PG)에 포함된 메모리 셀들의 개수가 증가하면, 검증 또는 리드 동작 시 동시에 처리되어야 하는 센싱 데이터의 비트 수가 증가한다. 따라서, 본 실시 예에서는, 선택된 페이지(Sel_PG)는 복수의 청크들(chunks)로 구분되고, 청크 단위로 센싱 데이터가 처리될 수 있다.
예를 들면, 선택된 페이지(Sel_PG)는 제1 내지 제p 청크들(CK1~CKp; p는 양의 정수)로 구분될 수 있으며, 제1 내지 제p 청크들(CK1~CKp)에는 복수의 메모리 셀들이 포함될 수 있다. 즉, 선택된 페이지(Sel_PG)에 포함된 메모리 셀들은 p 개의 그룹들로 구분될 수 있으며, 각 그룹은 하나의 청크를 구성할 수 있다.
검증 또는 리드 동작 시, 선택된 페이지(Sel_PG)에 포함된 모든 메모리 셀들로부터 센싱된 센싱 데이터는 페이지 버퍼 그룹(140)에 동시에 저장될 수 있고, 페이지 버퍼 그룹(140)에 저장된 센싱 데이터는 전류 센싱 회로(170)에 청크 단위로 순차적으로 출력될 수 있다. 예를 들면, 제1 내지 제p 청크들(CK1~CKp) 각각에 K 개의 메모리 셀들이 포함된다고 가정하면, 제1 청크(CK1)로부터 센싱된 데이터는 제1 청크 센싱 데이터(CK1_SDT<K:1>)가 되고, 제2 청크(CK2)로부터 센싱된 데이터는 제2 청크 센싱 데이터(CK2_SDT<K:1>)가 되며, 제p 청크(CKp)로부터 센싱된 데이터는 제p 청크 센싱 데이터(CKp_SDT<K:1>)가 될 수 있다. 즉, 검증 또는 리드 동작 시, 선텍된 페이지(Sel_PG)의 센싱 동작이 수행되면 페이지 버퍼 그룹(140)에는 제1 내지 제p 청크 센싱 데이터(CK1_SDT<K:1>~CKp_SDT<K:1>)가 저장될 수 있다. 센싱 동작이 완료되면, 페이지 버퍼 그룹(140)은 제1 내지 제p 청크 센싱 데이터(CK1_SDT<K:1>~CKp_SDT<K:1>)를 순차적으로 출력할 수 있다. 예를 들면, 페이지 버퍼 그룹(140)은 제1 청크 센싱 데이터(CK1_SDT<K:1>)를 출력한 후, 제2 청크 센싱 데이터(CK2_SDT<K:1>)를 출력할 수 있다.
전류 센싱 회로(170)는 제1 내지 제p 청크 센싱 데이터(CK1_SDT<K:1>~CKp_SDT<K:1>)의 출력된 순서대로 페일 비트 카운트 동작을 수행할 수 있다. 예를 들면, 전류 센싱 회로(170)에 제1 청크 센싱 데이터(CK1_SDT<K:1>)가 입력되면, 전류 센싱 회로(170)는 제1 청크 센싱 데이터(CK1_SDT<K:1>)에 대한 페일 비트 카운트 동작을 수행하고, 제1 청크 센싱 데이터(CK1_SDT<K:1>)에 대한 패스 신호(PS) 또는 페일 신호(FS)를 출력할 수 있다. 이어서, 전류 센싱 회로(170)에 제2 청크 센싱 데이터(CK2_SDT<K:1>)가 입력되면, 전류 센싱 회로(170)는 제2 청크 센싱 데이터(CK2_SDT<K:1>)에 대한 페일 비트 카운트 동작을 수행하고, 제2 청크 센싱 데이터(CK2_SDT<K:1>)에 대한 패스 신호(PS) 또는 페일 신호(FS)를 출력할 수 있다. 이러한 방식으로, 전류 센싱 회로(170)는 제1 내지 제p 청크 센싱 데이터(CK1_SDT<K:1>~CKp_SDT<K:1>) 각각에 대한 패스 신호(PS) 또는 페일 신호(FS)를 순차적으로 출력할 수 있다.
전류 센싱 회로(170)는 센싱 데이터에 포함된 페일 비트의 개수와 허용 페일 비트의 개수를 비교하고, 비교 결과에 따라 패스 신호(PS) 또는 페일 신호(FS)를 출력할 수 있다. 본 실시 예에서는 센싱 데이터를 비트 단위로 각각 카운트하는 방식이 아닌, 페일 비트의 개수에 따라 변경되는 전류를 이용하는 방식으로 동작하는 전류 센싱 회로(170)가 사용될 수 있다. 일 실시 예에 따른 전류 센싱 회로(170)를 구체적으로 설명하면 다음과 같다.
도 6은 본 발명의 실시 예에 따른 전류 센싱 회로를 설명하기 위한 회로도이다.
도 6을 참조하면, 전류 센싱 회로(170)는 제1 보상 회로(first compensation circuit; 61), 제2 보상 회로(second compensation circuit; 62), 전압 출력 회로(voltage output circuit; 63), 센싱 데이터 수신부(sensing data receiver; 64), 페일 비트 수신부(fail bit receiver; 65) 및 비교 회로(comparison circuit; 66)를 포함할 수 있다.
제1 보상 회로(61)는 보상 코드(CP<A:1>; A는 양의 정수)에 응답하여 제1 노드(D1)의 전류를 가변하도록 구성될 수 있고, 제2 보상 회로(62)는 보상 코드(CP<A:1>)에 응답하여 제2 노드(D2)의 전류를 가변하도록 구성될 수 있다. 즉, 제1 및 제2 보상 회로들(61, 62)은 서로 동일한 구조로 구성될 수 있으며, 서로 다른 제1 또는 제2 노드(D1 또는 D2)에 연결될 수 있다. 보상 코드(CP<A:1>)에 따라, 허용 페일 비트의 개수에 대한 페일 비트의 기울기가 결정될 수 있으며, 기울기에 따라 패스 신호(PS) 또는 페일 신호(FS)가 출력되는 기준이 변경될 수 있다. 예를 들면, 기울기가 1이면 허용 페일 비트의 개수와 검출된 페일 비트의 개수를 1:1로 비교하여 패스 신호(PS) 또는 페일 신호(FS)가 출력될 수 있다.
제1 보상 회로(61)는 전원 전압(VCC)이 공급되는 단자와 제1 노드(D1) 사이에 병렬로 연결된 제1 내지 제A 보상 스위치들(P1~PA)을 포함할 수 있다. 제1 내지 제A 보상 스위치들(P1~PA)은 보상 코드(CP<A:1>)에 포함된 비트들 각각에 응답하여 턴온 또는 턴오프되는 PMOS 트랜지스터로 구현될 수 있다. 예를 들면, 제1 보상 스위치(P1)는 제1 보상 코드(CP<1>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있고, 제2 보상 스위치(P2)는 제2 보상 코드(CP<2>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있다.
제2 보상 회로(62)도 제1 보상 회로(61)와 동일하게 구성될 수 있다. 예를 들면, 제2 보상 회로(62)는 전원 전압(VCC)이 공급되는 단자와 제2 노드(D2) 사이에 병렬로 연결된 제1 내지 제A 보상 스위치들(N1~NA)을 포함할 수 있다.
제1 및 제2 보상 회로들(61, 62)에 입력되는 보상 코드(CP<A:1>)는 0의 조합, 0 및 1의 조합 또는 1의 조합으로 이루어질 수 있다. 예를 들면, 보상 코드(CP<A:1>)에서 1을 보상 값으로 정의하면, 보상 값 개수에 따라 허용 페일 비트의 개수에 대한 페일 비트의 기울기가 변경될 수 있다. 본 실시 예에서는 보상 코드(CP<A:1>)를 구성하는 코드 중에서 0 데이터가 보상 값으로 정의되지만, 전류 센싱 회로(170)의 구조에 따라 1 데이터로 정의될 수도 있다. 이하 설명되는 실시 예에서는 보상 값이 0 데이터인 경우를 가정한다.
전압 출력 회로(63)는 센싱 전압(VP) 및 기준 전압(VN)을 생성하도록 구성된 제1 및 제2 스위치들(S1, S2)을 포함할 수 있다. 제1 스위치(S1)는 제1 및 제3 노드들(D1, D3) 사이에 연결되며, 센싱 전압(VP)을 출력하는 PMOS 트랜지스터로 구현될 수 있다. 제1 스위치(S1)의 게이트는 제3 노드(D3)에 연결되며, 제3 노드(D3)의 보상 전류(Ip)에 따라 생성되는 센싱 전압(VP)이 제1 스위치(S1)의 게이트를 통해 출력될 수 있다. 즉, 제1 스위치(S1)는 제3 노드(D3)에 흐르는 보상 전류(Ip)에 따라 센싱 전압(VP)을 생성하고, 제1 스위치(S1)의 게이트에 인가되는 센싱 전압(VP)에 따라 턴온 레벨이 조절될 수 있다. 제2 스위치(S2)는 제2 및 제4 노드들(D2, D4) 사이에 연결되며, 기준 전압(VN)을 출력하는 PMOS 트랜지스터로 구현될 수 있다. 제2 스위치(S2)의 게이트는 제1 스위치(S1)의 게이트에 연결되므로, 제2 스위치(S2)의 턴온 레벨은 제1 스위치(S1)의 턴온 레벨과 동일하다. 기준 전압(VN)은 제4 노드(D4)를 통해 출력되며, 기준 전압(VN)의 레벨은 제4 노드(D4)에 흐르는 전류에 의해 결정될 수 있다.
센싱 데이터 수신부(64)는 인에이블 신호(EN) 및 센싱 데이터(SDT<K:1>)에 응답하여 보상 전류(Ip)를 생성하도록 구성될 수 있다. 예를 들면, 센싱 데이터 수신부(64)는 제3 노드(D3)와 접지 단자(GND) 사이에 연결된 제1 내지 제K 인에이블 스위치들(Ep1~EpK) 및 제1 내지 제K 센싱 스위치들(Sc1~ScK)을 포함할 수 있다. 제1 내지 제K 인에이블 스위치들(Ep1~EpK) 및 제1 내지 제K 센싱 스위치들(Sc1~ScK) 각각은 서로 쌍을 이룰 수 있다. 예를 들면, 제1 인에이블 스위치(Ep1) 및 제1 센싱 스위치(Sc1)는 서로 쌍을 이루어 제3 노드(D3) 및 접지 단자(GND) 사이에서 직렬로 연결될 수 있고, 제2 인에이블 스위치(Ep2) 및 제2 센싱 스위치(Sc2)는 서로 쌍을 이루어 제3 노드(D3) 및 접지 단자(GND) 사이에서 직렬로 연결될 수 있다. 이러한 방식으로, 제K 인에이블 스위치(EpK) 및 제K 센싱 스위치(ScK)는 서로 쌍을 이루어 제3 노드(D3) 및 접지 단자(GND) 사이에 연결될 수 있다.
제1 내지 제K 인에이블 스위치들(Ep1~EpK)은 제3 노드(D3)와 제1 내지 제K 센싱 스위치들(Sc1~ScK) 사이에 연결된 NMOS 트랜지스터로 구현될 수 있다. 제1 내지 제K 인에이블 스위치들(Ep1~EpK)의 게이트들은 서로 연결될 수 있다. 따라서, 제1 내지 제K 인에이블 스위치들(Ep1~EpK)의 게이트에 로직 하이 레벨(logic high level)을 가지는 인에이블 신호(EN)가 인가되면, 제1 내지 제K 인에이블 스위치들(Ep1~EpK)은 동시에 턴온될 수 있다. 즉, 인에이블 신호(EN)가 로직 하이 레벨을 가질 때 전류 센싱 회로(170)는 활성화될 수 있고, 인에이블 신호(EN)가 로직 로우 레벨을 가질 때 전류 센싱 회로(170)는 비활성화될 수 있다.
제1 내지 제K 센싱 스위치들(Sc1~ScK)은 제1 내지 제K 인에이블 스위치들(Ep1~EpK)과 접지 단자(GND) 사이에 연결된 NMOS 트랜지스터로 구현될 수 있다. 제1 내지 제K 인에이블 스위치들(Ep1~EpK)은 센싱 데이터(SDT<K:1>)에 포함된 비트들 각각에 응답하여 턴온 또는 턴오프되는 NMOS 트랜지스터로 구현될 수 있다. 예를 들면, 제1 센싱 스위치(Sc1)는 제1 센싱 데이터(SDT<1>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있고, 제2 센싱 스위치(Sc2)는 제2 센싱 데이터(SDT<2>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있다. 이러한 방식으로, 제K 센싱 스위치(ScK)는 제K 센싱 데이터(SDT<K>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있다.
제1 내지 제K 센싱 데이터(SDT<K:1>)는 선택된 페이지 전체에서 센싱된 데이터이거나 선택된 페이지에 포함된 청크에서 센싱된 데이터일 수 있다. 이러한 설정은 메모리 장치에 따라 변경될 수 있다. 예를 들면, 페이지에 포함된 메모리 셀들의 개수가 기준 개수보다 적으면, 제1 내지 제K 센싱 데이터(SDT<K:1>)는 선택된 페이지 전체에서 센싱된 데이터일 수 있다. 페이지에 포함된 메모리 셀들의 개수가 기준 개수보다 많거나 같으면, 제1 내지 제K 센싱 데이터(SDT<K:1>)는 선택된 페이지에 포함된 청크에서 센싱된 데이터일 수 있다.
제1 내지 제K 센싱 데이터(SDT<K:1>)에 따라 제1 내지 제K 센싱 스위치들(Sc1~ScK)이 턴온 또는 턴오프되므로, 제1 내지 제K 센싱 데이터(SDT<K:1>)에 로직 하이 레벨을 가지는 비트들의 개수가 증가할수록 제1 내지 제K 센싱 스위치들(Sc1~ScK) 중에서 턴온되는 스위치들의 개수도 증가한다.
로직 하이 레벨을 가지는 비트가 1이고, 1 비트는 검출된 페일 비트라고 가정하면, 제1 내지 제K 센싱 데이터(SDT<K:1>)에 1 비트의 개수가 증가할수록 보상 전류(Ip)는 증가하고 센싱 전압(VP)의 레벨은 높아질 수 있다. 즉, 검출된 페일 비트의 개수가 증가할수록 센싱 전압(VP)의 레벨은 높아질 수 있다.
페일 비트 수신부(65)는 인에이블 신호(EN) 및 허용 페일 비트 코드(FB<N:1>)에 응답하여 기준 전류(In)를 생성하도록 구성될 수 있다. 예를 들면, 페일 비트 수신부(65)는 제4 노드(D4)와 접지 단자(GND) 사이에 연결된 제1 내지 제N 인에이블 스위치들(En1~EnN) 및 제1 내지 제N 페일 스위치들(Sf1~SfN)을 포함할 수 있다. 제1 내지 제N 인에이블 스위치들(En1~EnN) 및 제1 내지 제N 페일 스위치들(Sf1~SfN) 각각은 서로 쌍을 이룰 수 있다. 예를 들면, 제1 인에이블 스위치(En1) 및 제1 페일 스위치(Sf1)는 서로 쌍을 이루어 제4 노드(D4) 및 접지 단자(GND) 사이에서 직렬로 연결될 수 있고, 제2 인에이블 스위치(En2) 및 제2 페일 스위치(Sf2)는 서로 쌍을 이루어 제4 노드(D4) 및 접지 단자(GND) 사이에서 직렬로 연결될 수 있다. 이러한 방식으로, 제N 인에이블 스위치(EnN) 및 제N 페일 스위치(SfN)는 서로 쌍을 이루어 제4 노드(D4) 및 접지 단자(GND) 사이에 연결될 수 있다.
제1 내지 제N 인에이블 스위치들(En1~EnN)은 제4 노드(D4)와 제1 내지 제N 센싱 스위치들(Sf1~SfN) 사이에 연결된 NMOS 트랜지스터로 구현될 수 있다. 제1 내지 제N 인에이블 스위치들(En1~EnN)의 게이트들은 서로 연결될 수 있다. 따라서, 제1 내지 제N 인에이블 스위치들(En1~EnN)의 게이트에 로직 하이 레벨(logic high level)을 가지는 인에이블 신호(EN)가 인가되면, 제1 내지 제N 인에이블 스위치들(En1~EnN)은 동시에 턴온될 수 있다. 즉, 인에이블 신호(EN)가 로직 하이 레벨을 가질 때 전류 센싱 회로(170)는 활성화될 수 있고, 인에이블 신호(EN)가 로직 로우 레벨을 가질 때 전류 센싱 회로(170)는 비활성화될 수 있다.
제1 내지 제N 페일 스위치들(Sf1~SfN)은 제1 내지 제N 인에이블 스위치들(En1~EnN)과 접지 단자(GND) 사이에 연결된 NMOS 트랜지스터로 구현될 수 있다. 제1 내지 제N 인에이블 스위치들(En1~EnN)은 허용 페일 비트 코드(FB<N:1>)에 포함된 비트들 각각에 응답하여 턴온 또는 턴오프되는 NMOS 트랜지스터로 구현될 수 있다. 예를 들면, 제1 페일 스위치(Sf1)는 제1 허용 페일 비트 코드(FB<1>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있고, 제2 페일 스위치(Sf2)는 제2 허용 페일 비트 코드(FB<2>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있다. 이러한 방식으로, 제N 페일 스위치(SnN)는 제N 허용 페일 비트 코드(FB<N>)에 응답하여 턴온 또는 턴오프되도록 구성될 수 있다.
제1 내지 제N 허용 페일 비트 코드(FB<N:1>)는 컨트롤 로직 회로(도 1의 180)에서 실행되는 알고리즘에 따라 변경될 수 있는 코드로써, 제1 내지 제K 센싱 데이터(SDT<K:1>)에 포함된 페일 비트의 개수에 대한 비교 대상이 될 수 있다. 즉, 제1 내지 제N 허용 페일 비트 코드(FB<N:1>)는 제1 내지 제K 센싱 데이터(SDT<K:1>)가 센싱된 검증 또는 리드 동작의 패스 또는 페일 여부를 판단하는 기준이 될 수 있다.
제1 내지 제N 허용 페일 비트 코드(FB<N:1>)에 따라 제1 내지 제N 페일 스위치들(Sf1~SfN)이 턴온 또는 턴오프되므로, 제1 내지 제N 허용 페일 비트 코드(FB<N:1>)에 로직 하이 레벨을 가지는 비트들의 개수가 증가할수록 제1 내지 제N 페일 스위치들(Sf1~SfN) 중에서 턴온되는 스위치들의 개수도 증가한다.
로직 하이 레벨을 가지는 비트가 1이고, 1 비트가 허용 페일 비트 코드라고 가정하면, 제1 내지 제N 허용 페일 비트 코드(FB<N:1>)에 1 비트의 개수가 증가할수록 기준 전류(In)는 증가하고 기준 전압(VN)의 레벨은 높아질 수 있다. 즉, 제1 내지 제N 허용 페일 비트 코드(FB<N:1>)에 포함된 1 비트의 개수가 증가할수록, 검증 또는 리드 동작이 패스될 수 있는 검출된 페일 비트의 개수는 증가할 수 있다.
비교 회로(66)는 센싱 전압(VP)과 기준 전압(VN)을 서로 비교하고, 비교 결과에 따라 패스 신호(PS) 또는 페일 신호(FS)를 출력하도록 구성된 비교기(comparator)를 포함할 수 있다. 예를 들면, 비교기는 플러스(+) 입력 단자에 센싱 전압(VP)이 인가되고, 마이너스(-) 입력 단자에 기준 전압(VN)이 인가되도록 구성될 수 있다. 비교기는 기준 전압(VN)보다 센싱 전압(VP)이 낮거나 같을 때 로직 로우 레벨(logic low level)을 가지는 패스 신호(PS)를 출력할 수 있고, 기준 전압(VN)보다 센싱 전압(VP)이 높을 때 로직 하이 레벨(logic high level)을 가지는 페일 신호(FS)를 출력할 수 있다.
도 7a 내지 도 7c는 본 발명의 실시 예에 따른 페일 비트 관리부를 설명하기 위한 도면들이다.
도 7a를 참조하면, 페일 비트 관리부(190)는 코드 컨트롤러(code controller; 71), 카운터(counter; 72), 레지스터(register; 73) 및 코드 출력 회로(code output circuit; 74)를 포함할 수 있다.
코드 컨트롤러(71)는 검증 또는 리드 동작 시 페일 비트 관리부(190)를 전반적으로 컨트롤하도록 구성될 수 있다. 코드 컨트롤러(71)는 패스 신호(PS) 또는 페일 신호(FS)에 응답하여 제1 또는 제2 보상 카운트 신호(1CNT_C 또는 2CNT_C)를 출력하거나 제1 또는 제2 페일 카운트 신호(1CNT_F 또는 2CNT_F)를 출력하도록 구성될 수 있다. 예를 들면, 코드 컨트롤러(71)는 페일 비트를 설정하기 위한 알고리즘 수행 시, 패스 신호(PS) 또는 페일 신호(FS)에 응답하여 제1 또는 제2 페일 카운트 신호(1CNT_F 또는 2CNT_F)를 출력하도록 구성될 수 있다. 코드 선택부(71a)는 보상 값을 설정하기 위한 알고리즘 수행 시, 패스 신호(PS) 또는 페일 신호(FS)에 응답하여 제1 또는 제2 보상 카운트 신호(1CNT_C 또는 2CNT_C)를 출력하도록 구성될 수 있다.
더욱 구체적으로 설명하면, 페일 비트를 설정하기 위한 알고리즘이 수행될 때, 코드 선택부(71a)는 페일 신호(FS)에 응답하여 제1 페일 카운트 신호(1CNT_F)를 출력하고, 패스 신호(PS)에 응답하여 제2 페일 카운트 신호(2CNT_F)를 출력하도록 구성될 수 있다. 보상 값을 설정하기 위한 알고리즘이 수행될 때, 코드 선택부(71a)는 페일 신호(FS)에 응답하여 제1 보상 카운트 신호(1CNT_P)를 출력하고, 패스 신호(PS)에 응답하여 제2 보상 카운트 신호(2CNT_P)를 출력하도록 구성될 수 있다.
카운터(72)는 제1 페일 카운트 신호(1CNT_F), 제2 페일 카운트 신호(2CNT_F), 제1 보상 카운트 신호(1CNT_P) 또는 제2 보상 카운트 신호(2CNT_P)에 응답하여, 허용 페일 비트 개수(F#) 또는 보상 값 개수(C#)를 설정하고, 설정된 허용 페일 비트 개수(F#) 또는 보상 값 개수(C#)를 출력하도록 구성될 수 있다. 예를 들면, 카운터(72)는 제1 페일 카운트 신호(1CNT_F)가 수신될 때마다 증가하는 허용 페일 비트 개수(F#)를 출력할 수 있고, 제2 페일 카운트 신호(2CNT_F)가 수신되면 마지막으로 설정된 허용 페일 비트 개수(F#)를 출력할 수 있다. 카운터(72)는 제1 보상 카운트 신호(1CNT_P)가 수신될 때마다 증가하는 보상 값 개수(C#)를 출력할 수 있고, 제2 보상 카운트 신호(2CNT_P)가 수신되면 마지막으로 설정된 보상 값 개수(C#)를 출력할 수 있다.
레지스터(73)는 카운터(72)로부터 출력된 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)를 저장하고, 저장된 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)를 출력하도록 구성될 수 있다. 예를 들면, 레지스터(73)는 보상 값 개수(C#)를 저장 및 출력하도록 구성된 보상 값 레지스터(REG_CP)와, 허용 페일 비트 개수(F#)를 저장 및 출력하도록 구성된 페일 비트 레지스터(REG_FB)를 포함할 수 있다.
코드 출력 회로(74)는 보상 값 개수(C#) 또는 허용 페일 비트 개수(F#)에 응답하여 보상 코드(CP<A:1>) 또는 허용 페일 비트 코드(FB<N:1>)를 출력하도록 구성될 수 있다. 예를 들면, 코드 출력 회로(74)는 보상 값 개수(C#)에 응답하여 보상 코드(CP<A:1>)를 생성 및 출력하도록 구성된 보상 코드 생성부(GEN_CP)와, 허용 페일 비트 개수(F#)에 응답하여 허용 페일 비트 코드(FB<N:1>)를 출력하도록 구성된 페일 비트 생성부(GEN_FB)를 포함할 수 있다. 보상 코드(CP<A:1>)는 A 개의 비트들로 이루어진 코드이고, 허용 페일 비트 코드(FB<N:1>)는 N 개의 비트들로 이루어진 코드이다. 보상 코드 생성부(GEN_CP)는 보상 값 개수(C#)가 증가할 때마다 보상 코드(CP<A:1>)에 포함되는 1 비트의 개수를 증가시킬 수 있다. 페일 비트 생성부(GEN_FB)는 허용 페일 비트 개수(F#)가 증가할 때마다 허용 페일 비트 코드(FB<N:1>)에 포함되는 1 비트의 개수를 증가시킬 수 있다.
도 7b를 참조하면, 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)에 따라 생성될 수 있는 보상 코드(CP<A:1>) 및 허용 페일 비트 코드(FB<N:1>)의 일 예가 도시된다. 실시 예로써, A가 8이고, 보상 값이 0 데이터라고 가정한다. 이 경우, 보상 값 개수(C#)가 0일 때 보상 코드(CP<A:1>)는 11111111로 생성될 수 있고, 보상 값 개수(C#)가 1일 때 보상 코드(CP<A:1>)는 11111110으로 생성될 수 있으며, 보상 값 개수(C#)가 4일 때 보상 코드(CP<A:1>)는 11110000으로 생성될 수 있다. 즉, 보상 코드(CP<A:1>)에 포함된 1 비트의 개수는 보상 값 개수(C#)에 비례할 수 있다. 실시 예로써, N이 10이라고 가정하면, 허용 페일 비트 개수(F#)가 0일 때 허용 페일 비트 코드(FB<N:1>)는 0000000000으로 생성될 수 있고, 허용 페일 비트 개수(F#)가 1일 때 허용 페일 비트 코드(FB<N:1>)는 0000000001로 생성될 수 있으며, 허용 페일 비트 개수(F#)가 4일 때 허용 페일 비트 코드(FB<N:1>)는 0000001111으로 생성될 수 있다. 즉, 허용 페일 비트 코드(FB<N:1>)에 포함된 1 비트의 개수는 허용 페일 비트 개수(F#)에 비례할 수 있다. 도 7b에 도시된 실시 예와 같이, 초기 보상 값 개수(initial C#) 및 초기 허용 페일 비트 개수(initial F#)가 최소 값인 0으로 설정된 경우, 리드 동작이 페일(fail)될 때마다 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)는 순차적으로 증가하는 순서로 선택될 수 있다.
도 7c를 참조하면, 초기 보상 값 개수(initial C#) 및 초기 허용 페일 비트 개수(initial F#)가 최소 값이 아닌 임의의 개수로 설정될 수도 있다. 예를 들면, 초기 보상 값 개수(initial C#)가 1로 설정된 경우, 다음으로 선택되는 보상 값 개수(C#)는 0으로 낮아질 수 있고, 그 다음으로 선택되는 보상 값 개수(C#)는 2로 높아질 수도 있다. 초기 허용 페일 비트 개수(initial F#)가 2로 설정된 경우, 리드 동작이 페일(fail)될 때마다 허용 페일 비트 개수(F#)는 1, 0의 순서로 순차적으로 낮아질 수 있고, 최소 값에서도 리드 동작이 페일(fail)로 판단되면, 허용 페일 비트 개수(F#)는 3으로 증가하고, 3부터 순차적으로 높아질 수 있다.
초기 보상 값 개수(initial C#) 및 초기 허용 페일 비트 개수(initial F#)는 도 7b 또는 도 7c를 참조하여 설명된 실시 예 외에도 다양한 값으로 설정될 수 있으며, 개수가 선택되는 순서도 다양하게 변경될 수 있다.
도 8a는 허용 페일 비트의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한도면이다.
도 8a를 참조하면, 허용 페일 비트 개수(AFB#)와 검출된 페일 비트 개수(DFB#)에 따라 패스 또는 페일이 결정되는 제1 기준 라인(1REF_L)의 기울기가 일정하다고 가정한다. 센싱 데이터에 포함된 제1 검출된 페일 비트 개수(DFB1)가 제1 기준 라인(1REF_L)을 기준으로 제1 허용 페일 비트 개수(AFB1)보다 많으면, 검증 또는 리드 동작은 페일(fail)될 수 있다. 검증 또는 리드 동작이 페일되면, 페일 비트 관리부(도 1의 190)는 제1 허용 페일 비트 개수(AFB1)를 제2 허용 페일 비트 개수(AFB2)로 증가시킬 수 있다.
제2 허용 페일 비트 개수(AFB2)가 제1 기준 라인(1REF_L)을 기준으로 제1 검출된 페일 비트 개수(DFB1)보다 많아지면, 검증 또는 리드 동작이 패스(pass)될 수 있다. 따라서, 검증 또는 리드 동작이 패스될 때 사용된 제2 허용 페일 비트 개수(AFB2)를 참조하여 제1 검출된 페일 비트 개수(DFB1)가 산출될 수 있다.
도 8b는 보상 값의 개수를 변경하여 패스 신호를 출력하는 실시 예를 설명하기 위한 도면이다.
도 8b를 참조하면, 허용 페일 비트 개수(AFB#)가 최대 허용 페일 비트 개수(AFBmax)까지 높아질 때까지 검증 또는 리드 동작이 페일(fail)되면, 허용 페일 비트 개수(AFB#)가 더 이상 높아지지 못한다. 이 경우, 페일 비트 관리부(도 1의 190)는 최대 허용 페일 비트 개수(AFBmax)를 유지한 상태에서, 기준 라인(REF_L)의 제1 기울기(1GRD)를 제2 기울기(2GRD)로 높일 수 있다. 예를 들면, 제1 검출된 페일 비트 개수(DFB1)와 최대 허용 페일 비트 개수(AFBmax)는 고정되어 있으므로, 기준 라인(REF_L)의 기울기를 높이면 검증 또는 리드 동작이 패스될 수 있다.
도 9는 본 발명의 실시 예에 따른 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 9를 참조하여, 리드 동작에서 수행되는 페일 비트 카운트 동작을 실시 예로써 설명하면 다음과 같다.
선택된 페이지의 리드 동작이 시작되면, 선택된 페이지에 연결된 선택된 워드 라인에 리드 전압이 인가되고, 리드 전압을 기준으로 메모리 셀들의 데이터가 센싱될 수 있다(S91). 예를 들면, 센싱된 데이터는 페이지 버퍼들에 센싱 데이터(SDT)로써 저장될 수 있다.
페일 비트 관리부(도 1의 180)는 보상 값 개수(C#)의 초기 값을 설정하고(S92), 허용 페일 비트 개수(F#)의 초기 값을 설정할 수 있다(S93). 보상 값 개수(C#)의 초기 값은 0 또는 양의 정수로 설정될 수 있고, 허용 페일 비트 개수(F#)의 초기 값은 0 또는 양의 정수로 설정될 수 있다.
이어서, 전류 센싱 회로(도 6의 170)는 페이지 버퍼들로부터 출력된 센싱 데이터(SDT)를 수신받고, 센싱 데이터(SDT)와 허용 페일 비트에 따라 생성된 센싱 전압(VP) 및 기준 전압(VN)을 비교할 수 있다(S94).
전류 센싱 회로(도 6의 170)는 기준 전압(VN) 및 센싱 전압(VP)에 따라 리드 동작의 패스(pass) 여부를 판단할 수 있다(S95). 예를 들면, 기준 전압(VN)보다 센싱 전압(VP)이 높으면 전류 센싱 회로(도 6의 170)는 페일 신호(FS)를 출력하고, 페일 비트 관리부(도 1의 190)는 페일 신호(FS)에 따라 리드 동작을 페일(fail)로 판단할 수 있다(S95의 NO).
S95 단계에서 리드 동작이 페일로 판단되면(NO), 페일 비트 관리부(도 1의 190)는 허용 페일 비트 개수(F#)가 최대 값인지 확인한다(S96).
페일 비트 개수(F#)가 최대 값이 아니면(NO), 페일 비트 관리부(도 1의 190)는 허용 페일 비트 개수(F#)를 증가시킨다(S97). 예를 들면, 페일 비트 관리부(도 1의 190)는 허용 페일 비트 개수(F#)에 1을 증가시킬 수 있으나, 메모리 장치에 따라 페일 비트 관리부(도 1의 190)는 1보다 큰 양의 정수만큼 허용 페일 비트 개수(F#)를 증가시킬 수도 있다.
페일 비트 관리부(도 1의 190)는 S97 단계에서 변경된 허용 페일 비트 개수(F#)를 다음 리드 동작에서 사용하기 위한 개수로 설정하고, S94 및 S95 단계들을 다시 수행하여 리드 동작의 패스 여부를 판단할 수 있다. 즉, S93, S94, S95, S96 및 S97 단계들을 반복하여 리드 동작이 패스될 때의 허용 페일 비트 개수(F#)를 찾는 동작은 도 8a를 참조하여 설명된 실시 예에 해당할 수 있다.
S96 단계에서, 허용 페일 비트 개수(F#)가 최대 값이 되면(YES), 페일 비트 관리부(도 1의 190)는 기준 값의 기울기(도 8b의 1GRD)를 변경하기 위하여 보상 값 개수(C#)가 최대 값인지 확인한다(S98). 예를 들면, 페일 비트 관리부(도 1의 190)는 허용 페일 비트의 개수에 대한 페일 비트의 기울기가 높아지도록 보상 값 개수(C#)를 증가시킬 수 있다.
보상 값 개수(C#)가 최대 값이 아니면(NO), 페일 비트 관리부(도 1의 190)는 보상 값 개수(C#)를 증가시킨다(S99). 예를 들면, 페일 비트 관리부(도 1의 190)는 보상 값 개수(C#)에 포함된 데이터 중에서 1 데이터의 개수를 증가시킬 수 있다.
페일 비트 관리부(도 1의 190)는 S99 단계에서 변경된 보상 값 개수(C#)에 따라 센싱 데이터(SDT)에 포함된 페일 비트의 개수를 산출할 수 있다. 즉, S93, S94, S95, S96, S98 및 S99 단계들을 반복하여 리드 동작이 패스될 때의 보상 값 개수(C#)를 찾는 동작은 도 8b를 참조하여 설명된 실시 예에 해당할 수 있다.
S98 단계에서, 보상 값 개수(C#)가 최대 값이 될 때까지 S95 단계가 페일되면, 보상 값 개수(C#)와 허용 페일 비트 개수(F#)가 최대 값을 가질 때까지 리드 동작이 페일된 것을 의미하므로, 페일 비트 관리부(도 1의 190)는 리드 동작을 페일로 처리할 수 있다(S100).
S95 단계에서, 리드 동작이 패스되면(YES), 페일 비트 관리부(도 1의 190)는 최종 설정된 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)를 저장할 수 있다(S101). 즉, S95 단계가 패스될 때까지 허용 페일 비트 개수(F#)가 단계적으로 증가하므로, S95 단계가 패스될 때 저장된 허용 페일 비트 개수(F#)와 보상 값 개수(C#)에 따라 센싱 데이터(SDT)에 포함된 페일 비트 개수가 산출될 수 있다.
하나의 메모리 셀에 2 비트 이상의 데이터가 저장되는 방식들(예컨대, MLC, TLC, QLC, …)에서, 메모리 셀들은 복수의 문턱전압 분포들을 가지도록 프로그램될 수 있다. MLC는 하나의 메모리 셀에 2 비트의 데이터가 저장되는 멀티 레벨 셀(multi level cell) 방식을 의미하고, TLC는 하나의 메모리 셀에 3 비트의 데이터가 저장되는 트리플 레벨 셀(triple level cell) 방식을 의미하며, QLC는 하나의 메모리 셀에 4 비트의 데이터가 저장되는 쿼드러플 레벨 셀(quadruple level cell) 방식을 의미한다. 따라서, MLC 이상의 방식에서 리드 동작은 복수의 리드 전압들을 사용하여 수행될 수 있으며, 상술한 실시 예는 서로 다른 리드 전압들을 사용하는 리드 동작들 각각에서 수행될 수 있다. 이 중에서 TLC 방식의 리드 동작을 예를 들어 설명하면 다음과 같다.
도 10은 메모리 셀들의 문턱전압을 설명하기 위한 도면이다.
도 10을 참조하면, TLC 방식에서는 하나의 메모리 셀에 3 비트의 데이터가 저장될 수 있다. 따라서, 메모리 셀들은 문턱전압에 따라 소거 상태(ER)로 유지되거나 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나로 프로그램될 수 있다. 따라서, TLC 방식으로 프로그램된 메모리 셀들의 리드 동작도 TLC 방식으로 수행된다. 예를 들면, 리드 동작 시 제1 내지 제7 리드 전압들(Vr1~Vr7)이 사용될 수 있다. 제1 리드 전압(Vr1)은 소거 상태(ER)와 제1 내지 제7 프로그램 상태들(P1~P7)을 구분하기 위한 전압일 수 있고, 제2 리드 전압(Vr2)은 소거 상태(ER)와 제1 프로그램 상태(P1)에 해당하는 메모리 셀들과 제2 내지 제7 프로그램 상태들(P2~P7)에 해당하는 메모리 셀들을 구분하기 위한 전압일 수 있다. 나머지 제3 내지 제7 리드 전압들(Vr3~Vr7)도 서로 다른 프로그램 상태들에 해당하는 메모리 셀들을 구분하기 위한 전압들로 설정될 수 있다.
제1 내지 제7 리드 전압들(Vr1~Vr7)이 사용되는 순서는 메모리 장치에 따라 다르게 설정될 수 있으며, 페일 비트 카운트 동작은 각각의 리드 동작의 센싱 동작이 수행된 이후에 수행될 수 있다.
도 11은 리드 동작 시 수행되는 페일 비트 카운트 동작을 설명하기 위한 도면이다.
도 10 및 도 11을 참조하면, 선택된 페이지의 리드 동작이 시작되면, 컨트롤 로직 회로(도 1의 180)는 리드 동작 중에 다른 커맨드가 수신되지 못하도록, 리드 동작(1READ)이 시작하는 시점(111)부터 페일 비트 카운트 동작(113)이 모두 완료되는 시점(112)까지 로직 로우 레벨을 가지는 레디비지 신호(RB)를 출력할 수 있다.
선택된 페이지의 리드 동작에서 사용되는 리드 전압이 J(J는 양의 정수) 개 인 경우, 제1 내지 제J 리드 전압들을 사용하는 제1 내지 제J 리드 동작들(1READ-JREAD)이 수행될 수 있다. 여기서, 제1 내지 제J 리드 동작들(1READ-JREAD)이 수행되는 순서는 제1 내지 제J 리드 전압들의 레벨과는 무관할 수 있다. 예를 들면, 리드 동작의 알고리즘에 따라, 제1 리드 동작(1READ)에서는 제1 리드 전압(Vr1)이 사용될 수도 있고 제4 리드 전압(Vr4)이 사용될 수도 있다. 즉, 제1 내지 제J 리드 동작들(1READ-JREAD)의 순서는 리드 동작들이 수행되는 순서를 의미하며, 각 리드 동작에서 사용되는 리드 전압은 메모리 장치에 설정된 알고리즘에 따라 다를 수 있다. 제1 내지 제J 리드 동작들(1READ-JREAD)에서는 선택된 페이지에 연결된 선택된 워드 라인에 리드 전압이 인가될 수 있다.
제1 리드 동작(1READ)이 종료되면, 다른 리드 전압을 사용하는 제2 리드 동작(2READ)이 수행되는 동안 제1 리드 동작(1READ)에 대한 제1 센싱 동작(1SEN)이 수행될 수 있다. 제1 내지 제J 센싱 동작들(1SEN-JSEN)에서는 이전에 수행된 리드 동작들에 의해 변경된 비트 라인들의 전류 또는 전압이 센싱되고, 센싱된 전류 또는 전압에 따라 센싱 데이터가 페이지 버퍼들에 저장될 수 있다.
제1 센싱 동작(1SEN)이 종료되면, 제3 리드 동작(3READ)이 수행되는 동안 제1 센싱 동작(1SEN)에서 센싱된 센싱 데이터에 포함된 페일 비트를 체크하는 제1 체크 동작(1CHK)이 수행될 수 있다. 제1 체크 동작(1CHK)은 제1 리드 동작(1READ)이 패스될 때까지 수행될 수 있다. 예를 들면, 제1 체크 동작(1CHK)에서는 도 9를 참조하여 설명된 S92 내지 S99 단계들이 수행될 수 있다. 즉, S95 단계가 패스될 때까지 S92 내지 S99 단계들이 수행될 수 있으며, S98 단계에서 보상 값 개수(C#)가 최대 값이 되면 리드 동작은 페일로 처리될 수 있다. 제1 체크 동작(1CHK)에서 S95 단계가 패스되면, 제4 리드 동작(4READ)이 수행되는 동안 제1 체크 동작(1CHK)에서 가장 마지막에 설정된 보상 값 개수(C#) 및 허용 페일 비트 개수(F#)를 저장하는 제1 저장 동작(1S)이 수행될 수 있다.
상술한 방식으로, 제1 리드 동작(1READ)이 수행된 이후에 나머지 제2 내지 제J 리드 동작들(2READ-JREAD)이 수행될 수 있으며, 제2 내지 제J 리드 동작들(2READ-JREAD)에 대한 제2 내지 제J 센싱 동작들(2SEN-JSEN), 제2 내지 제J 체크 동작들(2CHK-JCHK) 및 제2 내지 제J 저장 동작들(2S-JS)이 순차적으로 수행될 수 있다.
도 12는 본 발명의 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 도면이다.
도 12를 참조하면, 메모리 시스템(1000)은 데이터가 저장되는 메모리 장치(1100)와, 메모리 장치(1100)와 호스트(2000) 사이에서 통신하는 컨트롤러(1200)를 포함할 수 있다.
메모리 시스템(1000)에는 복수의 메모리 장치들(1100)이 포함될 수 있으며, 메모리 장치들(1100)은 적어도 하나의 채널(channel)을 통해 컨트롤러(1200)에 연결될 수 있다. 예를 들면, 하나의 채널에 다수의 메모리 장치들(1100)이 연결될 수 있으며, 다수의 채널들이 컨트롤러(1200)에 연결된 경우에도 다수의 메모리 장치들(1100)이 각각의 채널에 연결될 수 있다. 도 12에 도시된 메모리 장치(1100)는 도 1에 도시된 메모리 장치(1100)와 동일하게 구현될 수 있다.
컨트롤러(1200)는 호스트(2000)와 메모리 장치(1100) 사이에서 통신할 수 있다. 컨트롤러(1200)는 호스트(2000)의 요청(request)에 따라 메모리 장치(1100)를 제어하거나, 호스트(2000)의 요청이 없더라도 메모리 시스템(1000)의 성능 개선을 위한 백그라운드 동작을 수행할 수 있다. 호스트(2000)는 다양한 동작을 위한 요청들을 생성하고, 생성된 요청들을 메모리 시스템(1000)에게 출력할 수 있다. 예를 들면, 요청들은 프로그램 동작(program operation)을 제어할 수 있는 프로그램 요청(program request), 리드 동작(read operation)을 제어할 수 있는 리드 요청(read request), 소거 동작(erase operation)을 제어할 수 있는 소거 요청(erase request) 등을 포함할 수 있다.
호스트(2000)는 PCIe(Peripheral Component Interconnect Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), SAS(serial attached SCSI), NVMe(Non-Volatile Memory Express), USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들을 통해 메모리 시스템(1000)과 통신할 수 있다.
도 13은 본 발명의 메모리 장치를 포함하는 다른 메모리 시스템을 설명하기 위한 도면이다.
도 13을 참조하면, 메모리 시스템(Memory System; 70000)은 메모리 카드(memory card) 또는 스마트 카드(smart card)로 구현될 수 있다. 메모리 시스템(70000)은 메모리 장치(1100), 컨트롤러(1200) 및 카드 인터페이스(Card Interface; 7100)를 포함할 수 있다.
컨트롤러(1200)는 메모리 장치(1100)와 카드 인터페이스(7100) 사이에서 데이터의 교환을 제어할 수 있다. 도 13에 도시된 메모리 장치(1100)는 도 1에 도시된 메모리 장치(1100)와 동일하게 구현될 수 있다.
카드 인터페이스(7100)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다.
카드 인터페이스(7100)는 호스트(HOST; 60000)의 프로토콜에 따라 호스트(60000)와 컨트롤러(1200) 사이에서 데이터 교환을 인터페이스할 수 있다. 실시 예에 따라 카드 인터페이스(7100)는 USB(Universal Serial Bus) 프로토콜, IC(Inter Chip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스(7100)는 호스트(60000)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어 또는 신호 전송 방식을 의미할 수 있다.
메모리 시스템(70000)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트(60000)의 호스트 인터페이스(6200)와 접속될 때, 호스트 인터페이스(6200)는 마이크로프로세서(Microprocessor; μP; 6100)의 제어에 따라 카드 인터페이스(7100)와 컨트롤러(1200)를 통하여 메모리 장치(1100)와 데이터 통신을 수행할 수 있다.
1100: 메모리 장치
110: 메모리 셀 어레이
120: 로우 디코더 130: 전압 생성부
140: 페이지 버퍼 그룹 150: 컬럼 디코더
160: 입출력 회로 170: 전류 센싱 회로
180: 컨트롤 로직 회로 190: 페일 비트 관리부
61: 제1 보상 회로 62: 제2 보상 회로
63: 전압 출력 회로 64: 센싱 데이터 수신부
65: 페일 비트 수신부 66: 비교 회로
71: 코드 컨트롤러 72: 카운터
73: 레지스터 74: 코드 출력 회로
120: 로우 디코더 130: 전압 생성부
140: 페이지 버퍼 그룹 150: 컬럼 디코더
160: 입출력 회로 170: 전류 센싱 회로
180: 컨트롤 로직 회로 190: 페일 비트 관리부
61: 제1 보상 회로 62: 제2 보상 회로
63: 전압 출력 회로 64: 센싱 데이터 수신부
65: 페일 비트 수신부 66: 비교 회로
71: 코드 컨트롤러 72: 카운터
73: 레지스터 74: 코드 출력 회로
Claims (20)
- 데이터가 저장되는 메모리 셀들;
상기 메모리 셀들로부터 센싱된 센싱 데이터를 저장하도록 구성된 페이지 버퍼들;
상기 센싱 데이터에 따라 생성되는 센싱 전압과, 허용 페일 비트 코드에 따라 생성되는 기준 전압을 서로 비교하고, 비교 결과에 따라 패스 신호 또는 페일 신호를 출력하도록 구성되는 전류 센싱 회로; 및
상기 전류 센싱 회로로부터 상기 패스 신호가 출력될 때까지, 상기 허용 페일 비트 코드에 포함된 허용 페일 비트의 개수를 증가시키고, 상기 허용 페일 비트의 개수에 따라 상기 허용 페일 비트 코드를 변경하여 상기 전류 센싱 회로에 제공하도록 구성된 페일 비트 관리부를 포함하는 메모리 장치.
- 제1항에 있어서, 상기 페이지 버퍼들은,
비트 라인들을 통해 상기 메모리 셀들에 연결되고,
상기 비트 라인들의 전류 또는 전압에 따라 상기 센싱 데이터를 저장하도록 구성되는 메모리 장치.
- 제1항에 있어서, 상기 전류 센싱 회로는,
상기 센싱 데이터에 따라 보상 전류를 생성하도록 구성된 센싱 데이터 수신부;
상기 허용 페일 비트 코드에 따라 기준 전류를 생성하도록 구성된 페일 비트 수신부;
상기 보상 전류에 따라 상기 센싱 전압을 출력하고, 상기 기준 전류에 따라 상기 기준 전압을 생성하도록 구성된 전압 출력 회로; 및
상기 센싱 전압 및 상기 기준 전압을 비교하고, 상기 비교 결과에 따라 상기 패스 신호 또는 상기 페일 신호를 출력하도록 구성된 비교 회로를 포함하는 메모리 장치.
- 제3항에 있어서, 상기 센싱 데이터 수신부는,
상기 센싱 데이터에 포함된 보상 값의 개수가 증가할수록 상기 보상 전류가 증가하도록 구성되는 메모리 장치.
- 제3항에 있어서, 상기 페일 비트 수신부는,
상기 허용 페일 비트 코드에 포함된 상기 허용 페일 비트의 개수가 증가할수록 상기 기준 전류가 증가하도록 구성되는 메모리 장치.
- 제3항에 있어서, 상기 전압 출력 회로는,
상기 보상 전류가 증가할수록 높은 레벨을 가지는 상기 센싱 전압을 출력하고,
상기 기준 전류가 증가할수록 높은 레벨을 가지는 상기 기준 전압을 출력하도록 구성되는 메모리 장치.
- 제1항에 있어서, 상기 페일 비트 관리부는,
상기 패스 신호 또는 상기 페일 신호에 응답하여 제1 페일 카운트 신호 또는 제2 페일 카운트 신호를 출력하도록 구성된 코드 컨트롤러;
상기 제1 또는 제2 페일 카운트 신호에 응답하여 상기 허용 페일 비트의 개수를 증가 또는 감소시키고, 변경된 상기 허용 페일 비트의 개수를 출력하도록 구성된 카운터;
상기 카운터로부터 출력된 상기 허용 페일 비트의 개수를 저장하도록 구성된 레지스터; 및
상기 레지스터에 저장된 상기 허용 페일 비트에 따라 상기 허용 페일 비트 코드를 생성하고 출력하도록 구성된 코드 출력 회로를 포함하는 메모리 장치.
- 제7항에 있어서, 상기 코드 컨트롤러는,
상기 페일 신호에 응답하여 상기 제1 페일 카운트 신호를 출력하고,
상기 패스 신호에 응답하여 상기 제2 페일 카운트 신호를 출력하도록 구성된 메모리 장치.
- 제8항에 있어서, 상기 카운터는,
상기 제1 페일 카운트 신호에 응답하여 상기 허용 페일 비트의 개수를 증가 또는 감소시키고,
상기 제2 페일 카운트 신호에 응답하여 최종적으로 생성된 상기 허용 페일 비트의 개수를 유지하도록 구성된 메모리 장치.
- 제3항에 있어서, 상기 전류 센싱 회로는,
상기 패스 신호 또는 상기 페일 신호를 결정하는 기준 라인의 기울기를 변경하도록 구성된 보상 회로를 더 포함하는 메모리 장치.
- 제10항에 있어서, 상기 페일 비트 관리부는,
상기 허용 페일 비트의 개수가 최대 값이 될 때까지 상기 페일 신호가 출력되면,
상기 기울기를 변경하기 위한 보상 코드를 생성하고 출력하도록 구성된 메모리 장치.
- 제11항에 있어서, 상기 페일 비트 관리부는,
상기 패스 신호가 출력될 때까지 상기 기울기를 높이기 위한 상기 보상 코드를 생성 및 출력하도록 구성된 메모리 장치.
- 메모리 셀들;
비트 라인들을 통해 상기 메모리 셀들에 연결되고, 리드 동작 시 상기 비트 라인들의 전류 또는 전압을 센싱하여 센싱 데이터를 저장하도록 구성된 페이지 버퍼들;
상기 센싱 데이터에서 검출된 페일 비트의 개수와 허용 페일 비트의 개수에 따라 상기 리드 동작의 패스 또는 페일 여부를 판단하고, 보상 값의 개수에 따라 상기 허용 페일 비트의 개수에 대한 상기 검출된 페일 비트의 개수의 기울기를 변경하도록 구성된 전류 센싱 회로; 및
상기 리드 동작이 패스될 때까지 상기 허용 페일 비트의 개수를 조절하고, 상기 허용 페일 비트의 개수가 최대 값이 될 때까지 상기 리드 동작이 페일로 판단되면 상기 보상 값의 개수를 조절하도록 구성된 페일 비트 관리부를 포함하는 메모리 장치.
- 제13항에 있어서, 상기 전류 센싱 회로는,
상기 보상 값의 개수에 따라 제1 및 제2 노드들의 전압을 변경하도록 구성된 보상 회로;
상기 검출된 페일 비트의 개수에 따라 제3 노드의 전류를 변경하도록 구성된 센싱 데이터 수신부;
상기 허용 페일 비트의 개수에 따라 제4 노드의 전류를 변경하도록 구성된 페일 비트 수신부;
상기 제1 및 제3 노드들 사이의 전류에 따라 센싱 전압을 출력하고, 상기 제2 및 제4 노드들 사이의 전류에 따라 기준 전압을 출력하도록 구성된 전압 출력 회로; 및
상기 센싱 전압과 상기 기준 전압을 비교하고, 비교 결과에 따라 패스 신호 또는 페일 신호를 출력하도록 구성된 비교 회로를 포함하는 메모리 장치.
- 제14항에 있어서, 상기 보상 회로는,
상기 보상 값의 개수가 증가할수록 상기 기울기가 높아지도록 구성된 메모리 장치.
- 제14항에 있어서, 상기 센싱 데이터 수신부는,
상기 센싱 데이터에서 검출된 페일 비트의 개수가 증가할수록 상기 제3 노드의 전류를 증가시키도록 구성된 메모리 장치.
- 제14항에 있어서, 상기 페일 비트 수신부는,
상기 허용 페일 비트의 개수가 증가할수록 상기 제4 노드의 전류를 증가시키도록 구성된 메모리 장치.
- 제14항에 있어서, 상기 전압 출력 회로는,
상기 제1 노드의 전압 또는 상기 제3 노드의 전류가 증가할수록 높은 레벨을 가지는 상기 센싱 전압을 출력하도록 구성된 메모리 장치.
- 제14항에 있어서, 상기 비교 회로는,
상기 제2 노드의 전압 또는 상기 제4 노드의 전류가 증가할수록 높은 레벨을 가지는 상기 기준 전압을 출력하도록 구성된 메모리 장치.
- 제13항에 있어서, 상기 페일 비트 관리부는,
상기 전류 센싱 회로로부터 출력된 패스 신호 또는 페일 신호에 응답하여 보상 카운트 신호 또는 페일 카운트 신호를 출력하도록 구성된 코드 컨트롤러;
상기 보상 카운트 신호 또는 페일 카운트 신호에 응답하여 상기 보상 값의 개수 또는 상기 허용 페일 비트의 개수를 변경하도록 구성된 카운터;
상기 카운터에 의해 변경된 상기 보상 값의 개수 또는 상기 허용 페일 비트의 개수를 저장하도록 구성된 레지스터; 및
상기 레지스터에 저장된 상기 보상 값의 개수 또는 상기 허용 페일 비트의 개수에 따라, 허용 페일 비트 코드를 출력하거나, 상기 기울기를 변경하기 위한 보상 코드를 출력하도록 구성된 코드 출력 회로를 포함하는 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210022120A KR20220118236A (ko) | 2021-02-18 | 2021-02-18 | 메모리 장치 |
US17/395,352 US11581028B2 (en) | 2021-02-18 | 2021-08-05 | Memory device for counting fail bits included in sensed data |
CN202111093316.6A CN114974360A (zh) | 2021-02-18 | 2021-09-17 | 存储器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210022120A KR20220118236A (ko) | 2021-02-18 | 2021-02-18 | 메모리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220118236A true KR20220118236A (ko) | 2022-08-25 |
Family
ID=82800462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210022120A KR20220118236A (ko) | 2021-02-18 | 2021-02-18 | 메모리 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11581028B2 (ko) |
KR (1) | KR20220118236A (ko) |
CN (1) | CN114974360A (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114514581A (zh) * | 2022-01-17 | 2022-05-17 | 长江存储科技有限责任公司 | 使用由内部固件进行自验证的用于nand存储器的冗余数据保护 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITUB20151149A1 (it) | 2015-05-27 | 2016-11-27 | Sk Hynix Inc | Memoria non volatile comprendente un blocco di controllo del rilevamento di corrente e corrispondente metodo di verifica di programmazione |
KR20180132357A (ko) * | 2017-06-02 | 2018-12-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR20190018323A (ko) | 2017-08-14 | 2019-02-22 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
-
2021
- 2021-02-18 KR KR1020210022120A patent/KR20220118236A/ko unknown
- 2021-08-05 US US17/395,352 patent/US11581028B2/en active Active
- 2021-09-17 CN CN202111093316.6A patent/CN114974360A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220262411A1 (en) | 2022-08-18 |
CN114974360A (zh) | 2022-08-30 |
US11581028B2 (en) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102340446B1 (ko) | 스토리지 장치 및 그것의 데이터 트레이닝 방법 | |
CN112037839B (zh) | 半导体存储器装置及其操作方法 | |
US10818360B2 (en) | Memory device, memory system including the memory device | |
KR102567373B1 (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
US10803956B2 (en) | Memory device, memory system having memory device, and method of operating memory device | |
US10936421B2 (en) | Memory system having storage device and memory controller and operating method thereof | |
US11961561B2 (en) | Memory device and method of operating the same | |
CN110010185B (zh) | 存储器系统及其操作方法 | |
CN113741602B (zh) | 校准电路和该校准电路的操作方法 | |
US11581028B2 (en) | Memory device for counting fail bits included in sensed data | |
US11276475B2 (en) | Memory device and method of operating the memory device | |
KR20220009792A (ko) | 메모리 장치 및 이의 동작 방법 | |
US11520489B2 (en) | Memory device and method of operating the same | |
US11302408B2 (en) | Memory device | |
US12125550B2 (en) | Memory device, memory system including the memory device, and test operation of the memory device | |
US20220336040A1 (en) | Memory device, memory system including the memory device, and test operation of the memory device | |
US20240338314A1 (en) | Memory controller and method of operating the same | |
US20240282388A1 (en) | Memory device for performing read operation and operating method thereof | |
US20240177779A1 (en) | Memory device, operating method thereof, and verification result generator | |
KR20220162599A (ko) | 메모리 셀들의 프로그램 동작을 수행하는 메모리 장치 | |
CN113284534A (zh) | 存储器装置及其操作方法 | |
CN116978431A (zh) | 存储器装置及其操作方法 |