KR102608958B1 - Storage device and operating method thereof - Google Patents

Storage device and operating method thereof Download PDF

Info

Publication number
KR102608958B1
KR102608958B1 KR1020180142510A KR20180142510A KR102608958B1 KR 102608958 B1 KR102608958 B1 KR 102608958B1 KR 1020180142510 A KR1020180142510 A KR 1020180142510A KR 20180142510 A KR20180142510 A KR 20180142510A KR 102608958 B1 KR102608958 B1 KR 102608958B1
Authority
KR
South Korea
Prior art keywords
latch
read
memory controller
latches
status bit
Prior art date
Application number
KR1020180142510A
Other languages
Korean (ko)
Other versions
KR20200058028A (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 KR1020180142510A priority Critical patent/KR102608958B1/en
Priority to US16/687,265 priority patent/US10990327B2/en
Priority to CN201911132167.2A priority patent/CN111199764A/en
Publication of KR20200058028A publication Critical patent/KR20200058028A/en
Application granted granted Critical
Publication of KR102608958B1 publication Critical patent/KR102608958B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • 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/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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
    • 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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • 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/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits

Abstract

스토리지 장치 및 이의 동작 방법이 개시된다. 본 개시에 따른 스토리지 장치는, 메모리 컨트롤러 및 비휘발성 메모리 장치를 포함하고, 상기 비휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들 중에서 선택된 메모리 셀들에 대한 복수의 센싱 동작을 수행하고, 상기 복수의 센싱 동작의 결과 값들을 각각 저장하는 복수의 래치들을 포함하는 페이지 버퍼, 상기 복수의 래치들에 저장된 데이터를 각각 비교하고, 상기 비교 결과에 따라 상기 복수의 래치들 중 하나의 래치를 선택하고, 상기 선택된 래치에 저장된 리드 데이터를 상기 메모리 컨트롤러에게 전송하고, 복수의 래치들 중 상기 선택된 래치를 나타내는(representing) 상태 비트를 생성하는 제어 로직, 및 상기 생성된 상태 비트를 저장하고, 상기 메모리 컨트롤러로부터 상태 리드 커맨드를 수신한 경우, 상기 상태 비트를 상기 메모리 컨트롤러에게 전송하는 상태 비트 레지스터를 포함하고, 상기 메모리 컨트롤러는, 상기 선택된 데이터에 대한 ECC(error correction code) 복호를 수행하고, 상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단하는 것을 특징으로 할 수 있다.A storage device and a method of operating the same are disclosed. A storage device according to the present disclosure includes a memory controller and a non-volatile memory device, wherein the non-volatile memory device includes a memory cell array including a plurality of memory cells, a plurality of memory cells for selected memory cells among the plurality of memory cells, and a non-volatile memory device. A page buffer including a plurality of latches that perform a sensing operation and store result values of the plurality of sensing operations, respectively, compare data stored in the plurality of latches, and connect the plurality of latches according to the results of the comparison. Control logic for selecting one latch, transmitting read data stored in the selected latch to the memory controller, and generating a status bit representing the selected latch among a plurality of latches, and the generated status bit and a status bit register for storing and transmitting the status bit to the memory controller when a status read command is received from the memory controller, wherein the memory controller performs ECC (error correction code) decoding for the selected data. may be performed, and if the ECC decoding is successful, it may be characterized as determining whether to change the read voltage based on the status bit.

Description

스토리지 장치 및 이의 동작 방법{STORAGE DEVICE AND OPERATING METHOD THEREOF}Storage device and operating method thereof {STORAGE DEVICE AND OPERATING METHOD THEREOF}

본 개시의 기술적 사상은 스토리지 장치에 관한 것으로서, 더욱 상세하게는 리드(read) 전압을 변경하는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다.The technical idea of the present disclosure relates to a storage device, and more specifically, to a storage device that changes a read voltage and a method of operating the storage device.

반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화 인듐(InP, indium phospide)과 같은 반도체를 이용하여 구현되는 기억 장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile Memory Device) 및 비휘발성 메모리 장치(Nonvolatile Memory Device)로 구분될 수 있다. A semiconductor memory device is a memory device implemented using semiconductors such as silicon (Si), germanium (Ge), gallium arsenide (GaAs), and indium phospide (InP). am. Semiconductor memory devices can be largely divided into volatile memory devices and nonvolatile memory devices.

한편, 반도체 메모리 장치의 고용량화 요구에 따라, 집적도를 향상시키기 위해, 셀당 저장되는 비트 수를 증가시키는 멀티 레벨링 기법 및 회로 선폭을 감소시키는 스케일링 기법이 이용되고 있다. 다만, 셀당 저장되는 비트 수가 늘어남에 따라 문턱전압 분포의 겹침이 증가하고, 회로 선폭이 감소함에 따라 이웃 메모리 셀간 거리가 줄어들어 커플링(coupling)이 발생하여, 최적의 리드 전압에 기반한 정확한 데이터 독출이 요구될 수 있다.Meanwhile, in response to the demand for higher capacity of semiconductor memory devices, multi-leveling techniques to increase the number of bits stored per cell and scaling techniques to reduce circuit line width are being used to improve integration. However, as the number of bits stored per cell increases, the overlap of the threshold voltage distribution increases, and as the circuit line width decreases, the distance between neighboring memory cells decreases, causing coupling, making it difficult to read data accurately based on the optimal read voltage. may be requested.

본 개시의 기술적 사상이 해결하고자 하는 과제는, OVS 리드 동작 시, 상태 비트(status bit)을 이용하여 문턱 전압의 산포 이동을 예측하는 비휘발성 메모리 장치 및 이의 동작 방법을 제공하는데 있다.The problem to be solved by the technical idea of the present disclosure is to provide a non-volatile memory device and a method of operating the same that predict distribution and movement of the threshold voltage using status bits during OVS read operation.

본 개시의 기술적 사상이 해결하고자 하는 또 다른 과제는, 상기 상태 비트를 이용하여 예측된 문턱 전압의 산포 이동에 기반하여, ECC 복호가 성공하였음에도, 리드 전압을 변경하는 비휘발성 메모리 장치 및 이의 동작 방법을 제공하는데 있다.Another problem that the technical idea of the present disclosure seeks to solve is a non-volatile memory device and operating method thereof that change the read voltage even though ECC decoding is successful based on the distribution movement of the threshold voltage predicted using the status bit. is to provide.

상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 스토리지 장치는, 메모리 컨트롤러 및 비휘발성 메모리 장치를 포함하고, 상기 비휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들 중에서 선택된 메모리 셀들에 대한 복수의 센싱 동작을 수행하고, 상기 복수의 센싱 동작의 결과 값들을 각각 저장하는 복수의 래치들을 포함하는 페이지 버퍼, 상기 복수의 래치들에 저장된 데이터를 각각 비교하고, 상기 비교 결과에 따라 상기 복수의 래치들 중 하나의 래치를 선택하고, 상기 선택된 래치에 저장된 리드 데이터를 상기 메모리 컨트롤러에게 전송하고, 복수의 래치들 중 상기 선택된 래치를 나타내는(representing) 상태 비트를 생성하는 제어 로직, 및 상기 생성된 상태 비트를 저장하고, 상기 메모리 컨트롤러로부터 상태 리드 커맨드를 수신한 경우, 상기 상태 비트를 상기 메모리 컨트롤러에게 전송하는 상태 비트 레지스터를 포함하고, 상기 메모리 컨트롤러는, 상기 선택된 데이터에 대한 ECC(error correction code) 복호를 수행하고, 상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단하는 것을 특징으로 할 수 있다.In order to achieve the above object, a storage device according to one aspect of the technical idea of the present disclosure includes a memory controller and a non-volatile memory device, and the non-volatile memory device includes a memory cell including a plurality of memory cells. An array, a page buffer including a plurality of latches that perform a plurality of sensing operations on selected memory cells among the plurality of memory cells and store result values of the plurality of sensing operations, respectively, and data stored in the plurality of latches. compares each, selects one latch among the plurality of latches according to the comparison result, transmits read data stored in the selected latch to the memory controller, and represents the selected latch among the plurality of latches. ) Control logic that generates a status bit, and a status bit register that stores the generated status bit and transmits the status bit to the memory controller when a status read command is received from the memory controller, the memory The controller may perform error correction code (ECC) decoding on the selected data and, if the ECC decoding is successful, determine whether to change the read voltage based on the status bit.

본 개시의 기술적 사상의 일측면에 따른 메모리 컨트롤러 장치는 OVS(On chip valley search) 리드 동작을 수행하는 비휘발성 메모리 장치로부터 수신한 리드 데이터에 기반하여 ECC(error correction code) 복호를 수행하는 ECC 모듈 및 상기 비휘발성 메모리 장치로부터, 상기 비휘발성 메모리 장치에 포함되어 상기 OVS 리드 동작의 결과 값들을 각각 저장하는 복수의 래치들 중에서 상기 리드 데이터를 래치한 하나의 래치를 나타내는 상태 비트를 수신하고, 상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여, 리드 전압을 변경할지 여부를 판단하는 리드 전압 변경 모듈을 포함하는 것을 특징으로 할 수 있다.A memory controller device according to one aspect of the technical idea of the present disclosure is an ECC module that performs error correction code (ECC) decoding based on read data received from a non-volatile memory device that performs an OVS (On chip valley search) read operation. and receiving, from the non-volatile memory device, a status bit indicating one latch that latched the read data among a plurality of latches included in the non-volatile memory device and each storing result values of the OVS read operation, When ECC decoding is successful, it may include a read voltage change module that determines whether to change the read voltage based on the status bit.

본 개시의 기술적 사상의 일측면에 따른 메모리 컨트롤러의 동작 방법은 OVS 리드 동작을 수행하는 비휘발성 메모리로부터, 리드 데이터 및 복수의 래치들 중에서 상기 리드 데이터가 출력된 하나의 래치를 지시하는 상태 비트를 수신하는 단계, 상기 리드 데이터에 기반하여, ECC 복호를 수행하는 단계, 상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여, 리드 전압을 변경할지 여부를 판단하는 단계를 포함하는 것을 특징으로 할 수 있다.A method of operating a memory controller according to one aspect of the technical idea of the present disclosure includes read data from a non-volatile memory that performs an OVS read operation, and a status bit indicating one latch to which the read data is output among a plurality of latches. Receiving, performing ECC decoding based on the read data, and, if the ECC decoding is successful, determining whether to change the read voltage based on the status bit. there is.

본 개시의 기술적 사상에 따른 비휘발성 메모리 장치는 OVS(on chip valley search) 리드 동작을 통해 생성되는 상태 비트(status bit)를 이용하여, 문턱 전압의 산포 거동을 예측하고, ECC 복호의 실패 이전에 리드 전압을 선제적으로(preemptively) 변경함으로서, ECC(error correction code) 복호가 실패하는 시점을 지연시킬 수 있다.A non-volatile memory device according to the technical idea of the present disclosure uses a status bit generated through an OVS (on chip valley search) read operation to predict the distribution behavior of the threshold voltage, and to predict the distribution behavior of the threshold voltage before failure of ECC decoding. By preemptively changing the read voltage, it is possible to delay the point at which error correction code (ECC) decoding fails.

도 1은 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 OVS 리드 동작 수행 시 센싱 노드의 레벨 변화를 나타내는 파형도이다.
도 4는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록을 나타내는 회로도이다.
도 5는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.
도 6은 메모리 블록(BLK0)을 나타내는 사시도이다.
도 7은 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러와 비휘발성 메모리 장치간에 신호 교환도이다.
도 9는 본 개시의 예시적 실시예에 따른 상태 비트를 도시하는 테이블이다.
도 10은 본 개시의 예시적 실시예에 따른 제1 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다.
도 11은 본 개시의 예시적 실시예에 따른 제2 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다.
도 12는 본 개시의 예시적 실시예에 따른 변경된 상태 비트를 도시하는 테이블이다.
도 13은 본 개시의 예시적 실시예에 따른 변경된 상태 비트에 기반하여 제2 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다.
Figure 1 is a block diagram showing a storage device according to an exemplary embodiment of the present disclosure.
Figure 2 is a block diagram showing a non-volatile memory device according to an exemplary embodiment of the present disclosure.
FIG. 3 is a waveform diagram showing a change in the level of a sensing node when performing an OVS read operation according to an exemplary embodiment of the present disclosure.
Figure 4 is a circuit diagram showing a memory block included in a memory cell array according to an exemplary embodiment of the present disclosure.
FIG. 5 is a circuit diagram illustrating another example of a memory block included in a memory cell array according to an exemplary embodiment of the present disclosure.
Figure 6 is a perspective view showing the memory block BLK0.
Figure 7 is a flowchart showing a method of operating a storage device according to an exemplary embodiment of the present disclosure.
Figure 8 is a signal exchange diagram between a memory controller and a non-volatile memory device according to an exemplary embodiment of the present disclosure.
Figure 9 is a table showing status bits according to an exemplary embodiment of the present disclosure.
FIG. 10 is a flowchart illustrating a method of operating a storage device performing a first operation mode according to an exemplary embodiment of the present disclosure.
FIG. 11 is a flowchart illustrating a method of operating a storage device performing a second operation mode according to an exemplary embodiment of the present disclosure.
Figure 12 is a table showing changed status bits according to an example embodiment of the present disclosure.
FIG. 13 is a flowchart illustrating a method of operating a storage device that performs a second operation mode based on changed status bits according to an exemplary embodiment of the present disclosure.

도 1은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a non-volatile memory system according to an exemplary embodiment of the present disclosure.

도 1을 참조하면, 스토리지 장치(1)는 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(10)를 포함할 수 있다. 일 예시에서, 호스트(HOST), 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(10) 각각은 하나의 칩, 하나의 패키지, 하나의 모듈 등으로 제공될 수 있다. Referring to FIG. 1 , the storage device 1 may include a memory controller 20 and a non-volatile memory device 10. In one example, the host (HOST), the memory controller 20, and the non-volatile memory device 10 may each be provided as one chip, one package, one module, etc.

메모리 컨트롤러(20)는 호스트(HOST)로부터 수신된 라이트 요청 또는 리드 요청에 응답하여 비휘발성 메모리 장치(10)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 호스트로부터 수신된 라이트 요청 또는 리드 요청에 응답하여 커맨드(CMD) 및 어드레스(ADDR)를 비휘발성 메모리 장치(10)로 전송할 수 있다. 메모리 컨트롤러(20)가 비휘발성 메모리 장치(10)로 전송하는 어드레스(ADDR)는 비휘발성 메모리 장치(10)의 물리적 어드레스일 수 있다. 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)와 데이터(DATA)를 주고 받을 수 있다. 일 예시에서, 커맨드(CMD)가 라이트 커맨드인 경우, 비휘발성 메모리 장치(10)는 메모리 컨트롤러(20)로부터 수신한 데이터(DATA)를 메모리 셀 어레이(110)에 라이트할 수 있고, 커맨드(CMD)가 리드 커맨드(CMD_r)인 경우, 비휘발성 메모리 장치(10)는 메모리 컨트롤러(20)로부터 수신한 어드레스(ADDR)에 저장된 데이터(DATA)를 메모리 컨트롤러(20)에 출력할 수 있다.The memory controller 20 may control the non-volatile memory device 10 in response to a write request or read request received from a host (HOST). For example, the memory controller 20 may transmit a command (CMD) and an address (ADDR) to the non-volatile memory device 10 in response to a write request or read request received from the host. The address ADDR that the memory controller 20 transmits to the non-volatile memory device 10 may be a physical address of the non-volatile memory device 10. The memory controller 20 can exchange data (DATA) with the non-volatile memory device 10. In one example, when the command (CMD) is a write command, the non-volatile memory device 10 may write data (DATA) received from the memory controller 20 to the memory cell array 110, and the command (CMD) may be written to the memory cell array 110. ) is the read command (CMD_r), the non-volatile memory device 10 may output the data (DATA) stored in the address (ADDR) received from the memory controller 20 to the memory controller 20.

본 개시의 일 실시예에 따른 비휘발성 메모리 장치(10)는 메모리 셀 어레이(110), 페이지 버퍼(120), OVS(on chip valley search) 모듈(130) 및 상태 비트 레지스터(140)를 포함할 수 있다. The non-volatile memory device 10 according to an embodiment of the present disclosure may include a memory cell array 110, a page buffer 120, an on chip valley search (OVS) module 130, and a status bit register 140. You can.

메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 실시예들을 상술하기로 한다. 그러나, 본 개시의 기술적 사상은 이에 제한되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.The memory cell array 110 may include a plurality of memory cells. For example, the plurality of memory cells may be flash memory cells. Hereinafter, embodiments will be described in detail by taking the case where a plurality of memory cells are NAND flash memory cells as an example. However, the technical idea of the present disclosure is not limited thereto, and in another embodiment, the plurality of memory cells may be resistive memory cells such as resistive RAM (RRAM), phase change RAM (PRAM), or magnetic RAM (MRAM). .

본 개시에 따른 실시예에서, 메모리 셀 어레이(110)에 포함되는 각 메모리 셀은 2 비트 이상의 데이터를 저장할 수 있다. 예를 들어, 메모리 셀은 2 비트 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 다른 예로서, 메모리 셀은 3 비트 데이터를 저장하는 트리플 레벨 셀(triple level cell, TLC) 또는 4 비트 데이터를 저장하는 쿼드러플 레벨 셀(quadruple level cell, QLC)일 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 다른 실시예에서, 메모리 셀 어레이(110)에 포함되는 일부 메모리 셀들은 1 비트 데이터를 저장하는 싱글 레벨 셀(single level cell, SLC)이고, 일부 메모리 셀들을 제외한 나머지 메모리 셀들은 멀티 레벨 셀(multi level cell, MLC)일 수 있다.In an embodiment according to the present disclosure, each memory cell included in the memory cell array 110 can store 2 bits or more of data. For example, the memory cell may be a multi level cell (MLC) that stores 2 bits of data. As another example, the memory cell may be a triple level cell (TLC) that stores 3 bits of data or a quadruple level cell (QLC) that stores 4 bits of data. However, the present disclosure is not limited to this, and in another embodiment, some memory cells included in the memory cell array 110 are single level cells (SLC) that store 1-bit data, and some memory cells are Except for this, the remaining memory cells may be multi-level cells (MLC).

페이지 버퍼(120)는 기입 드라이버 및 감지 증폭기를 포함할 수 있다. 라이트 동작시, 페이지 버퍼(120)는 메모리 셀 어레이(110)의 비트 라인으로 라이트될 데이터에 대응하는 비트 라인 전압을 전달할 수 있다. 리드 동작 또는 베리파이 동작시, 페이지 버퍼(120)는 선택된 메모리 셀에 저장된 데이터를 비트 라인을 통해서 감지할 수 있다. 페이지 버퍼(120)는 적어도 하나의 비트 라인에 각각 연결되는 복수의 래치들을 포함할 수 있다.The page buffer 120 may include a write driver and a sense amplifier. During a write operation, the page buffer 120 may transmit a bit line voltage corresponding to data to be written to the bit line of the memory cell array 110. During a read operation or verify operation, the page buffer 120 can detect data stored in the selected memory cell through a bit line. The page buffer 120 may include a plurality of latches each connected to at least one bit line.

OVS 모듈(130)은, 메모리 셀들에 저장된 어느 하나의 상태를 식별하기 위해 수행되는 복수의 센싱 동작들을 수행할 수 있다. OVS 모듈(130)은 상기 복수의 센싱 동작들에 의해 센싱된 결과 값들을 페이지 버퍼(120)에 포함된 복수의 래치들에 저장할 수 있다. OVS 모듈(130)은 복수의 센싱 동작들에 의해 센싱된 결과 값들을 비교함으로써 복수의 래치들에 각각 저장된 데이터 중에서 산포골(valley) 전압으로 센싱 및 래치된 데이터를 리드 데이터로 출력할 수 있다. 이에 관해서는 도 3에서 후술한다.The OVS module 130 may perform a plurality of sensing operations to identify one state stored in memory cells. The OVS module 130 may store result values sensed by the plurality of sensing operations in a plurality of latches included in the page buffer 120. The OVS module 130 may output data sensed and latched with a valley voltage among the data stored in each of the plurality of latches as read data by comparing result values sensed by a plurality of sensing operations. This will be described later in Figure 3.

상태 비트 레지스터(140)는, 상태 비트를 저장할 수 있다. 상기 상태 비트는, 비휘발성 메모리 장치(10)의 상태를 지시하기 위한 비트들에 상응할 수 있다. 다양한 실시예들에 따라, 상기 상태 비트는, 제어 로직(100)에 의해 생성될 수 있다. 예를 들어, 상기 상태 비트는 제어 로직(100)에 포함된 OVS 모듈(130)에 의해 생성될 수 있다. 다른 예를 들어, 상기 상태 비트는, 제어 로직(100)의 제어 신호(Info_Sel)에 기반하여, 상태 비트 레지스터(140)에 의해 생성될 수도 있다. 상기 상태 비트는, 비휘발성 메모리 장치(10)의 "비지" 또는 "레디" 상태 중 하나의 상태를 지시할 수 있다. 예를 들어, 비휘발성 메모리 장치(10)가 OVS 리드 동작을 수행하는 동안, 상태 비트는 "비지"를 지시할 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)가 OVS 리드 동작을 완료한 이후, 상태 비트는 "레디"를 지시할 수 있다. 상기 "레디" 또는 "비지"는 상태 비트들 중 예를 들어, DQ6 핀을 통해 전송되는 비트의 "1" 또는 "0"에 각각 상응할 수 있다. 다른 실시예에 따라, 상태 비트는, 복수의 래치들 중 리드 데이터를 출력하도록 선택된 하나의 래치를 지시할 수 있다. 즉, 비휘발성 메모리 장치(10)가 "레디" 상태인 경우, 상태 비트는 완료된 OVS 리드 동작의 결과를 지시하는 비트들을 더 포함할 수 있다. 선택된 하나의 래치를 지시하는 상태 비트는, 예를 들어, DQ0 핀 내지 DQ3 핀을 통해 전송되는 비트들을 포함할 수 있다. 예를 들어, 제1 센싱 동작에 따라 제1 래치에 래치된 데이터가 리드 데이터로 출력된 경우, 상태 비트 레지스터(140)는 제1 래치를 지시하는 "1010"의 상태 비트를 저장할 수 있다. 다른 예를 들어, 복수의 센싱 동작 중 제2 센싱 동작에 따라 제2 래치에 저장된 데이터가 리드 데이터로 출력된 경우, 상태 비트 레지스터(140)는 제2 래치를 지시하는 "0000"의 상태 비트를 저장할 수 있다. 또 다른 예를 들어, 복수의 센싱 동작 중 제3 센싱 동작에 따라 제3 래치에 저장된 데이터가 리드 데이터로 출력된 경우, 상태 비트 레지스터(140)는 제3 래치를 지시하는 "0101"의 상태 비트를 저장할 수 있다. 다양한 실시예들에 따라, 상태 비트 레지스터(140)는, 메모리 컨트롤러(20)로부터 상태 리드 커맨드를 수신함에 응답하여 상태 비트를 메모리 컨트롤러(20)에게 전송할 수 있다. 이에 관해서는, 도 7 내지 도 8에서 후술한다.The status bit register 140 can store status bits. The status bit may correspond to bits indicating the status of the non-volatile memory device 10. According to various embodiments, the status bit may be generated by the control logic 100. For example, the status bit may be generated by the OVS module 130 included in the control logic 100. For another example, the status bit may be generated by the status bit register 140 based on the control signal (Info_Sel) of the control logic 100. The status bit may indicate one of the “busy” or “ready” states of the non-volatile memory device 10. For example, while the non-volatile memory device 10 is performing an OVS read operation, the status bit may indicate “busy.” As another example, after the non-volatile memory device 10 completes an OVS read operation, the status bit may indicate “ready.” The “ready” or “busy” may correspond to, for example, “1” or “0” of the status bits transmitted through the DQ6 pin, respectively. According to another embodiment, the status bit may indicate one latch selected to output read data among a plurality of latches. That is, when the non-volatile memory device 10 is in the “ready” state, the status bits may further include bits indicating the result of the completed OVS read operation. Status bits indicating one selected latch may include, for example, bits transmitted through pins DQ0 to DQ3. For example, when data latched in the first latch according to the first sensing operation is output as read data, the status bit register 140 may store a status bit of “1010” indicating the first latch. For another example, when data stored in the second latch is output as read data according to a second sensing operation among a plurality of sensing operations, the status bit register 140 displays a status bit of “0000” indicating the second latch. You can save it. For another example, when data stored in the third latch is output as read data according to a third sensing operation among a plurality of sensing operations, the status bit register 140 contains a status bit of “0101” indicating the third latch. can be saved. According to various embodiments, the status bit register 140 may transmit a status bit to the memory controller 20 in response to receiving a status read command from the memory controller 20 . This will be described later with reference to FIGS. 7 and 8.

본 개시의 일 실시예에 따른 메모리 컨트롤러(20)는 ECC 모듈(210) 및 리드 전압 변경 모듈(220)을 포함할 수 있다.The memory controller 20 according to an embodiment of the present disclosure may include an ECC module 210 and a read voltage change module 220.

ECC 모듈(210)은 입출력되는 데이터에 대한 ECC 부호화 또는 복호화를 수행할 수 있다. 예를 들어, ECC 모듈(210)은 호스트로부터 라이트 커맨드를 수신하고, 라이트 데이터에 대한 ECC 부호화를 수행할 수 있다. 다른 예를 들어, ECC 모듈(210)은 비휘발성 메모리 장치(10)로부터 리드 데이터를 수신하고, ECC 복호화를 수행할 수 있다. 일 실시예에 따라, ECC 모듈(210)은 상기 리드 데이터의 복호화에 실패한 경우, 비휘발성 메모리 장치(10)에게 리드 재시도(retry)를 요청할 수 있다. ECC 모듈(210)은 상기 리드 데이터의 복호화에 성공한 경우, 상기 복호된 리드 데이터를 호스트에게 출력할 수 있다.The ECC module 210 can perform ECC encoding or decoding on input and output data. For example, the ECC module 210 may receive a write command from the host and perform ECC encoding on the write data. For another example, the ECC module 210 may receive read data from the non-volatile memory device 10 and perform ECC decoding. According to one embodiment, when decoding the read data fails, the ECC module 210 may request a read retry from the non-volatile memory device 10. If the ECC module 210 succeeds in decoding the read data, it may output the decoded read data to the host.

리드 전압 변경 모듈(220)은 리드 전압을 변경할지 여부를 판단할 수 있다. 일 실시예에 따라, 리드 전압 변경 모듈(220)은 상태 비트에 기반하여 리드 전압을 변경할 것을 판단할 수 있다. 리드 전압 변경 모듈(220)은 상태 비트를 이용하여, 리드 데이터를 출력하도록 선택된 래치를 식별할 수 있고, 식별된 래치에 기반하여 리드 전압을 증가시키거나, 감소시킬 수 있다. 일 실시예에 따라, 리드 전압 변경 모듈(220)은 ECC 복호가 성공한 경우, 리드 전압을 변경할 것을 판단할 수 있다. 이에 관해서는, 도 10 내지 도 11에서 후술한다. The read voltage change module 220 can determine whether to change the read voltage. According to one embodiment, the read voltage change module 220 may determine to change the read voltage based on the status bit. The read voltage change module 220 may use the status bit to identify a latch selected to output read data and may increase or decrease the read voltage based on the identified latch. According to one embodiment, the read voltage change module 220 may determine to change the read voltage when ECC decoding is successful. This will be described later with reference to FIGS. 10 and 11.

도 2는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다. 도 1과 중복되는 내용은 생략한다. Figure 2 is a block diagram showing a non-volatile memory device according to an exemplary embodiment of the present disclosure. Content that overlaps with Figure 1 is omitted.

도 2를 참조하면, 비휘발성 메모리 장치(10)는 제어 로직(100), 메모리 셀어레이(110), 페이지 버퍼(120), 전압 생성기(150), 로우 디코더(160) 및 입출력 회로(170)를 포함할 수 있다.Referring to FIG. 2, the non-volatile memory device 10 includes a control logic 100, a memory cell array 110, a page buffer 120, a voltage generator 150, a row decoder 160, and an input/output circuit 170. may include.

제어 로직(100)은 OVS 모듈(130) 및 상태 비트 레지스터(140)를 포함할 수 있다. 제어 로직(100)은 메모리 컨트롤러(예: 도 1의 메모리 컨트롤러(20))로부터 수신한 커맨드(CMD_r) 및 어드레스(ADDR)를 기초로 하여, 메모리 셀 어레이(110)에 데이터를 라이트하거나 메모리 셀 어레이(110)로부터 데이터를 리드하기 위한 각종 제어 신호를 출력할 수 있다. Control logic 100 may include an OVS module 130 and a status bit register 140. The control logic 100 writes data to the memory cell array 110 or writes data to the memory cell array 110 based on the command (CMD_r) and address (ADDR) received from the memory controller (e.g., the memory controller 20 in FIG. 1). Various control signals for reading data from the array 110 can be output.

OVS 모듈(130)은 메모리 셀에 대한 복수의 센싱 동작들을 수행할 수 있다. OVS 모듈(130)은 복수의 센싱 동작들에 의해 센싱된 값들을 페이지 버퍼(120)에 포함된 복수의 래치들에 각각 저장할 수 있다. 상기 복수의 센싱 동작들은 각각 상이한 시점에 수행될 수 있다. 일 실시예에 따라, 상기 복수의 센싱 동작들은 3회의 센싱 동작들을 포함할 수 있다. 예를 들어, 제1 시점에 수행되는 제1 센싱 동작에 의해 획득된 데이터는, 복수의 래치들 중 제1 래치에 저장될 수 있다. 다른 예를 들어, 제2 센싱 동작에 의해 획득된 데이터는, 복수의 래치들 중 제2 래치에 저장될 수 있고, 상기 제2 센싱 동작은 상기 제1 시점보다 늦은 제2 시점에 수행될 수 있다. 또 다른 예를 들어, 제3 센싱 동작에 의해 획득된 데이터는, 복수의 래치들 중 제3 래치에 저장될 수 있고, 상기 제3 센싱 동작은, 상기 제2 시점보다 늦은 제3 시점에 수행될 수 있다. The OVS module 130 may perform a plurality of sensing operations on memory cells. The OVS module 130 may store values sensed by a plurality of sensing operations in a plurality of latches included in the page buffer 120, respectively. The plurality of sensing operations may each be performed at different times. According to one embodiment, the plurality of sensing operations may include three sensing operations. For example, data obtained by a first sensing operation performed at a first time point may be stored in a first latch among a plurality of latches. For another example, data obtained by a second sensing operation may be stored in a second latch among a plurality of latches, and the second sensing operation may be performed at a second time later than the first time point. . For another example, data obtained by a third sensing operation may be stored in a third latch among a plurality of latches, and the third sensing operation may be performed at a third time later than the second time point. You can.

다양한 실시예들에 따라, OVS 모듈(130)은 복수의 래치들 중에서 하나의 래치를 선택하고, 상기 선택된 래치에 저장된 데이터를 리드 데이터로 출력할 수 있다. 일 실시예에 따라, OVS 모듈(130)은 제1 래치에 저장된 데이터와 제2 래치에 저장된 데이터를 비교하고, 제2 래치에 저장된 데이터와 제3 래치에 저장된 데이터를 비교할 수 있다. OVS 모듈(130)은 상기 비교에 기반하여, 최적의 리드 전압에 따라 독출된 데이터를 저장하는 하나의 래치를 선택할 수 있다. 이에 관해서는 도 3에서 후술한다.According to various embodiments, the OVS module 130 may select one latch from a plurality of latches and output data stored in the selected latch as read data. According to one embodiment, the OVS module 130 may compare data stored in the first latch with data stored in the second latch, and compare data stored in the second latch with data stored in the third latch. Based on the comparison, the OVS module 130 may select one latch that stores the read data according to the optimal read voltage. This will be described later in Figure 3.

페이지 버퍼(120)는 복수의 래치들을 포함할 수 있다. 복수의 래치들 각각은 서로 상이한 시점에 수행된 센싱 동작의 결과를 저장할 수 있다. 본 개의 일 실시예에 따르면, 복수의 래치들은 OVS 모듈(130)로부터 제어 신호(Info_Sel)를 수신하고, 상기 제어 신호가 지시하는 래치에 저장된 데이터를 리드 데이터로 출력할 수 있다. 복수의 래치들 각각은 제어 로직(100)의 제어에 따라 센싱된 복수의 데이터 중에서 최적의 데이터를 선택 또는 출력할 수 있다. The page buffer 120 may include a plurality of latches. Each of the plurality of latches may store the results of a sensing operation performed at different times. According to one embodiment of the present invention, a plurality of latches may receive a control signal (Info_Sel) from the OVS module 130, and output data stored in the latch indicated by the control signal as read data. Each of the plurality of latches may select or output optimal data from a plurality of sensed data under the control of the control logic 100.

전압 생성기(150)는 전압 제어 신호(Ctrl_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 라이트, 리드 및 이레이즈 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성기(150)는 워드 라인 전압(VWL), 예를 들어, 프로그램 전압(또는 라이트 전압), 리드 전압, 패스 전압(또는 워드 라인 비선택 전압), 검증 전압 또는 리커버리 전압 등을 생성할 수 있다. The voltage generator 150 may generate various types of voltages to perform write, read, and erase operations on the memory cell array 110 based on the voltage control signal (Ctrl_vol). Specifically, the voltage generator 150 generates a word line voltage (VWL), such as a program voltage (or write voltage), a read voltage, a pass voltage (or a word line non-select voltage), a verification voltage, or a recovery voltage, etc. can do.

로우 디코더(160)는 로우 어드레스(X-ADDR)에 응답하여 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있다. 로우 디코더(160)는 워드 라인에 워드 라인 전압을 전달한다. 프로그램 동작시, 로우 디코더(160)는 선택 워드라인에 프로그램 전압과 검증 전압을, 비선택 워드 라인에는 프로그램 인히빗 전압을 인가할 수 있다. 리드 동작시, 로우 디코더(160)는 선택 워드 라인에는 리드 전압을, 비선택된 워드 라인에는 리드 인히빗 전압을 인가할 수 있다. 리커버리 동작시, 로우 디코더(160)는 선택 워드라인에 리커버리 전압을 인가할 수 있다. 또한, 로우 디코더(160)는 로우 어드레스(X-ADDR)에 응답하여 스트링 선택 라인들 중 일부 스트링 선택 라인 또는 그라운드 선택 라인들 중 일부 그라운드 선택 라인을 선택할 수 있다.The row decoder 160 may select some of the word lines WL in response to the row address X-ADDR. The row decoder 160 transfers the word line voltage to the word line. During a program operation, the row decoder 160 may apply a program voltage and a verification voltage to a selected word line and a program inhibit voltage to an unselected word line. During a read operation, the row decoder 160 may apply a read voltage to a selected word line and a read inhibit voltage to an unselected word line. During a recovery operation, the row decoder 160 may apply a recovery voltage to the selected word line. Additionally, the row decoder 160 may select some string selection lines among the string selection lines or some ground selection lines among the ground selection lines in response to the row address (X-ADDR).

입출력 회로(170)는 외부(예를 들어, 도 2의 메모리 컨트롤러(20))로부터 데이터를 입력 받고, 입력된 데이터를 메모리 셀 어레이(140)에 저장한다. 또한, 입출력 회로(170)는 메모리 셀 어레이(110)로부터 데이터를 읽고, 리드된 데이터를 외부로 출력할 수 있다. The input/output circuit 170 receives data from an external source (eg, the memory controller 20 of FIG. 2) and stores the input data in the memory cell array 140. Additionally, the input/output circuit 170 may read data from the memory cell array 110 and output the read data to the outside.

도 3은 본 개시의 예시적 실시예에 따른 OVS 리드 동작 수행 시 센싱 노드의 레벨 변화를 나타내는 파형도이다. FIG. 3 is a waveform diagram showing a change in the level of a sensing node when performing an OVS read operation according to an exemplary embodiment of the present disclosure.

도 3은 3회의 센싱 동작을 수행하는 것으로 기재되었으나, 이에 제한되는 것은 아니다. 도 3을 참조하면, TO 시점부터 T1 시점은 프리차지 구간(Precharge), T1 시점부터 T2 시점은 디벨럽 구간(Develop), 그리고 T2 시점 이후에는 래치 구간(Latch)으로 지칭될 수 있다.Although FIG. 3 describes performing three sensing operations, it is not limited thereto. Referring to FIG. 3, the time from TO to T1 may be referred to as a precharge period (Precharge), the time from T1 to T2 may be referred to as a development period, and the time after T2 may be referred to as a latch period (Latch).

프리차지 구간(Precharge)에서, 비트 라인 전압은 제 1 전압 레벨(V1)로 충전될 수 있고, 센싱 노드는 센싱 노드 전압(VSO)으로 충전될 수 있다. 디벨럽 구간(Develop)이 시작되는 T1 시점에서, 센싱 노드에 충전된 전하가 비트 라인으로 이동할 수 있다. 문턱 전압이 리드 전압보다 상대적으로 높은 강한 오프셀(Strong off Cell)의 경우, 센싱 노드의 레벨 변화는 상대적으로 적을 수 있다. 디벨럽 구간에서의 강한 오프셀의 센싱 노드 전위의 변화는 점선(C0)으로 도시되어 있다. In the precharge period, the bit line voltage may be charged to the first voltage level (V1), and the sensing node may be charged to the sensing node voltage (VSO). At T1, when the development period (Develop) begins, the charge charged in the sensing node can move to the bit line. In the case of a strong off cell where the threshold voltage is relatively higher than the lead voltage, the level change of the sensing node may be relatively small. The change in the potential of the sensing node of a strong off-cell in the development section is shown as a dotted line (C0).

문턱 전압이 리드 전압보다 상대적으로 낮은 강한 온셀(Strong On Cell)의 경우, 센싱 노드의 레벨 변화는 상대적으로 클 수 있다. 디벨럽 구간에서의 강한 온셀의 센싱 노드의 전압 레벨 변화는 제1 곡선(C1)으로 도시되어 있다. 강한 오프셀이나 강한 온셀의 경우, 디벨럽 시간의 작은 변화에는 크게 영향을 받지 않을 수 있다. 문턱 전압이 리드 전압 주변에 위치한 메모리 셀들을 센싱하는 센싱 노드의 전위 변화는 각각 제2 내지 제4 곡선들(C2, C3, C4)로 도시되어 있다. 제2 곡선(C2)은 리드 전압보다 약간 낮은 문턱 전압을 가진 메모리 셀의 디벨럽 경향을 보여주고, 제3 곡선(C3)은 리드 전압과 거의 유사한 레벨의 문턱 전압을 가진 메모리 셀의 디벨럽 경향을 보여주고, 제4 곡선(C4)은 리드 전압보다 약간 높은 문턱 전압을 가진 메모리 셀의 디벨럽 경향을 보여줄 수 있다.In the case of a strong on cell where the threshold voltage is relatively lower than the lead voltage, the level change of the sensing node may be relatively large. The change in voltage level of the sensing node of a strong on-cell in the development section is shown as the first curve C1. In the case of strong off-cell or strong on-cell, small changes in development time may not be greatly affected. Changes in potential of a sensing node that senses memory cells whose threshold voltage is located around the read voltage are shown as second to fourth curves C2, C3, and C4, respectively. The second curve C2 shows the development trend of memory cells with a threshold voltage slightly lower than the read voltage, and the third curve C3 shows the development trend of memory cells with a threshold voltage almost similar to the read voltage. , and the fourth curve C4 can show the development tendency of a memory cell with a threshold voltage slightly higher than the read voltage.

멀티 센싱에 따라서, T2 시점을 기준으로 래치 시점을 소정의 시점만큼 일찍 당겨서 메모리 셀들의 센싱 노드를 래치하는 제1 래치 신호(LTCH_1)가 제공될 수 있다. 제1 래치 신호(LTCH_1)에 의해서 센싱 노드가 래치되면, 강한 오프셀(C0)과 강한 온셀(C1)의 경우에는 각각 오프셀 및 온셀에 대응하는 논리값으로 래치들이 설정될 수 있다. 하지만, 상대적으로 문턱 전압이 낮은 제2 곡선(C2)에 대응하는 메모리 셀들은 온셀에 대응하는 논리값으로 래치될 수 있단. 반면, 제3 및 제4 곡선들(C3, C4)에 대응하는 메모리 셀들은 제1 래치 신호(LTCH_1)에 의해서 오프셀에 대응하는 논리값으로 래치될 수 있다.According to multi-sensing, a first latch signal LTCH_1 may be provided to latch the sensing nodes of memory cells by pulling the latch point a predetermined time point early based on time point T2. When the sensing node is latched by the first latch signal (LTCH_1), in the case of strong off-cell (C0) and strong on-cell (C1), latches may be set to logical values corresponding to the off-cell and on-cell, respectively. However, memory cells corresponding to the second curve C2, which has a relatively low threshold voltage, can be latched with a logic value corresponding to an on-cell. On the other hand, memory cells corresponding to the third and fourth curves C3 and C4 may be latched to a logical value corresponding to an off-cell by the first latch signal LTCH_1.

제2 래치 신호(LTCH_2)에 의해서 센싱 노드가 래치되면, 제1 래치 신호(LTCH_1)에서와 마찬가지로 강한 오프셀(CO)과 강한 온셀(C1)의 경우에는 각각 논리 '0' 및 논리 '1'이 래치될 수 있다. 하지만, 제2 곡선(C2)에 대응하는 문턱 전압을 갖는 메모리 셀들은 온셀에 대응하는 논리값으로 래치될 수 있다. 반면, 제3 곡선(C3)에 대응하는 메모리 셀의 경우에는 제2 래치 신호(LTCH_2)에 의해서 논리 '0'과 논리 '1'이 분명치 않는 트랩 레벨(V2)이 래치될 수 있다. 제4 곡선(C4)에 대응하는 메모리 셀들은 제2 래치 신호(LTCH_2)에 의해서 오프셀에 대응하는 논리값으로 래치될 수 있다.When the sensing node is latched by the second latch signal (LTCH_2), in the case of strong off-cell (CO) and strong on-cell (C1), logic '0' and logic '1', respectively, as in the first latch signal (LTCH_1). This can be latched. However, memory cells having a threshold voltage corresponding to the second curve C2 may be latched with a logic value corresponding to an on-cell. On the other hand, in the case of the memory cell corresponding to the third curve C3, the trap level V2, where logic '0' and logic '1' are unclear, may be latched by the second latch signal LTCH_2. Memory cells corresponding to the fourth curve C4 may be latched to a logical value corresponding to an off-cell by the second latch signal LTCH_2.

제3 래치 신호(LTCH_3)에 의해서 센싱 노드가 래치되면, 제1 래치 신호(LTCH_1)에서와 마찬가지로 강한 오프셀(C0)과 강한 온셀(C1)의 경우에는 각각 논리 '0' 및 논리 '1'이 래치될 수 있다. 하지만, 제2 및 제3 곡선(C2, C3)에 대응하는 문턱 전압을 갖는 메모리 셀들은 모두 온셀에 대응하는 논리값 '1'로 래치될 수 있다. 그리고 제4 곡선(C4)에 대응하는 메모리 셀의 경우에는 제3 래치 신호(LTCH_3)에 의해서 오프셀에 대응하는 논리값 '0'으로 래치될 수 있다.When the sensing node is latched by the third latch signal (LTCH_3), in the case of strong off-cell (C0) and strong on-cell (C1), logic '0' and logic '1', respectively, as in the first latch signal (LTCH_1). This can be latched. However, all memory cells having threshold voltages corresponding to the second and third curves C2 and C3 may be latched with the logic value '1' corresponding to the on-cell. Additionally, in the case of the memory cell corresponding to the fourth curve C4, the memory cell may be latched to a logic value of '0' corresponding to the off-cell by the third latch signal LTCH_3.

상술한 방법과 같이 어느 하나의 상태를 식별하기 위해 서로 다른 디벨럽 시점에 센싱 노드의 상태를 논리값으로 래치함으로써, 디벨럽 시점에 따라 실질적으로 워드 라인에 서로 다른 레벨의 리드 전압을 인가한 것과 유사한 효과가 제공될 수 있다. As in the above-described method, in order to identify a state, the state of the sensing node is latched with a logic value at different development times, so that read voltages of different levels are substantially applied to the word line depending on the development time. A similar effect may be provided.

도 4는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록을 나타내는 회로도이다.Figure 4 is a circuit diagram showing a memory block included in a memory cell array according to an exemplary embodiment of the present disclosure.

도 4를 참조하면, 메모리 셀 어레이(예를 들어, 도 2의 140)는 수평 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLKa)은 비트 라인(BL0 ~ BLn-1) 방향으로, 다수 개의 메모리 셀(MC)들이 직렬로 연결되는 n(n는 2 이상의 정수)개의 셀 스트링(STR)들을 포함할 수 있다. 일 예로서, 도 4에는 각각의 셀 스트링(STR)이 8 개의 메모리 셀들을 포함하는 예가 도시된다. Referring to FIG. 4 , a memory cell array (eg, 140 in FIG. 2 ) may be a memory cell array of horizontal NAND flash memory and may include a plurality of memory blocks. Each memory block BLKa may include n (n is an integer of 2 or more) cell strings (STR) in which a plurality of memory cells (MC) are connected in series in the direction of the bit lines (BL0 to BLn-1). . As an example, FIG. 4 shows an example in which each cell string (STR) includes 8 memory cells.

도 4와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거가 수행되고, 각 워드 라인(WL0 ~ WL7)에 대응되는 페이지 단위로 프로그램을 수행한다. 도 4는 하나의 블록에 n개의 워드 라인들(WL1 ~ WLn)에 대한 n개의 페이지들이 구비되는 예를 도시한다. 또한, 도 1 및 도 2의 비휘발성 메모리 장치(10)는 이상에서 설명된 메모리 셀 어레이(140)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.In a NAND flash memory device having the structure shown in FIG. 4, erase is performed on a block basis and programming is performed on a page basis corresponding to each word line (WL0 to WL7). Figure 4 shows an example in which n pages for n word lines (WL1 to WLn) are provided in one block. Additionally, the non-volatile memory device 10 of FIGS. 1 and 2 may include a plurality of memory cell arrays that have the same structure and perform the same operation as the memory cell array 140 described above.

도 5는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.FIG. 5 is a circuit diagram illustrating another example of a memory block included in a memory cell array according to an exemplary embodiment of the present disclosure.

도 5를 참조하면, 메모리 셀 어레이(예를 들어, 도 2의 140)는 수직 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLK0)은 복수의 낸드 셀 스트링들(NS11 ~ NS33), 복수의 워드 라인들(WL1 ~ WL8), 복수의 비트 라인들(BL1 ~ BL3), 복수의 그라운드 선택 라인들(GSL1 ~ GSL3), 복수의 셀 스트링 선택 라인들(SSL1 ~ SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 셀 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 셀 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다. Referring to FIG. 5 , a memory cell array (eg, 140 in FIG. 2 ) may be a memory cell array of vertical NAND flash memory and may include a plurality of memory blocks. Each memory block (BLK0) includes a plurality of NAND cell strings (NS11 to NS33), a plurality of word lines (WL1 to WL8), a plurality of bit lines (BL1 to BL3), and a plurality of ground selection lines (GSL1 to GSL1). GSL3), a plurality of cell string selection lines (SSL1 to SSL3), and a common source line (CSL). Here, the number of NAND cell strings, the number of word lines, the number of bit lines, the number of ground selection lines, and the number of cell string selection lines may vary depending on the embodiment.

제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 셀 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 셀 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 셀 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 셀 스트링(예를 들면, NS11)은 직렬로 연결된 셀 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. NAND cell strings (NS11, NS21, NS31) are provided between the first bit line (BL1) and the common source line (CSL), and NAND cell strings are provided between the second bit line (BL2) and the common source line (CSL). NAND cell strings (NS12, NS22, and NS32) are provided, and NAND cell strings (NS13, NS23, and NS33) are provided between the third bit line (BL3) and the common source line (CSL). Each NAND cell string (eg, NS11) may include a cell string select transistor (SST), a plurality of memory cells (MC1 to MC8), and a ground select transistor (GST) connected in series.

하나의 비트 라인에 공통으로 연결된 셀 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 셀 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 셀 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 셀 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.Cell strings commonly connected to one bit line constitute one column. For example, the cell strings NS11, NS21, and NS31 commonly connected to the first bit line BL1 correspond to the first column, and the cell strings NS12 and NS31 commonly connected to the second bit line BL2. NS22, NS32) may correspond to the second column, and cell strings (NS13, NS23, NS33) commonly connected to the third bit line (BL3) may correspond to the third column.

하나의 셀 스트링 선택 라인에 연결되는 셀 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 셀 스트링 선택 라인(SSL1)에 연결된 셀 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 셀 스트링 선택 라인(SSL2)에 연결된 셀 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 셀 스트링 선택 라인(SSL3)에 연결된 셀 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.Cell strings connected to one cell string selection line constitute one row. For example, the cell strings NS11, NS12, and NS13 connected to the first cell string selection line (SSL1) correspond to the first row, and the cell strings NS21 and NS21 connected to the second cell string selection line (SSL2). NS22, NS23) may correspond to the second row, and cell strings (NS31, NS32, NS33) connected to the third cell string selection line (SSL3) may correspond to the third row.

셀 스트링 선택 트랜지스터(SST)는 대응하는 셀 스트링 선택 라인(SSL1 ~ SSL3)에 연결된다. 복수의 메모리 셀들(MC1 ~ MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 ~ GSL3)에 연결된다. 셀 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 ~ BL3)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.The cell string selection transistor (SST) is connected to the corresponding cell string selection line (SSL1 to SSL3). A plurality of memory cells (MC1 to MC8) are respectively connected to corresponding word lines (WL1 to WL8). The ground select transistor (GST) is connected to the corresponding ground select line (GSL1 to GSL3). The cell string select transistor (SST) is connected to the corresponding bit lines (BL1 to BL3), and the ground select transistor (GST) is connected to the common source line (CSL).

동일 높이의 워드 라인(예를 들면, WL1)은 서로 공통으로 연결되어 있고, 셀 스트링 선택 라인들(SSL1 ~ SSL3)은 서로 분리되어 있고, 그라운드 선택 라인들(GSL1 ~ GSL3)도 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 셀 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 셀 스트링 선택 라인(SSL1)이 선택된다. 그라운드 선택 라인들(GSL1 ~ GSL3)은 서로 공통으로 연결될 수도 있다.Word lines (e.g., WL1) of the same height are commonly connected to each other, cell string selection lines (SSL1 to SSL3) are separated from each other, and ground selection lines (GSL1 to GSL3) are also separated from each other. . For example, when programming memory cells connected to the first word line (WL1) and belonging to cell strings (NS11, NS12, and NS13), the first word line (WL1) and the first cell string selection line ( SSL1) is selected. The ground selection lines (GSL1 to GSL3) may be commonly connected to each other.

도 6은 메모리 블록(BLK0)을 나타내는 사시도이다.Figure 6 is a perspective view showing the memory block BLK0.

도 6을 참조하면, 메모리 셀 어레이(예를 들어, 도 2의 140)에 포함된 각 메모리 블록은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 도 5에서는, 메모리 블록이 2개의 선택 라인들(GSL, SSL), 8개의 워드 라인들(WL1 ~ WL8), 그리고 3개의 비트 라인들(BL1 ~ BL3)을 포함하는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.Referring to FIG. 6 , each memory block included in the memory cell array (eg, 140 in FIG. 2 ) is formed in a vertical direction with respect to the substrate SUB. In Figure 5, the memory block is shown as including two select lines (GSL, SSL), eight word lines (WL1 to WL8), and three bit lines (BL1 to BL3), but in reality, There may be more or less than these.

기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, Y 방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공된다. 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, Z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.The substrate SUB has a first conductivity type (e.g., p type), extends along the first direction (e.g., Y direction) on the substrate SUB, and has a second conductivity type (e.g., p type). , a common source line (CSL) doped with n-type impurities is provided. On the area of the substrate SUB between two adjacent common source lines CSL, a plurality of insulating films IL extending along the first direction are sequentially provided along the third direction (eg, Z direction). The plurality of insulating films IL are spaced apart from each other by a specific distance along the third direction. For example, the plurality of insulating films IL may include an insulating material such as silicon oxide.

인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 복수의 필라들(pillars)(P)이 제공된다. 예를 들어, 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.A plurality of pillars are sequentially arranged along the first direction on the area of the substrate SUB between the two adjacent common source lines CSL and penetrate the plurality of insulating films IL along the third direction pillars (P) are provided. For example, the plurality of pillars P may penetrate the plurality of insulating films IL and contact the substrate SUB. Specifically, the surface layer (S) of each pillar (P) may include a silicon material of the first type and may function as a channel region. Meanwhile, the inner layer (I) of each pillar (P) may include an insulating material such as silicon oxide or an air gap.

인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층(또는 '터널링 절연층'이라고 지칭함), 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 ~ WL8)과 같은 게이트 전극(GE)이 제공된다.In the area between two adjacent common source lines (CSL), a charge storage layer (CS) is provided along the exposed surfaces of the insulating films (IL), pillars (P), and substrate (SUB). The charge storage layer (CS) may include a gate insulating layer (also referred to as a 'tunneling insulating layer'), a charge trap layer, and a blocking insulating layer. For example, the charge storage layer (CS) may have an oxide-nitride-oxide (ONO) structure. Additionally, in the area between two adjacent common source lines (CSL), gate electrodes such as select lines (GSL, SSL) and word lines (WL1 to WL8) are formed on the exposed surface of the charge storage layer (CS). (GE) is provided.

복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들(DR) 상에, 제2 방향(예를 들어, X 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.Drains or drain contacts DR are provided on the plurality of pillars P, respectively. For example, the drains or drain contacts DR may include a silicon material doped with impurities having a second conductivity type. Bit lines BL1 to BL3 are provided on the drains DR, extending in a second direction (eg, X direction) and spaced apart by a specific distance along the first direction.

도 7은 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 순서도이다.Figure 7 is a flowchart showing a method of operating a storage device according to an exemplary embodiment of the present disclosure.

도 7을 참조하면, 동작 S110에서 스토리지 장치(1)에 포함되는 비휘발성 메모리 장치(10)는 리드 커맨드를 수신할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 스토리지 장치(1)와 연결된 호스트로부터, 리드 요청을 수신하고, 수신된 리드 요청에 응답하여, 리드 커맨드(CMD_r)를 비휘발성 메모리 장치(10)에게 전송할 수 있다. Referring to FIG. 7 , the non-volatile memory device 10 included in the storage device 1 may receive a read command in operation S110. For example, the memory controller 20 may receive a read request from a host connected to the storage device 1 and, in response to the received read request, transmit a read command (CMD_r) to the non-volatile memory device 10. there is.

동작 S120에서, 비휘발성 메모리 장치(10)는 복수의 센싱 동작을 수행하고, 결과 값들을 복수의 래치들에 각각 저장할 수 있다. 다양한 실시예들에 따라, 비휘발성 메모리 장치(10)는 상기 리드 커맨드를 수신함에 응답하여, OVS 모듈(130)에 기반하여 상기 복수의 센싱 동작들을 수행할 수 있다. In operation S120, the non-volatile memory device 10 may perform a plurality of sensing operations and store the resulting values in a plurality of latches. According to various embodiments, the non-volatile memory device 10 may perform the plurality of sensing operations based on the OVS module 130 in response to receiving the read command.

동작 S130에서, 스토리지 장치(1)의 비휘발성 메모리 장치(10)는 결과 값들의 비교 결과에 따라, 복수의 래치들 중 하나의 래치를 선택하고, 선택된 래치에 저장된 데이터를 리드 데이터로 출력할 수 있다. 비휘발성 메모리 장치(10)는 각각의 래치들에 저장된 데이터 값들을 비교하고, 비교 결과 값에 따라 상기 복수의 래치들 중 하나의 래치에 저장된 데이터를 선택할 수 있다. In operation S130, the non-volatile memory device 10 of the storage device 1 selects one latch among a plurality of latches according to a comparison result of the result values, and outputs the data stored in the selected latch as read data. there is. The non-volatile memory device 10 may compare data values stored in each of the latches and select data stored in one of the plurality of latches according to the comparison result.

동작 S140에서, 스토리지 장치(1)의 비휘발성 메모리 장치(10)는 상태 리드 커맨드를 수신하고, 상태 비트를 메모리 컨트롤러(20)에게 전송할 수 있다. 상기 상태 리드 커맨드는, 메모리 컨트롤러(20)가 비휘발성 메모리 장치(10)의 상태를 식별하기 위한 정보를 요청하는 커맨드에 상응할 수 있다. 예를 들어, 비휘발성 메모리 장치(10)는 OVS 리드 동작을 수행하는 동안 상기 상태 리드 커맨드를 수신한 경우, "비지"를 지시하는 상태 비트를 메모리 컨트롤러(20)에게 송신할 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)는 OVS 리드 동작을 완료하고, 상기 상태 리드 커맨드를 수신한 경우, "레디"를 지시하는 상태 비트를 메모리 컨트롤러(20)에게 송신할 수 있다. 비휘발성 메모리 장치(10)가 "레디" 상태인 경우, 상태 비트는 복수의 래치들 중에서 리드 데이터를 출력하도록 선택된 하나의 래치를 지시하는 비트들을 더 포함할 수 있다. In operation S140, the non-volatile memory device 10 of the storage device 1 may receive a status read command and transmit a status bit to the memory controller 20. The status read command may correspond to a command for the memory controller 20 to request information to identify the state of the non-volatile memory device 10. For example, when the non-volatile memory device 10 receives the status read command while performing an OVS read operation, the non-volatile memory device 10 may transmit a status bit indicating “busy” to the memory controller 20. For another example, when the non-volatile memory device 10 completes the OVS read operation and receives the status read command, it may transmit a status bit indicating “ready” to the memory controller 20. When the non-volatile memory device 10 is in a “ready” state, the status bit may further include bits indicating one latch selected to output read data among the plurality of latches.

동작 S150에서 스토리지 장치(1)의 메모리 컨트롤러(20)는 상기 리드 데이터에 대한 ECC 복호를 수행할 수 있다. 메모리 컨트롤러(20)는 상기 리드 데이터를 수신하고, ECC 모듈(210)에 기반하여 상기 ECC 복호를 수행할 수 있다. ECC 복호에 대한 구체적인 설명은, 도 1의 ECC 모듈(210)에 관한 기재를 참조할 수 있다.In operation S150, the memory controller 20 of the storage device 1 may perform ECC decoding on the read data. The memory controller 20 may receive the read data and perform the ECC decoding based on the ECC module 210. For a detailed description of ECC decoding, please refer to the description of the ECC module 210 in FIG. 1.

동작 S160에서, 스토리지 장치(1)의 메모리 컨트롤러(20)는 ECC 복호가 성공한 경우, 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단할 수 있다. 메모리 컨트롤러(20)는 ECC 복호가 성공한 경우, 복호된 리드 데이터를 호스트에게 출력할 수 있다. 본 개시에 따른 실시예에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 수신된 상태 비트에 기반하여, 리드 데이터를 출력하도록 선택된 래치를 식별하고, 리드 전압을 변경할지 여부를 판단할 수 있다. 이에 관해서는, 도 10 내지 도 11에서 후술한다. In operation S160, if ECC decoding is successful, the memory controller 20 of the storage device 1 may determine whether to change the read voltage based on the status bit. If ECC decoding is successful, the memory controller 20 may output the decoded read data to the host. In an embodiment according to the present disclosure, the memory controller 20 identifies the latch selected to output read data and determines whether to change the read voltage, based on the status bits received from the non-volatile memory device 10. You can. This will be described later with reference to FIGS. 10 and 11.

도 8은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러와 비휘발성 메모리 장치간에 신호 교환도이다. 도 7과 중복되는 내용의 기재는 생략될 수 있다.Figure 8 is a signal exchange diagram between a memory controller and a non-volatile memory device according to an exemplary embodiment of the present disclosure. Description of content overlapping with FIG. 7 may be omitted.

도 8을 참조하면, 메모리 컨트롤러(20)가 비휘발성 메모리 장치(10)에게 리드 커맨드를 송신(동작 S201)하면, 비휘발성 메모리 장치(10)는 상기 리드 커맨드에 응답하여, OVS 리드를 수행(동작 S202)할 수 있다. 다양한 실시예들에 따라, 비휘발성 메모리 장치(10)는 비지(busy) 상태 또는 레디(ready) 상태 중 하나의 상태에 대응될 수 있다. 예를 들어, 비휘발성 메모리 장치(10)는 OVS 리드 동작을 수행하는 동안, 상기 "비지" 상태에 대응될 수 있다. 상기 "비지" 상태는, 비휘발성 메모리 장치(10)가 상기 OVS 리드 동작을 수행하는 동안, 페이지 버퍼(120)로 데이터를 래치하는 구간을 지칭할 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)는 상기 OVS 리드 동작을 완료한 경우, "레디" 상태에 대응될 수 있다. 상기 "레디" 상태는, OVS 리드 동작이 완료되어, 페이지 버퍼(120)로 데이터를 래치하지 않는 구간을 지칭할 수 있다. Referring to FIG. 8, when the memory controller 20 transmits a read command to the non-volatile memory device 10 (operation S201), the non-volatile memory device 10 responds to the read command and performs an OVS read ( Operation S202) can be performed. According to various embodiments, the non-volatile memory device 10 may correspond to one of a busy state or a ready state. For example, the non-volatile memory device 10 may correspond to the “busy” state while performing an OVS read operation. The “busy” state may refer to a period in which data is latched into the page buffer 120 while the non-volatile memory device 10 performs the OVS read operation. For another example, the non-volatile memory device 10 may be in a “ready” state when the OVS read operation is completed. The “ready” state may refer to a section in which the OVS read operation is completed and data is not latched into the page buffer 120.

메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에게 상태 리드 커맨드를 송신(동작 S203)할 수 있다. 상기 상태 리드 커맨드는, 비휘발성 메모리 장치(10)의 상태를 식별하기 위한 정보를 요청하는 커맨드에 대응될 수 있다. 상기 상태 리드 커맨드는 CMD_70으로 지칭될 수 있다. 상기 상태 리드 커맨드는, 리드 커맨드가 송신된 시점부터 일정 시간이 경과하면 주기적으로 비휘발성 메모리 장치(10)에게 전송될 수 있다. 일 실시예에 따라, 상기 상태 리드 커맨드는, 1us 주기마다 메모리 컨트롤러(20)로부터 비휘발성 메모리 장치(10)에게 전송될 수 있다. 그러나, 본 개시의 기술적 사상은 이에 제한되지 않으며, 상기 상태 리드 커맨드는, 상기 1us 주기와 상이한 주기로 비휘발성 메모리 장치(10)에게 전송될 수 있다. 예를 들어, 고속 클럭에 기반하여 동작하는 스토리지 장치(1)의 경우, 상기 상태 리드 커맨드는, 1us 주기보다 더 짧은 주기로 전송될 수 있다. 다른 예를 들어, 저속 클럭에 기반하여 동작하는 스토리지 장치의 경우, 상기 상태 리드 커맨드는, 1us 주기보다 더 긴 주기마다 전송될 수 있다.The memory controller 20 may transmit a status read command to the non-volatile memory device 10 (operation S203). The status read command may correspond to a command requesting information for identifying the status of the non-volatile memory device 10. The status read command may be referred to as CMD_70. The status read command may be periodically transmitted to the non-volatile memory device 10 when a certain period of time elapses from the time the read command is transmitted. According to one embodiment, the status read command may be transmitted from the memory controller 20 to the non-volatile memory device 10 every 1us cycle. However, the technical idea of the present disclosure is not limited thereto, and the status read command may be transmitted to the non-volatile memory device 10 at a cycle different from the 1us cycle. For example, in the case of the storage device 1 that operates based on a high-speed clock, the status read command may be transmitted in a period shorter than a 1us period. For another example, in the case of a storage device that operates based on a low-speed clock, the status read command may be transmitted every cycle longer than a 1us cycle.

비휘발성 메모리 장치(10)는 상기 상태 리드 커맨드를 수신함에 응답하여, 상태 비트를 메모리 컨트롤러(20)에게 전송(동작 S204)할 수 있다. 상기 상태 비트는, 비휘발성 메모리 장치(10)의 상태를 지시하기 위한 비트들을 포함할 수 있다. 상기 상태 비트는, DQ0 핀 내지 DQ7 핀들 중 적어도 하나의 핀을 통해 전송될 수 있다. 예를 들어, 비휘발성 메모리 장치(10)가 "비지" 상태인 경우, 비휘발성 메모리 장치(10)는 상기 DQ6 핀을 통해 "1" 의 비트를 전송할 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)가 "레디" 상태인 경우, 비휘발성 메모리 장치(10)는 DQ6 핀을 통해 "0" 비트를 전송할 수 있다. 도 8을 참조하면, 비휘발성 메모리 장치(10)는 OVS 동작을 수행하는 동안, 2번의 상태 리드 커맨드를 수신하고, DQ6 핀을 통해 "1"의 비트를 전송할 수 있다. 메모리 컨트롤러(20)는 DQ6 핀을 통해 수신된 "1"의 상태 비트를 통해, 비휘발성 메모리가 OVS 리드 동작을 수행중임을 식별할 수 있다. 다양한 실시예들에 따라, 비휘발성 메모리 장치(10)는 상태 리드 커맨드를 다시 송신(동작 S205)할 수 있다. 비휘발성 메모리 장치(10)가 상기 OVS 리드 동작을 수행 중인 경우, 비휘발성 메모리 장치(10)는 여전히 "비지" 상태임을 지시하는 상태 비트를 반복적으로 송신(S206)할 수 있다.In response to receiving the status read command, the non-volatile memory device 10 may transmit a status bit to the memory controller 20 (operation S204). The status bit may include bits to indicate the status of the non-volatile memory device 10. The status bit may be transmitted through at least one pin among pins DQ0 to DQ7. For example, when the non-volatile memory device 10 is in a “busy” state, the non-volatile memory device 10 may transmit a bit of “1” through the DQ6 pin. For another example, when the non-volatile memory device 10 is in a “ready” state, the non-volatile memory device 10 may transmit a “0” bit through the DQ6 pin. Referring to FIG. 8, while performing an OVS operation, the non-volatile memory device 10 may receive two status read commands and transmit a bit of “1” through the DQ6 pin. The memory controller 20 can identify that the non-volatile memory is performing an OVS read operation through the status bit of “1” received through the DQ6 pin. According to various embodiments, the non-volatile memory device 10 may transmit the status read command again (operation S205). When the non-volatile memory device 10 is performing the OVS read operation, the non-volatile memory device 10 may repeatedly transmit a status bit indicating that it is still in a “busy” state (S206).

비휘발성 메모리 장치(10)는 OVS 리드 동작을 완료하고, 리드 데이터를 메모리 컨트롤러(20)에게 전송(동작 S207)할 수 있다. 상기 리드 데이터는, 복수의 센싱 동작을 통해 복수의 래치들에 각각 저장된 데이터들의 비교 연산을 통해 선택된 하나의 데이터에 상응할 수 있다. The non-volatile memory device 10 may complete the OVS read operation and transmit read data to the memory controller 20 (operation S207). The read data may correspond to one piece of data selected through a comparison operation of data respectively stored in a plurality of latches through a plurality of sensing operations.

비휘발성 메모리 장치(10)는 OVS 리드 동작이 완료된 이후, 상태 리드 커맨드를 수신(동작 S208)하고, 상태 리드 커맨드에 응답하여 상태 비트를 전송(동작 S209)할 수 있다. 다양한 실시예들에 따라, OVS 리드 동작을 수행하는 비휘발성 메모리 장치(10)가 "레디" 상태인 경우, 상태 비트는, DQ0 핀 내지 DQ3 핀을 통해 전송되는 비트들을 더 포함할 수 있다. 즉, 비휘발성 메모리 장치(10)는 OVS 동작을 완료한 이후 상태 비트를 전송하는 경우, 상태 비트를 전송함으로써 상기 OVS 동작의 결과를 지시할 수 있다. 일 실시예에 따라, 도 9는 DQ0 핀 내지 DQ3 핀을 통해 전송되는 상태 비트들의 일 예를 도시한다. 예를 들어, 비휘발성 메모리 장치(10)가 제1 상태인 경우, 전송되는 상태 비트는 "1010"일 수 있다. 상기 제1 상태는, 제1 센싱 동작에 의해 제1 래치에 저장된 데이터가 리드 데이터로서 메모리 컨트롤러(20)에게 출력되는 상태를 지칭할 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)가 제2 상태인 경우, 전송되는 상태 비트는 "0000"일 수 있다. 상기 제2 상태는, 제2 센싱 동작에 의해 제2 래치에 저장된 데이터가 리드 데이터로서 메모리 컨트롤러(20)에게 출력되는 상태를 지칭할 수 있다. 또 다른 예를 들어, 비휘발성 메모리 장치(10)가 제3 상태인 경우, 전송되는 상태 비트는 "0101"일 수 있다. 상기 제3 상태는, 제3 센싱 동작에 의해 제3 래치에 저장된 데이터가 리드 데이터로서 메모리 컨트롤러(20)에게 출력되는 상태를 지칭할 수 있다. 다양한 실시예들에 따라, 메모리 컨트롤러(20)는 DQ0 핀 내지 DQ3 핀을 통해 전송된 상태 비트를 분석함으로써, 메모리 컨트롤러(20)가 수신한 리드 데이터가, 제1 래치, 제2 래치 또는 제3 래치 중 어떤 래치에서 출력된 데이터인지 식별할 수 있다. After the OVS read operation is completed, the non-volatile memory device 10 may receive a status read command (operation S208) and transmit a status bit in response to the status read command (operation S209). According to various embodiments, when the non-volatile memory device 10 performing an OVS read operation is in a “ready” state, the status bits may further include bits transmitted through pins DQ0 to DQ3. That is, when the non-volatile memory device 10 transmits a status bit after completing an OVS operation, it can indicate the result of the OVS operation by transmitting the status bit. According to one embodiment, Figure 9 shows an example of status bits transmitted through pins DQ0 to DQ3. For example, when the non-volatile memory device 10 is in the first state, the transmitted status bit may be “1010”. The first state may refer to a state in which data stored in the first latch is output to the memory controller 20 as read data through a first sensing operation. For another example, when the non-volatile memory device 10 is in the second state, the transmitted status bit may be “0000”. The second state may refer to a state in which data stored in the second latch is output to the memory controller 20 as read data through a second sensing operation. For another example, when the non-volatile memory device 10 is in the third state, the transmitted status bit may be “0101”. The third state may refer to a state in which data stored in the third latch is output to the memory controller 20 as read data through a third sensing operation. According to various embodiments, the memory controller 20 analyzes the status bits transmitted through the DQ0 pin to the DQ3 pin, so that the read data received by the memory controller 20 is the first latch, the second latch, or the third latch. It is possible to identify which of the latches the data is output from.

메모리 컨트롤러(20)는 ECC 복호를 수행하고, ECC PASS을 판단(동작 S210)할 수 있다. 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 수신한 리드 데이터에 기반하여, ECC 복호를 수행할 수 있다. 도 8에는 미 도시되었지만, ECC 복호가 실패한 경우, 비휘발성 메모리 장치(10)에게 리드 재시도(read retry)를 지시하고, 리드 전압을 변경하여 독출된 리드 데이터를 수신할 수 있다. The memory controller 20 may perform ECC decoding and determine ECC PASS (operation S210). The memory controller 20 may perform ECC decoding based on read data received from the non-volatile memory device 10. Although not shown in FIG. 8, when ECC decoding fails, the non-volatile memory device 10 is instructed to retry a read, and the read data can be received by changing the read voltage.

메모리 컨트롤러(20)는 리드 데이터의 ECC 복호에 성공한 경우, 리드 전압 변경 여부를 판단(동작 S211)할 수 있다. 메모리 컨트롤러(20)는 수신한 리드 데이터의 ECC 복호를 수행하고, 상기 복호가 성공한 경우, 상기 수신한 리드 데이터는 오류가 없거나 정정된 데이터이므로, 호스트에게 출력할 것을 지시할 수 있다. 동시에(simultaneously), 메모리 컨트롤러(20)는 ECC 복호의 수행 이전에 비휘발성 메모리 장치(10)로부터 수신된 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단할 수 있다. 상기 상태 비트는, DQ0 핀 내지 DQ3 핀을 통해 전송된 비트들에 상응할 수 있다. 메모리 컨트롤러(20)는 상태 비트를 참조하여, 제1 래치 내지 제3 래치 중 어느 래치에서 리드 데이터가 출력되었는지 식별할 수 있다. 메모리 컨트롤러(20)는 리드 데이터를 출력한 래치를 식별함으로써 문턱 전압의 산포 이동을 예측하고, 리드 전압의 변경 여부를 결정할 수 있다. 이에 관해서는, 도 10 내지 도 11에서 후술한다. 다양한 실시예들에서, 메모리 컨트롤러(20)가 상기 리드 전압을 변경할 것으로 결정한 경우, 비휘발성 메모리 장치(10)에게 제어 신호를 송신(동작 S212)할 수 있고, 비휘발성 메모리 장치(10)는 상기 제어 신호에 응답하여, 상기 리드 전압을 변경(동작 S213)할 수 있다. If the ECC decoding of the read data is successful, the memory controller 20 may determine whether the read voltage has changed (operation S211). The memory controller 20 performs ECC decoding of the received read data, and if the decoding is successful, the received read data is error-free or corrected data, and may instruct the host to output it. Simultaneously, the memory controller 20 may determine whether to change the read voltage based on the status bit received from the non-volatile memory device 10 before performing ECC decoding. The status bit may correspond to bits transmitted through pins DQ0 to DQ3. The memory controller 20 may refer to the status bit to identify which of the first to third latches the read data was output from. The memory controller 20 can predict the distribution and movement of the threshold voltage by identifying the latch that outputs the read data and determine whether the read voltage will change. This will be described later with reference to FIGS. 10 and 11. In various embodiments, when the memory controller 20 determines to change the read voltage, it may transmit a control signal to the non-volatile memory device 10 (operation S212), and the non-volatile memory device 10 may In response to a control signal, the read voltage may be changed (operation S213).

도 10은 본 개시의 예시적 실시예에 따른 제1 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다. 자세하게는, 도 10은 도 7의 ECC 복호가 성공한 경우, 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단하기 위한 동작 S160의 구체적인 동작 방법을 나타내는 순서도이다. FIG. 10 is a flowchart illustrating a method of operating a storage device performing a first operation mode according to an exemplary embodiment of the present disclosure. In detail, FIG. 10 is a flowchart showing a specific operation method of operation S160 for determining whether to change the read voltage based on the status bit when the ECC decoding of FIG. 7 is successful.

도 10을 참조하면, 동작 S301에서 메모리 컨트롤러(20)는 제1 동작 모드로 동작할 수 있다. 일 실시예에 따라, 메모리 컨트롤러(20)는 상기 제1 동작 모드 또는 제2 동작 모드 중 하나의 동작 모드에 기반하여 동작할 수 있다. 예를 들어, 상기 제1 동작 모드는, 상태 비트에 기반하여 리드 전압을 감소시킬지 또는 유지할지 여부만 판단하는 동작 모드를 지칭할 수 있다. 상기 제2 동작 모드는 하기의 도 11에서 구체적으로 후술한다.Referring to FIG. 10 , the memory controller 20 may operate in the first operation mode in operation S301. According to one embodiment, the memory controller 20 may operate based on one of the first operation mode and the second operation mode. For example, the first operation mode may refer to an operation mode that only determines whether to reduce or maintain the read voltage based on the status bit. The second operation mode will be described in detail later in FIG. 11 below.

메모리 컨트롤러(20)는 동작 모드와 관련된(associated with) 설정 값을 참조(refer)함으로써, 상기 제1 모드에서 동작할 것을 결정할 수 있다. 일 실시예에 따라, 상기 설정 값은, 상기 제1 모드로 동작하도록 미리 설정될 수 있고, 또는 사용자에 의해 변경될 수도 있다. 다른 실시예에 따라, 상기 설정 값은, 주기적으로(periodically) 상기 제1 동작 모드와 상기 제2 동작 모드간에 스위치(switch)하도록 설정될 수도 있다. 또 다른 실시예에 따라, 상기 설정 값은, 메모리 컨트롤러(20)의 부하(overload)량 또는 오버헤드가 크거나 미리 설정된 값을 초과하는 경우, 상기 제1 동작 모드에서 동작하고, 메모리 컨트롤러(20)의 부하량 또는 오버헤드가 작거나 상기 미리 설정된 값 미만인 경우, 상기 제2 동작 모드에서 동작하도록 적응적으로(adaptively) 변경될 수도 있다.The memory controller 20 may determine to operate in the first mode by referring to a setting value associated with the operation mode. According to one embodiment, the setting value may be preset to operate in the first mode, or may be changed by the user. According to another embodiment, the setting value may be set to periodically switch between the first operation mode and the second operation mode. According to another embodiment, the set value operates in the first operation mode when the amount of overload or overhead of the memory controller 20 is large or exceeds a preset value, and the memory controller 20 ) may be adaptively changed to operate in the second operation mode when the load or overhead is small or less than the preset value.

동작 S302에서, 메모리 컨트롤러(20)는 상태 비트에 기반하여, 비휘발성 메모리 장치(10)의 상태를 식별할 수 있다. 상기 상태 비트는, 메모리 컨트롤러(20)가 리드 커맨드를 송신한 이후, 주기적으로 전송되는 상태 리드 커맨드에 응답하여 비휘발성 메모리 장치(10)로부터 송신될 수 있다. 예를 들어, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)가 OVS 리드 동작을 완료한 이후, 비휘발성 메모리 장치(10)에게 상기 상태 리드 커맨드를 송신할 수 있다. 비휘발성 메모리 장치(10)는 OVS 리드 동작이 완료되었음을 식별하고, 상기 상태 리드 커맨드에 응답하여, DQ6 핀으로 "0"의 비트를 전송할 수 있다. 추가적으로, 비휘발성 메모리 장치(10)는 OVS 리드 동작의 결과를 지시하기 위한 상태 비트를 DQ0 핀 내지 DQ3 핀을 통해 더 전송할 수 있다. In operation S302, the memory controller 20 may identify the state of the non-volatile memory device 10 based on the status bit. The status bit may be transmitted from the non-volatile memory device 10 in response to a status read command that is periodically transmitted after the memory controller 20 transmits the read command. For example, the memory controller 20 may transmit the status read command to the non-volatile memory device 10 after the non-volatile memory device 10 completes the OVS read operation. The non-volatile memory device 10 may identify that the OVS read operation has been completed and transmit a bit of “0” to the DQ6 pin in response to the status read command. Additionally, the non-volatile memory device 10 may further transmit a status bit to indicate the result of the OVS read operation through the DQ0 pin to the DQ3 pin.

동작 S303에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제1 상태에 상응하는지 판단할 수 있다. 메모리 컨트롤러(20)는 상기 제1 동작 모드로 동작하는 경우, DQ0 핀 내지 DQ3 핀의 상태 비트가 "1010"인지를 체크할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 DQ0 핀 내지 DQ3 핀의 비트 값과 "1010"의 XOR 연산을 수행하고 결과 값이 "0000"인지 식별할 수 있다. 메모리 컨트롤러(20)는 상기 상태 비트의 값이 "1010"과 동일한 경우, 제1 센싱 동작에 의해 제1 래치에 저장된 데이터가 리드 데이터로서 출력되었음을 식별할 수 있다. 또한, 메모리 컨트롤러(20)는 상기 제1 래치를 이용하여 활성화되는 셀의 개수가 제2 래치 및 제3 래치를 이용하여 활성화되는 셀의 개수보다 적음을 식별할 수 있다. 이하, 임의의 래치를 이용하여 활성화되는 셀은 온-셀로 지칭될 수 있다. In operation S303, the memory controller 20 may determine whether the state of the non-volatile memory device 10 corresponds to the first state. When operating in the first operation mode, the memory controller 20 can check whether the status bits of pins DQ0 to DQ3 are “1010”. For example, the memory controller 20 may perform an If the value of the status bit is equal to “1010,” the memory controller 20 may identify that the data stored in the first latch through the first sensing operation was output as read data. Additionally, the memory controller 20 may identify that the number of cells activated using the first latch is less than the number of cells activated using the second latch and the third latch. Hereinafter, a cell activated using an arbitrary latch may be referred to as an on-cell.

동작 S304에서 메모리 컨트롤러(20)는 리드 전압을 미리 정해진 오프셋 크기만큼 감소시킬 수 있다. 예를 들어, 상기 미리 정해진 오프셋 크기는 0.1V에 상응할 수 있다. 상술한 실시예들에서, 오프셋 크기는 0.1V로 기재되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에 따라, 상기 오프셋 크기는 0.1V와 상이한 값을 가지도록 설정될 수 있다. 예를 들어, SLC(single level cell) 기반의 비휘발성 메모리의 경우, 프로그램 별 리드 전압간 간격이 크기 때문에, 상기 오프셋 크기는 0.1V 보다 크도록 설정될 수 있다. 다른 예를 들어, QLC(quad level cell) 기반의 비휘발성 메모리의 경우, 프로그램 별 리드 전압의 간격이 크지 않으므로, 상기 오프셋 크기는 0.1V보다 작은 값으로 설정될 수 있다.In operation S304, the memory controller 20 may reduce the read voltage by a predetermined offset size. For example, the predetermined offset size may correspond to 0.1V. In the above-described embodiments, the offset size is described as 0.1V, but is not limited thereto. According to various embodiments, the offset size may be set to have a value different from 0.1V. For example, in the case of SLC (single level cell)-based non-volatile memory, since the interval between read voltages for each program is large, the offset size may be set to be greater than 0.1V. For another example, in the case of a non-volatile memory based on a quad level cell (QLC), the interval between read voltages for each program is not large, so the offset size may be set to a value smaller than 0.1V.

동작 S305에서, 메모리 컨트롤러(20)는 리드 전압을 유지할 수 있다. 메모리 컨트롤러(20)는 상기 상태 비트의 값이 "1010"과 일치하지 않는 경우, 상기 리드 전압의 변경을 바이패스할 수 있다. 메모리 컨트롤러(20)는 상태 비트 값이 "1010"이 아닌 경우, 제1 래치가 아닌 제2 래치 또는 제3 래치에서 리드 데이터가 출력되었음을 식별할 수 있다. 상기 제1 래치에서 리드 데이터가 출력되지 않은 경우, 메모리 컨트롤러(20)는 리드 전압을 감소시킬 필요가 없으므로, 리드 전압을 유지하고, 절차를 종료할 수 있다.In operation S305, the memory controller 20 may maintain the read voltage. If the value of the status bit does not match “1010,” the memory controller 20 may bypass the change in the read voltage. If the status bit value is not “1010,” the memory controller 20 may identify that read data is output from the second or third latch rather than the first latch. When read data is not output from the first latch, the memory controller 20 does not need to reduce the read voltage, so it can maintain the read voltage and end the procedure.

도 10에서 상술한 실시예에 따르면, 메모리 컨트롤러(20)는 상태 비트에 기반하여, 비휘발성 메모리가 제1 상태에 상응하는지 여부만을 식별하기 때문에, 리드 전압을 감소시키거나 유지할지 여부만을 결정할 수 있다. 다양한 실시예들에 따라, 문턱 전압 값은 리텐션(retention) 등을 이유로 낮아질 수도 있을 뿐만 아니라, 문턱 전압 값이 높아질 수도 있다. 따라서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태 비트에 기반하여, 리드 전압을 증가시킬 것이 요구될 수 있다.According to the embodiment described above in Figure 10, the memory controller 20 can only determine whether to reduce or maintain the read voltage because it only identifies whether the non-volatile memory corresponds to the first state based on the status bit. there is. According to various embodiments, not only may the threshold voltage value be lowered for reasons such as retention, but the threshold voltage value may also be increased. Accordingly, the memory controller 20 may be required to increase the read voltage based on the status bits of the non-volatile memory device 10.

도 11은 본 개시의 예시적 실시예에 따른 제2 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다. 보다 자세하게는, 도 11은 도 7의 ECC 복호가 성공한 경우, 상태 비트에 기반하여 리드 전압을 변경할지 여부를 판단하기 위한 동작 S160의 구체적인 동작 방법을 나타내는 순서도이다. FIG. 11 is a flowchart illustrating a method of operating a storage device performing a second operation mode according to an exemplary embodiment of the present disclosure. More specifically, FIG. 11 is a flowchart showing a specific operation method of operation S160 for determining whether to change the read voltage based on the status bit when the ECC decoding of FIG. 7 is successful.

도 11을 참조하면, 동작 S401에서, 메모리 컨트롤러(20)는 제2 동작 모드로 동작할 수 있다. 상기 제2 동작 모드는, 상태 비트에 기반하여, 리드 전압을 감소시킬지 또는 증가시킬지 여부를 모두 판단하는 동작 모드를 지칭할 수 있다. 즉, 메모리 컨트롤러(20)는 상기 제2 동작 모드에서 동작하는 경우, 리드 전압을 감소시키거나, 리드 전압을 유지하거나, 또는 리드 전압을 증가시킬지 여부를 모두 결정할 수 있다. Referring to FIG. 11 , in operation S401, the memory controller 20 may operate in a second operation mode. The second operation mode may refer to an operation mode that determines whether to decrease or increase the read voltage based on the status bit. That is, when operating in the second operation mode, the memory controller 20 can determine whether to reduce the read voltage, maintain the read voltage, or increase the read voltage.

동작 S402에서, 메모리 컨트롤러(20)는 상태 비트에 기반하여 비휘발성 메모리 장치(10)의 상태를 식별할 수 있다. 동작 S402은 도 10의 동작 S302에 상응할 수 있다. . In operation S402, the memory controller 20 may identify the state of the non-volatile memory device 10 based on the status bit. Operation S402 may correspond to operation S302 of FIG. 10 . .

동작 S403에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제2 상태인지 여부를 판단할 수 있다. 다양한 실시예들에 따라, 메모리 컨트롤러(20)가 상기 제2 동작 모드로 동작하는 동안, DQ0 핀 내지 DQ3 핀의 상태 비트가 "000"인지를 체크할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 DQ0 핀 내지 DQ3 핀의 비트 값과 "000"의 XOR 연산을 수행하고 결과 값이 "0000"인지 식별할 수 있다. 메모리 컨트롤러(20)는 상기 상태 비트의 값이 "000"과 동일한 경우, 제2 센싱 동작에 의해 제2 래치에 저장된 데이터가 리드 데이터로서 출력되었음을 식별할 수 있다. 또한, 메모리 컨트롤러(20)는 상기 제2 래치를 이용한 온-셀의 개수가 제1 래치 및 제3 래치를 이용한 온-셀의 개수보다 적음을 식별할 수 있다. In operation S403, the memory controller 20 may determine whether the state of the non-volatile memory device 10 is in the second state. According to various embodiments, while the memory controller 20 operates in the second operation mode, it may be checked whether the status bits of pins DQ0 to DQ3 are “000”. For example, the memory controller 20 may perform an If the value of the status bit is equal to “000”, the memory controller 20 may identify that the data stored in the second latch through the second sensing operation has been output as read data. Additionally, the memory controller 20 may identify that the number of on-cells using the second latch is less than the number of on-cells using the first latch and the third latch.

동작 S404에서, 메모리 컨트롤러(20)는 리드 전압을 유지할 수 있다. 비휘발성 메모리 장치(10)의 상태가 제2 상태인 경우, 상기 리드 데이터는, 제2 래치에서 출력된 데이터에 상응할 수 있다. 기 설정된 리드 전압이 문턱 전압의 산포 그래프 상에서 밸리(valley)에 상응하는 경우, 상기 제2 래치에 저장된 데이터가 상기 리드 데이터로 출력될 수 있다. 따라서, 메모리 컨트롤러(20)는 기 설정된 리드 전압이 최적의 리드 전압임을 식별하고, 리드 전압의 변경을 바이패스(bypass)할 수 있다.In operation S404, the memory controller 20 may maintain the read voltage. When the state of the non-volatile memory device 10 is the second state, the read data may correspond to data output from the second latch. If the preset read voltage corresponds to a valley on the threshold voltage distribution graph, the data stored in the second latch may be output as the read data. Accordingly, the memory controller 20 can identify that the preset read voltage is the optimal read voltage and bypass the change in read voltage.

동작 S405에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제1 상태인지 여부를 판단할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 수신된 상태 비트와 "1010"의 XOR 연산을 수행하여, 제1 상태에 상응하는지 여부를 판단할 수 있다.In operation S405, the memory controller 20 may determine whether the state of the non-volatile memory device 10 is the first state. For example, the memory controller 20 may perform an XOR operation of the received status bit and “1010” to determine whether it corresponds to the first state.

동작 S406에서, 메모리 컨트롤러(20)는 제1 래치를 이용하여 활성화된 셀-카운트 정보를 획득할 수 있다. 메모리 컨트롤러(20)는 상태 비트가 제1 상태를 지시하는 경우, 기 설정된 리드 전압보다 낮은 전압이 최적의 리드 전압임을 결정할 수 있다. 다만, ECC 복호를 성공하였음에도 불구하고, 상태 비트가 제1 상태를 지시할 때마다 리드 전압을 변경하는 경우, 리드 동작의 성능을 열화시킬 수 있다. 따라서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에게 제1 래치를 이용하여 활성화된 메모리 셀들의 개수에 대한 정보를 요청하는 커맨드를 송신할 수 있다. 상기 커맨드는, UIB(universal internal bus) OUT 커맨드로 지칭될 수 있다. 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 상기 커맨드에 응답하여 송신되는 상기 제1 래치를 이용하여 활성화된 메모리 셀들의 개수에 대한 정보를 획득할 수 있다.In operation S406, the memory controller 20 may obtain activated cell-count information using the first latch. When the status bit indicates the first state, the memory controller 20 may determine that a voltage lower than a preset read voltage is the optimal read voltage. However, even though ECC decoding is successful, if the read voltage is changed every time the status bit indicates the first state, the performance of the read operation may be degraded. Accordingly, the memory controller 20 may transmit a command to the non-volatile memory device 10 to request information about the number of activated memory cells using the first latch. The command may be referred to as a universal internal bus (UIB) OUT command. The memory controller 20 may obtain information about the number of activated memory cells using the first latch transmitted in response to the command from the non-volatile memory device 10.

동작 S407에서 메모리 컨트롤러(20)는 온-셀의 개수가 임계 값을 초과하는지 여부를 판단할 수 있다. 상기 임계 값은 빈번한 리드 전압의 변경으로 인한 리드 성능의 열화와 최적의 리드 전압 유지를 통한 리드 성능의 향상을 고려하여, 임의의 적정한 값으로 미리 결정될 수 있다. In operation S407, the memory controller 20 may determine whether the number of on-cells exceeds the threshold. The threshold may be predetermined to be any appropriate value, taking into account the deterioration of read performance due to frequent changes in read voltage and the improvement of read performance through maintaining an optimal read voltage.

동작 S408에서, 메모리 컨트롤러(20)는 상기 리드 전압을 미리 정해진 오프셋 크기만큼 감소시킬 수 있다. 메모리 컨트롤러(20)는 상기 온-셀의 개수가 상기 임계 값을 초과하는 경우, 리드 데이터가 ECC 복호에 성공하였음에도 불구하고, ECC 에러 정정의 한계에 가까우므로, 상기 리드 전압을 미리 감소할 것을 결정할 수 있다. 전술한 바와 같이, 상기 미리 정해진 오프셋 크기는, 0.1V에 상응할 수 있으나, 이에 제한되는 것은 아니다.In operation S408, the memory controller 20 may reduce the read voltage by a predetermined offset size. When the number of on-cells exceeds the threshold, the memory controller 20 determines to reduce the read voltage in advance because the read data is close to the limit of ECC error correction even though ECC decoding was successful. You can. As described above, the predetermined offset size may correspond to 0.1V, but is not limited thereto.

동작 S409에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제3 상태에 상응하는 것을 식별할 수 있다. 메모리 컨트롤러(20)는 동작 S403 및 동작 S405를 수행하여, 비휘발성 메모리 장치(10)가 제1 상태 및 제2 상태에 상응하지 않음을 식별하였으므로, 상태 비트가 제3 상태를 지시하는지 판단하기 위한 XOR 연산을 생략할 수 있다. In operation S409, the memory controller 20 may identify that the state of the non-volatile memory device 10 corresponds to the third state. The memory controller 20 performs operations S403 and S405 to determine whether the status bit indicates the third state since the non-volatile memory device 10 has identified that it does not correspond to the first state and the second state. The XOR operation can be omitted.

동작 S410에서, 메모리 컨트롤러(20)는 제3 래치를 이용한 온-셀 카운트 정보를 획득할 수 있다. 메모리 컨트롤러(20)는 상태 비트가 제3 상태를 지시하는 경우, 설정된 리드 전압보다 높은 전압이 최적의 리드 전압임을 결정할 수 있다. 다만, ECC 복호를 성공하였음에도 불구하고, 상태 비트가 제3 상태를 지시할 때마다 리드 전압을 변경하는 경우, 리드 동작의 성능을 열화시킬 수 있다. 따라서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에게 제3 래치를 이용한 온-셀들의 개수에 대한 정보를 요청하는 커맨드를 송신하고, 셀들의 개수에 대한 정보를 획득할 수 있다. 상기 커맨드는, UIB OUT 커맨드로 지칭될 수 있다.In operation S410, the memory controller 20 may obtain on-cell count information using the third latch. When the status bit indicates the third state, the memory controller 20 may determine that a voltage higher than the set read voltage is the optimal read voltage. However, even though ECC decoding is successful, if the read voltage is changed every time the status bit indicates the third state, the performance of the read operation may be degraded. Accordingly, the memory controller 20 may transmit a command to the non-volatile memory device 10 to request information about the number of on-cells using the third latch and obtain information about the number of cells. The command may be referred to as the UIB OUT command.

동작 S411에서, 메모리 컨트롤러(20)는 온-셀의 개수가 임계 값을 초과하는지 여부를 판단할 수 있다. 상기 임계 값은 빈번한 리드 전압의 변경으로 인한 리드 성능의 열화와 최적의 리드 전압 유지를 통한 리드 성능의 향상을 고려하여, 임의의 적정한 값으로 미리 결정될 수 있다.In operation S411, the memory controller 20 may determine whether the number of on-cells exceeds the threshold. The threshold may be predetermined to be any appropriate value, taking into account the deterioration of read performance due to frequent changes in read voltage and the improvement of read performance through maintaining an optimal read voltage.

동작 S412에서, 메모리 컨트롤러(20)는 리드 전압을 미리 정해진 오프셋 크기만큼 증가시킬 수 있다. 동작 S412에 관한 설명은, 동작 S408에 기재된 설명으로 대체될 수 있다.In operation S412, the memory controller 20 may increase the read voltage by a predetermined offset size. The description of operation S412 may be replaced with the description of operation S408.

도 11에서 상술한 실시예에 따르면, 메모리 컨트롤러(20)는 상태 비트에 기반하여, 비휘발성 메모리 장치(10)가 제1 상태 또는 제3 상태에 상응함을 식별한 경우, 비휘발성 메모리 장치(10)에게 활성화된 메모리 셀들의 개수에 대한 정보를 요청하는 커맨드를 송신하도록 구성될 수 있다.According to the embodiment described above in FIG. 11, when the memory controller 20 identifies that the non-volatile memory device 10 corresponds to the first state or the third state based on the status bit, the non-volatile memory device ( 10) may be configured to transmit a command requesting information about the number of activated memory cells.

다만, 리드 동작을 수행할 때마다, 리드 전압의 변경 여부를 결정하기 위해, 커맨드를 송신하고, 활성화된 메모리 셀들의 개수에 대한 정보를 수신하는 것은, 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(10)에 있어서, 오버헤드(overhead)로 작용할 수 있다. 따라서, 오버헤드의 감소를 위해, 활성화된 메모리 셀들의 개수를 위한 커맨드를 생략하는 방안이 요구될 수 있다.However, each time a read operation is performed, the memory controller 20 and the non-volatile memory device (20) transmit a command to determine whether to change the read voltage and receive information about the number of activated memory cells. In 10), it may act as overhead. Therefore, in order to reduce overhead, a method of omitting the command for the number of activated memory cells may be required.

도 12는 본 개시의 예시적 실시예에 따른 변경된 상태 비트를 도시하는 테이블이다.Figure 12 is a table showing changed status bits according to an example embodiment of the present disclosure.

도 9에서 전술한 바와 같이, 복수의 래치들 중 리드 데이터를 출력하도록 선택된 하나의 래치를 나타내기 위한 상태 비트는, DQ0 핀 내지 DQ3 핀을 통해 비휘발성 메모리 장치(10)로부터 메모리 컨트롤러(20)에게 전송될 수 있다. 이하, DQ0 핀을 통해 전송되는 비트는 제1 비트, DQ1 핀을 통해 전송되는 비트는 제2 비트, DQ2 핀을 통해 전송되는 비트는 제3 비트, DQ3 핀을 통해 전송되는 비트는 제4 비트로 지칭될 수 있다.As described above in FIG. 9, a status bit for indicating one latch selected to output read data among a plurality of latches is transmitted from the non-volatile memory device 10 to the memory controller 20 through the DQ0 pin to the DQ3 pin. can be sent to Hereinafter, the bit transmitted through the DQ0 pin is referred to as the first bit, the bit transmitted through the DQ1 pin is referred to as the second bit, the bit transmitted through the DQ2 pin is referred to as the third bit, and the bit transmitted through the DQ3 pin is referred to as the fourth bit. It can be.

도 12를 참조하면, 비휘발성 메모리 장치(10)의 상태는, 제1 비트 및 제2 비트의 조합(combination)으로 지시될 수 있다. 예를 들어, 비휘발성 메모리 장치(10)의 제1 상태는, "10"의 제1 비트 및 제2 비트를 통해 지시될 수 있다. 다른 예를 들어, 비휘발성 메모리 장치(10)의 제2 상태는, "00"의 제1 비트 및 제2 비트를 통해 지시될 수 있다. 또 다른 예를 들어, 비휘발성 메모리 장치(10)의 제3 상태는, "01"의 제1 비트 및 제2 비트를 통해 지시될 수 있다. 다만, 각각의 상태를 지시하는 제1 비트 및 제2 비트의 논리 값은 이에 제한되는 것은 아니다. Referring to FIG. 12, the state of the non-volatile memory device 10 may be indicated by a combination of the first bit and the second bit. For example, the first state of the non-volatile memory device 10 may be indicated through the first and second bits of “10”. For another example, the second state of the non-volatile memory device 10 may be indicated through the first and second bits of “00”. As another example, the third state of the non-volatile memory device 10 may be indicated through the first and second bits of “01”. However, the logical values of the first bit and the second bit indicating each state are not limited thereto.

도 12를 참조하면, 제3 비트는, 비휘발성 메모리 장치(10)가 제1 상태인 경우, 리드 전압의 감소 여부를 지시하기 위한 비트에 상응할 수 있다. 다양한 실시예들에 따라, 상기 제3 비트는, 제1 래치를 이용한 온-셀의 개수와 임계 값을 비교한 결과를 나타내기 위한 비트에 상응할 수 있다. 예를 들어, 상기 제3 비트가 "0"의 논리 값을 가지는 경우, 상기 임계 값이 상기 제1 래치를 이용한 온-셀의 개수를 초과함을 지시할 수 있다. 다른 예를 들어, 상기 제3 비트가 "1"의 논리 값을 가지는 경우, 상기 제1 래치를 이용한 온-셀의 개수가 상기 임계 값을 초과함을 지시할 수 있다.Referring to FIG. 12, the third bit may correspond to a bit for indicating whether the read voltage decreases when the non-volatile memory device 10 is in the first state. According to various embodiments, the third bit may correspond to a bit representing the result of comparing the number of on-cells using the first latch and a threshold value. For example, when the third bit has a logical value of “0”, it may indicate that the threshold value exceeds the number of on-cells using the first latch. For another example, when the third bit has a logical value of “1”, it may indicate that the number of on-cells using the first latch exceeds the threshold.

도 12를 참조하면, 제4 비트는, 비휘발성 메모리 장치(10)가 제3 상태인 경우, 리드 전압의 증가 여부를 지시하기 위한 비트에 상응할 수 있다. 다양한 실시예들에 따라, 상기 제4 비트는, 제3 래치를 이용한 온-셀의 개수와 임계 값을 비교한 결과를 나타내기 위한 비트에 상응할 수 있다. 예를 들어, 상기 제4 비트가 "0"의 논리 값을 가지는 경우, 상기 임계 값이 상기 제3 래치를 이용한 온-셀의 개수를 초과함을 지시할 수 있다. 다른 예를 들어, 상기 제4 비트가 "1"의 논리 값을 가지는 경우, 상기 제3 래치를 이용한 온-셀의 개수가 상기 임계 값을 초과함을 지시할 수 있다.Referring to FIG. 12, the fourth bit may correspond to a bit for indicating whether the read voltage increases when the non-volatile memory device 10 is in the third state. According to various embodiments, the fourth bit may correspond to a bit representing the result of comparing the number of on-cells using the third latch and a threshold value. For example, when the fourth bit has a logical value of “0”, it may indicate that the threshold value exceeds the number of on-cells using the third latch. For another example, when the fourth bit has a logical value of “1”, it may indicate that the number of on-cells using the third latch exceeds the threshold.

전술한 실시예에서, 제1 비트 및 제2 비트의 조합을 통해 비휘발성 메모리 장치(10) 상태를 지시하고, 제3 비트를 통해 비휘발성 메모리 장치(10)가 제1 상태인 경우, 리드 전압의 감소 여부를 지시하고, 제4 비트를 통해 비휘발성 메모리 장치(10)가 제3 상태인 경우, 리드 전압의 증가 여부를 지시하는 것으로 기재되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에서, 비휘발성 메모리 장치(10)는 제1 비트 및 제2 비트를 사용하지 않고, reserved bit로 설정할 수 있다. 이 경우, 비휘발성 메모리 장치(10)는 제3 비트를 "1"로 설정함으로써 비휘발성 메모리 장치(10)의 제1 상태 및 리드 전압의 감소를 동시에(simultaneously) 지시할 수 있고, 제4 비트를 "1"로 설정함으로써 비휘발성 메모리 장치(10)의 제3 상태 및 리드 전압의 증가를 동시에 지시할 수도 있다. In the above-described embodiment, the state of the non-volatile memory device 10 is indicated through a combination of the first bit and the second bit, and when the non-volatile memory device 10 is in the first state through the third bit, the read voltage It is described as indicating whether to decrease and whether to increase the read voltage when the non-volatile memory device 10 is in the third state through the fourth bit, but is not limited thereto. In various embodiments, the non-volatile memory device 10 may not use the first bit and the second bit and may set them as reserved bits. In this case, the non-volatile memory device 10 may simultaneously indicate a decrease in the first state and read voltage of the non-volatile memory device 10 by setting the third bit to “1” and the fourth bit. By setting to "1", the third state of the non-volatile memory device 10 and an increase in the read voltage may be simultaneously indicated.

도 13은 본 개시의 예시적 실시예에 따른 변경된 상태 비트에 기반하여 제2 동작 모드를 수행하는 스토리지 장치의 동작 방법을 나타내는 순서도이다. 도 11과 중복되는 내용의 기재는 생략될 수 있다. FIG. 13 is a flowchart illustrating a method of operating a storage device that performs a second operation mode based on changed status bits according to an exemplary embodiment of the present disclosure. Description of content overlapping with FIG. 11 may be omitted.

동작 S501에서, 메모리 컨트롤러(20)는 제2 동작 모드할 수 있다. 메모리 컨트롤러(20)는 동작 모드에 대한 설정 값을 참조하여, 상기 제2 동작 모드로 동작할 수 있다. 동작 S501은 도 11의 동작 S401과 상응할 수 있다. In operation S501, the memory controller 20 may be in a second operation mode. The memory controller 20 may operate in the second operation mode by referring to the setting value for the operation mode. Operation S501 may correspond to operation S401 of FIG. 11 .

동작 S502에서, 메모리 컨트롤러(20)는 상태 비트에 기반하여 비휘발성 메모리 장치(10)의 상태를 식별할 수 있다. 상기 상태 비트는, 도 12의 변경된 상태 비트에 상응할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 변경된 상태 비트를 수신한 경우, 제1 비트 및 제2 비트를 참조하여 비휘발성 메모리 장치(10)의 상태를 식별할 수 있다.In operation S502, the memory controller 20 may identify the state of the non-volatile memory device 10 based on the status bit. The status bit may correspond to the changed status bit in FIG. 12. For example, when receiving a changed status bit, the memory controller 20 may identify the state of the non-volatile memory device 10 by referring to the first bit and the second bit.

동작 S503에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제2 상태인지 판단할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 상기 변경된 상태 비트를 수신한 경우, 제1 비트 및 제2 비트를 "00"의 논리 값과 XOR 연산을 수행함으로써 비휘발성 메모리 장치(10)가 제2 상태임을 식별할 수 있다.In operation S503, the memory controller 20 may determine whether the state of the non-volatile memory device 10 is the second state. For example, when the memory controller 20 receives the changed state bit, the non-volatile memory device 10 changes to the second state by performing an can be identified.

동작 S504에서, 메모리 컨트롤러(20)는 리드 전압을 유지할 수 있다. 메모리 컨트롤러(20)는 제1 비트 및 제2 비트가 "00"의 논리 값을 가지는 경우, 비휘발성 메모리 장치(10)는 제2 상태에 상응할 수 있고, 기 설정된 리드 전압으로 데이터를 독출하여, 활성화된 메모리 셀들의 개수가 가장 적으므로 상기 기 설정된 리드 전압을 최적의 리드 전압으로 결정할 수 있다. 따라서, 메모리 컨트롤러(20)는 리드 전압을 유지하고, 리드 전압의 변경을 바이패스할 수 있다.In operation S504, the memory controller 20 may maintain the read voltage. When the first bit and the second bit have a logical value of “00”, the memory controller 20 may correspond to the second state and read data with a preset read voltage. , Since the number of activated memory cells is the smallest, the preset read voltage can be determined as the optimal read voltage. Accordingly, the memory controller 20 can maintain the read voltage and bypass changes in the read voltage.

동작 S505에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제1 상태에 상응하는지 여부를 결정할 수 있다. 예를 들어, 메모리 컨트롤러(20)는 상기 변경된 상태 비트를 수신한 경우, 제1 비트 및 제2 비트를 "10"의 논리 값과 XOR 연산을 수행함으로써 비휘발성 메모리가 제1 상태임을 식별할 수 있다.In operation S505, the memory controller 20 may determine whether the state of the non-volatile memory device 10 corresponds to the first state. For example, when receiving the changed state bit, the memory controller 20 can identify that the non-volatile memory is in the first state by performing an XOR operation on the first bit and the second bit with the logical value of “10”. there is.

동작 S506에서 메모리 컨트롤러(20)는 DQ2 핀을 통해 전송되는 상태 비트가 "1"인지 판단할 수 있다. 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 상기 제1 상태에 상응함을 식별한 이후, 리드 전압을 감소시킬지 여부를 판단하기 위해, DQ2 핀을 통해 전송되는 비트의 논리 값을 식별할 수 있다. 다양한 실시예들에 따라, 메모리 컨트롤러(20)는 상기 변경된 상태 비트를 수신하고, DQ2 핀을 통해 전송되는 상태 비트 값을 확인함으로써, 제1 래치를 이용하여 활성화되는 메모리 셀들의 개수에 대한 정보를 요청하는 커맨드의 송신을 바이패스할 수 있다. 상기 변경된 상태 비트의 DQ2 핀의 상태 비트는, 직접적으로 제1 래치를 이용하여 활성화되는 메모리 셀들의 개수와 임계 값을 비교한 결과를 지시하기 때문이다. 따라서, 상기 변경된 상태 비트를 이용하는 경우, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에게 UIB OUT 커맨드를 송신하지 않을 수 있고, 제1 래치를 이용하여 활성화된 메모리 셀들의 개수와 임계 값의 비교 연산을 생략함으로써, 메모리 컨트롤러(20)와 비휘발성 메모리 장치(10)간에 시그널링에 기인하는 오버헤드를 감소시킬 수 있다.In operation S506, the memory controller 20 may determine whether the status bit transmitted through the DQ2 pin is “1”. After identifying that the state of the non-volatile memory device 10 corresponds to the first state, the memory controller 20 sets the logical value of the bit transmitted through the DQ2 pin to determine whether to reduce the read voltage. can be identified. According to various embodiments, the memory controller 20 receives the changed status bit and checks the status bit value transmitted through the DQ2 pin, thereby providing information about the number of memory cells activated using the first latch. Transmission of the requested command can be bypassed. This is because the status bit of the DQ2 pin of the changed status bit directly indicates the result of comparing the number of memory cells activated using the first latch and the threshold value. Accordingly, when using the changed status bit, the memory controller 20 may not transmit the UIB OUT command to the non-volatile memory device 10, and may change the number of memory cells activated using the first latch and the threshold value. By omitting the comparison operation, overhead due to signaling between the memory controller 20 and the non-volatile memory device 10 can be reduced.

동작 S507에서, 메모리 컨트롤러(20)는 리드 전압을 미리 정해진 오프셋 크기만큼 감소시킬 수 있다. 메모리 컨트롤러(20)는 DQ2 핀을 통해 전송되는 비트가 "1"의 논리 값을 가지는 경우, 리드 전압을 감소할 것을 결정할 수 있다. DQ2 핀을 통해 전송되는 "1"의 비트는, 제1 래치를 이용하여 활성화되는 메모리 셀들의 개수가 임계 값을 초과함을 나타낼 수 있다. 따라서, 메모리 컨트롤러(20)는 상기 미리 정해진 오프셋 크기만큼 강하된 전압을 리드 전압으로 설정함으로써, 제1 래치를 이용하여 활성화되는 메모리 셀들의 개수를 임계 값 이하로 감소시킬 수 있다. In operation S507, the memory controller 20 may reduce the read voltage by a predetermined offset size. The memory controller 20 may determine to decrease the read voltage when the bit transmitted through the DQ2 pin has a logic value of “1”. A bit of “1” transmitted through the DQ2 pin may indicate that the number of memory cells activated using the first latch exceeds the threshold. Accordingly, the memory controller 20 can reduce the number of memory cells activated using the first latch to below the threshold value by setting the voltage dropped by the predetermined offset size as the read voltage.

동작 S508에서, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 제3 상태에 상응함을 식별할 수 있다. 동작 S508에 관한 구체적인 설명은, 도 11의 동작 S409의 기재를 참조하여 설명될 수 있다.In operation S508, the memory controller 20 may identify that the state of the non-volatile memory device 10 corresponds to the third state. A detailed description of operation S508 can be explained with reference to the description of operation S409 in FIG. 11 .

동작 S509에서, 메모리 컨트롤러(20)는 DQ3 핀을 통해 전송되는 상태 비트가 "1"인지 판단할 수 있다. 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)의 상태가 상기 제3 상태에 상응함을 식별한 이후, 리드 전압을 증가시킬지 여부를 판단하기 위해, DQ3 핀을 통해 전송되는 비트의 논리 값을 식별할 수 있다. 다양한 실시예들에 따라, 메모리 컨트롤러(20)는 상기 변경된 상태 비트를 수신하고, DQ3 핀을 통해 전송되는 상태 비트 값을 확인함으로써, 제3 래치를 이용하여 활성화되는 메모리 셀들의 개수에 대한 정보를 요청하는 커맨드의 송신을 바이패스할 수 있다. 상기 변경된 상태 비트의 DQ3 핀의 상태 비트는, 직접적으로 제3 래치를 이용하여 활성화되는 메모리 셀들의 개수와 임계 값을 비교한 결과를 지시하기 때문이다. 따라서, 상기 변경된 상태 비트를 이용하는 경우, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에게 UIB OUT 커맨드를 송신하지 않을 수 있고, 제3 래치를 이용하여 활성화된 메모리 셀들의 개수와 임계 값의 비교 연산을 생략함으로써, 메모리 컨트롤러(20)와 비휘발성 메모리 장치(10)간에 시그널링에 기인하는 오버헤드를 감소시킬 수 있다.In operation S509, the memory controller 20 may determine whether the status bit transmitted through the DQ3 pin is “1”. After identifying that the state of the non-volatile memory device 10 corresponds to the third state, the memory controller 20 sets the logical value of the bit transmitted through the DQ3 pin to determine whether to increase the read voltage. can be identified. According to various embodiments, the memory controller 20 receives the changed status bit and checks the status bit value transmitted through the DQ3 pin, thereby providing information about the number of memory cells activated using the third latch. Transmission of the requested command can be bypassed. This is because the status bit of the DQ3 pin of the changed status bit directly indicates the result of comparing the number of memory cells activated using the third latch and the threshold value. Therefore, when using the changed status bit, the memory controller 20 may not transmit the UIB OUT command to the non-volatile memory device 10, and the number of activated memory cells and the threshold value may be set using the third latch. By omitting the comparison operation, overhead due to signaling between the memory controller 20 and the non-volatile memory device 10 can be reduced.

동작 S510에서, 메모리 컨트롤러(20)는 리드 전압을 미리 정해진 오프셋 크기만큼 증가시킬 수 있다. 동작 S510에 관한 구체적인 설명은, 도 11의 동작 S412의 기재를 참조하여 설명될 수 있다.In operation S510, the memory controller 20 may increase the read voltage by a predetermined offset size. A detailed description of operation S510 can be explained with reference to the description of operation S412 in FIG. 11 .

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specification. Although embodiments have been described in this specification using specific terms, this is only used for the purpose of explaining the technical idea of the present disclosure and is not used to limit the meaning or scope of the present disclosure as set forth in the claims. . Therefore, those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present disclosure should be determined by the technical spirit of the attached patent claims.

Claims (10)

메모리 컨트롤러; 및
비휘발성 메모리 장치를 포함하고,
상기 비휘발성 메모리 장치는,
복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
상기 복수의 메모리 셀들 중에서 선택된 메모리 셀들에 대한 복수의 센싱 동작을 수행하고, 상기 복수의 센싱 동작의 결과 값들을 각각 저장하는 복수의 래치들을 포함하는 페이지 버퍼;
상기 복수의 래치들에 저장된 데이터를 각각 비교하고, 상기 비교 결과에 따라 상기 복수의 래치들 중 하나의 래치를 선택하고, 상기 선택된 래치에 저장된 리드 데이터를 상기 메모리 컨트롤러에게 전송하고, 복수의 래치들 중 상기 선택된 래치를 나타내는(representing) 상태 비트를 생성하는 제어 로직; 및
상기 생성된 상태 비트를 저장하고, 상기 메모리 컨트롤러로부터 상태 리드 커맨드를 수신한 경우, 상기 상태 비트를 상기 메모리 컨트롤러에게 전송하는 상태 비트 레지스터를 포함하고,
상기 메모리 컨트롤러는,
상기 선택된 데이터에 대한 ECC(error correction code) 복호를 수행하고,
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제1 래치로부터 출력되는 제1 상태를 지시하는 경우, 상기 제1 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제1 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 리드 전압을 미리 정의된 오프셋 크기만큼 감소시키고,
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제3 래치로부터 출력되는 제3 상태를 지시하는 경우, 상기 제3 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제3 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 증가시키는, 스토리지 장치.
memory controller; and
Includes a non-volatile memory device,
The non-volatile memory device,
a memory cell array including a plurality of memory cells;
a page buffer including a plurality of latches that perform a plurality of sensing operations on memory cells selected from among the plurality of memory cells and store result values of the plurality of sensing operations, respectively;
Data stored in the plurality of latches are compared, one latch of the plurality of latches is selected according to the comparison result, read data stored in the selected latch is transmitted to the memory controller, and the plurality of latches Control logic that generates a status bit representing the selected latch; and
a status bit register that stores the generated status bit and transmits the status bit to the memory controller when a status read command is received from the memory controller;
The memory controller is,
Perform ECC (error correction code) decoding on the selected data,
When the ECC decoding is successful and the status bit indicates the first state in which the read data is output from the first latch among the plurality of latches, the number and threshold value of cells activated using the first latch Compare and, if the number of cells activated using the first latch is greater than the threshold, reduce the read voltage by a predefined offset size,
When the ECC decoding is successful and the status bit indicates a third state in which the read data is output from a third latch among the plurality of latches, the number and threshold value of cells activated using the third latch and, if the number of cells activated using the third latch is greater than the threshold, increasing the read voltage by a predefined offset size.
제1항에 있어서,
상기 메모리 컨트롤러는,
상기 리드 전압의 감소 또는 유지를 판단하는 제1 동작 모드 및 상기 리드 전압의 감소, 유지 또는 증가를 판단하는 제2 동작 모드 중 하나의 동작 모드에서 동작하는 스토리지 장치.
According to paragraph 1,
The memory controller is,
A storage device operating in one of a first operation mode that determines whether to decrease or maintain the read voltage and a second operation mode that determines whether to decrease, maintain, or increase the read voltage.
제2항에 있어서,
상기 메모리 컨트롤러는,
상기 제1 동작 모드에서 동작하는 동안, 상기 비휘발성 메모리 장치가 제1 상태에 상응함을 식별하고, 상기 리드 전압에서 미리 정의된 오프셋 크기만큼 감소시키고,
상기 제1 상태는, 상기 리드 데이터가 상기 복수의 래치들 중 제1 래치로부터 출력되는 상태에 상응하는 스토리지 장치.
According to paragraph 2,
The memory controller is,
While operating in the first mode of operation, identify that the non-volatile memory device corresponds to a first state and decrease the read voltage by a predefined offset amount;
The first state corresponds to a state in which the read data is output from a first latch among the plurality of latches.
제2항에 있어서,
상기 메모리 컨트롤러는,
상기 제2 동작 모드에서 동작하는 동안, 상기 상태 비트가, 제2 상태를 지시하는지 여부를 판단하고,
상기 상태 비트가 상기 제2 상태를 지시하는 경우, 상기 제2 상태에 기반하여, 상기 리드 전압의 변경을 바이패스(bypass)하고,
상기 제2 상태는, 상기 리드 데이터가 상기 복수의 래치들 중 제2 래치로부터 출력되는 상태에 상응하는 스토리지 장치.
According to paragraph 2,
The memory controller is,
While operating in the second mode of operation, determine whether the status bit indicates a second state;
When the status bit indicates the second state, bypassing the change in the read voltage based on the second state,
The second state corresponds to a state in which the read data is output from a second latch among the plurality of latches.
제4항에 있어서,
상기 메모리 컨트롤러는,
상기 상태 비트가 제1 상태를 지시하는지 여부를 판단하고,
상기 상태 비트가 상기 제1 상태를 지시하는 경우, 상기 복수의 래치들 중 제1 래치를 이용하여 활성화되는 셀의 개수에 대한 정보를 요청하는 커맨드를 상기 비휘발성 메모리 장치에게 송신하고,
상기 제1 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 작은 경우, 상기 리드 전압의 변경을 바이패스하는 스토리지 장치.
According to clause 4,
The memory controller is,
Determine whether the status bit indicates a first state,
When the status bit indicates the first state, transmitting a command requesting information about the number of cells activated using a first latch among the plurality of latches to the non-volatile memory device,
A storage device that bypasses the change in the read voltage when the number of cells activated using the first latch is less than the threshold value.
제5항에 있어서,
상기 메모리 컨트롤러는,
상기 상태 비트가 제3 상태를 지시함을 식별하고,
상기 복수의 래치들 중 제3 래치를 이용하여 활성화되는 셀의 개수에 대한 정보를 요청하는 커맨드를 상기 비휘발성 메모리에게 송신하고,
상기 임계 값이 상기 제3 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압의 변경을 바이패스하는 스토리지 장치.
According to clause 5,
The memory controller is,
Identifying that the status bit indicates a third state,
Transmitting a command requesting information about the number of cells activated using a third latch among the plurality of latches to the non-volatile memory,
A storage device that bypasses the change in the read voltage when the number of cells activated using the third latch is greater than the threshold value.
제1항에 있어서,
상기 상태 비트는, 제1 비트, 제2 비트, 제3 비트 및 제4 비트를 포함하고,
상기 제1 비트 및 제2 비트는, 제1 상태 내지 제3 상태 중 하나의 상태를 지시하고,
상기 제3 비트는, 상기 비휘발성 메모리가 상기 제1 상태인 경우, 임계 값과 상기 복수의 래치들 중 제1 래치를 이용하여 활성화되는 셀의 개수의 비교 결과를 지시하고,
상기 제4 비트는, 상기 비휘발성 메모리가 상기 제3 상태인 경우, 상기 임계 값과 상기 복수의 래치들 중 제3 래치를 이용하여 활성화되는 셀의 개수의 비교 결과를 지시하는 스토리지 장치.
According to paragraph 1,
The status bits include a first bit, a second bit, a third bit, and a fourth bit,
The first bit and the second bit indicate one of the first to third states,
The third bit indicates a comparison result between a threshold value and the number of cells activated using a first latch among the plurality of latches when the non-volatile memory is in the first state,
The fourth bit indicates a comparison result between the threshold value and the number of cells activated using a third latch among the plurality of latches when the non-volatile memory is in the third state.
제7항에 있어서,
상기 메모리 컨트롤러는,
상기 제3 비트에 기반하여, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 감소시킬지 여부를 판단하고,
상기 제4 비트에 기반하여, 상기 리드 전압을 상기 미리 정의된 오프셋 크기만큼 증가시킬지 여부를 판단하는 스토리지 장치.
In clause 7,
The memory controller is,
Based on the third bit, determine whether to reduce the read voltage by a predefined offset size,
A storage device that determines whether to increase the read voltage by the predefined offset size based on the fourth bit.
OVS(On chip valley search) 리드 동작을 수행하는 비휘발성 메모리 장치로부터 수신한 리드 데이터에 기반하여 ECC(error correction code) 복호를 수행하는 ECC 모듈; 및
상기 비휘발성 메모리 장치로부터, 상기 비휘발성 메모리 장치에 포함되어 상기 OVS 리드 동작의 결과 값들을 각각 저장하는 복수의 래치들 중에서 상기 리드 데이터를 래치한 하나의 래치를 나타내는 상태 비트를 수신하고, 상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여, 리드 전압을 변경할지 여부를 판단하는 리드 전압 변경 모듈을 포함하고,
상기 리드 전압 변경 모듈은,
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제1 래치로부터 출력되는 제1 상태를 지시하는 경우, 상기 제1 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제1 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 감소시키고,
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제3 래치로부터 출력되는 제3 상태를 지시하는 경우, 상기 제3 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제3 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 증가시키는, 메모리 컨트롤러 장치.
An ECC module that performs error correction code (ECC) decoding based on read data received from a non-volatile memory device that performs an on chip valley search (OVS) read operation; and
Receive, from the non-volatile memory device, a status bit indicating one latch that latched the read data among a plurality of latches included in the non-volatile memory device and each storing result values of the OVS read operation, and the ECC When decoding is successful, it includes a read voltage change module that determines whether to change the read voltage based on the status bit,
The lead voltage change module,
When the ECC decoding is successful and the status bit indicates the first state in which the read data is output from the first latch among the plurality of latches, the number and threshold value of cells activated using the first latch Compare and, if the number of cells activated using the first latch is greater than the threshold, reduce the read voltage by a predefined offset size,
When the ECC decoding is successful and the status bit indicates a third state in which the read data is output from a third latch among the plurality of latches, the number and threshold value of cells activated using the third latch and, if the number of cells activated using the third latch is greater than the threshold, increasing the read voltage by a predefined offset size.
메모리 컨트롤러의 동작 방법에 있어서,
OVS 리드 동작을 수행하는 비휘발성 메모리로부터, 리드 데이터 및 복수의 래치들 중에서 상기 리드 데이터가 출력된 하나의 래치를 지시하는 상태 비트를 수신하는 단계;
상기 리드 데이터에 기반하여, ECC 복호를 수행하는 단계;
상기 ECC 복호가 성공한 경우, 상기 상태 비트에 기반하여, 리드 전압을 변경할지 여부를 판단하는 단계를 포함하고,
상기 리드 전압을 변경할지 여부를 판단하는 단계는,
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제1 래치로부터 출력되는 제1 상태를 지시하는 경우, 상기 제1 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제1 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 감소시키는 단계; 및
상기 ECC 복호가 성공하고, 상기 상태 비트가 상기 리드 데이터가 상기 복수의 래치들 중 제3 래치로부터 출력되는 제3 상태를 지시하는 경우, 상기 제3 래치를 이용하여 활성화되는 셀의 개수와 임계 값을 비교하고, 상기 제3 래치를 이용하여 활성화되는 셀의 개수가 상기 임계 값보다 큰 경우, 상기 리드 전압을 미리 정의된 오프셋 크기만큼 증가시키는 단계를 더 포함하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법.
In the operation method of the memory controller,
Receiving, from a non-volatile memory performing an OVS read operation, read data and a status bit indicating one latch from among a plurality of latches to which the read data is output;
performing ECC decoding based on the read data;
When the ECC decoding is successful, determining whether to change the read voltage based on the status bit,
The step of determining whether to change the lead voltage is,
When the ECC decoding is successful and the status bit indicates the first state in which the read data is output from the first latch among the plurality of latches, the number and threshold value of cells activated using the first latch Comparing , and if the number of cells activated using the first latch is greater than the threshold, reducing the read voltage by a predefined offset size; and
When the ECC decoding is successful and the status bit indicates a third state in which the read data is output from a third latch among the plurality of latches, the number and threshold value of cells activated using the third latch comparing, and if the number of cells activated using the third latch is greater than the threshold, increasing the read voltage by a predefined offset size. .
KR1020180142510A 2018-11-19 2018-11-19 Storage device and operating method thereof KR102608958B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180142510A KR102608958B1 (en) 2018-11-19 2018-11-19 Storage device and operating method thereof
US16/687,265 US10990327B2 (en) 2018-11-19 2019-11-18 Storage device and method of operating the same
CN201911132167.2A CN111199764A (en) 2018-11-19 2019-11-19 Storage device and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180142510A KR102608958B1 (en) 2018-11-19 2018-11-19 Storage device and operating method thereof

Publications (2)

Publication Number Publication Date
KR20200058028A KR20200058028A (en) 2020-05-27
KR102608958B1 true KR102608958B1 (en) 2023-12-01

Family

ID=70726583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142510A KR102608958B1 (en) 2018-11-19 2018-11-19 Storage device and operating method thereof

Country Status (3)

Country Link
US (1) US10990327B2 (en)
KR (1) KR102608958B1 (en)
CN (1) CN111199764A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200956B2 (en) 2020-04-23 2021-12-14 Micron Technology, Inc. Read level calibration in memory devices using embedded servo cells
US11430531B2 (en) * 2020-09-08 2022-08-30 Western Digital Technologies, Inc. Read integration time calibration for non-volatile storage
KR20220056919A (en) * 2020-10-28 2022-05-09 삼성전자주식회사 Non-volatile memory device, controller for controlling the ame, storage device having the same, and reading method thereof
KR20220058753A (en) * 2020-10-30 2022-05-10 삼성전자주식회사 Non-volatile memory device, storage device having the same, and reading method thereof
KR102491655B1 (en) * 2021-10-01 2023-01-27 삼성전자주식회사 Storage controller determining an error count, method of operating the same, and method of operating storage device having the same
EP4336507A1 (en) * 2022-09-06 2024-03-13 Samsung Electronics Co., Ltd. Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof
CN115163868B (en) * 2022-09-07 2022-12-02 烟台海悦能源科技有限公司 Intelligent balance valve of remote control

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101516577B1 (en) * 2008-11-10 2015-05-06 삼성전자주식회사 Nonvolatile semi-conductor memory device and method for calculating read voltage non-volatile semiconductor memory device
KR101727704B1 (en) * 2010-10-04 2017-04-18 삼성전자주식회사 Method for changing read parameter for improving read performance and apparatuses using the same
KR101984900B1 (en) 2012-07-24 2019-05-31 삼성전자 주식회사 Memory device and method of determining read voltage of the same
KR101979734B1 (en) 2012-08-07 2019-05-17 삼성전자 주식회사 Method for controlling a read voltage of memory device and data read operating method using method thereof
KR102174030B1 (en) 2014-05-13 2020-11-05 삼성전자주식회사 Storage device including nonvolatile memory device and read method thereof
KR20160005264A (en) 2014-07-04 2016-01-14 삼성전자주식회사 Storage device and read methods thereof
US9971647B2 (en) * 2014-07-31 2018-05-15 Winbond Electronics Corporation Apparatus and method for programming ECC-enabled NAND flash memory
KR102290974B1 (en) 2014-11-07 2021-08-19 삼성전자주식회사 Operating method for nonvolatile memory device, memory controller, and nonvolatile memory system including them
KR102239356B1 (en) 2015-02-17 2021-04-13 삼성전자주식회사 Storage device and Memory system including clock control unit or voltage control unit, and operating method thereof
KR102435027B1 (en) * 2015-11-09 2022-08-23 삼성전자주식회사 Nonvolatile memory device and read method thereof
KR102609130B1 (en) 2016-02-17 2023-12-05 삼성전자주식회사 Data storage device including read voltage search unit
KR102585221B1 (en) 2016-04-21 2023-10-05 삼성전자주식회사 Memory Device, Memory System and Method of Operating Memory Device
KR20180040288A (en) * 2016-10-12 2018-04-20 삼성전자주식회사 Methods of controlling reclaim of nonvolatile memory devices, methods of operating storage devices and storage devices
KR20180083689A (en) 2017-01-13 2018-07-23 삼성전자주식회사 Non-volatile memory device for reading operation with optimized read voltage
KR102302187B1 (en) * 2017-03-13 2021-09-14 삼성전자주식회사 Methods of operating nonvolatile memory devices and nonvolatile memory devices

Also Published As

Publication number Publication date
KR20200058028A (en) 2020-05-27
US20200159464A1 (en) 2020-05-21
CN111199764A (en) 2020-05-26
US10990327B2 (en) 2021-04-27

Similar Documents

Publication Publication Date Title
KR102608958B1 (en) Storage device and operating method thereof
US11004520B2 (en) Nonvolatile semiconductor memory device including a memory cell array and a control circuit applying a reading voltage
KR102289598B1 (en) Non-volatile memory device and memory system including the same and program method thereof
KR102336662B1 (en) Non-volatile memory device and method of operating the non-volatile memory device
KR102154620B1 (en) Erase methof of nonvolatile memory device and storage device having the same
KR101891164B1 (en) Flash memory device including program scheduler
US10497452B2 (en) Semiconductor memory device and method of operating the same
KR20130085154A (en) Nonvolatile memory device, novolatile memory system, program method thereof, and operation method of controller controlling the same
KR20190057701A (en) Non-volatile memory device and erase method thereof
KR102261816B1 (en) Non-volatile memory device improving data reliability and Operating method thereof
KR20180061469A (en) Nonvolatile memory device performing partial read operation and reading method thereof
KR102460717B1 (en) Memory Controller calculating optimal read level, Memory System having the same and Operating Method of Memory Controller
KR20110096414A (en) Nonvolatile memory device and read method thereof
KR102389433B1 (en) Semiconductor memory device and operating method thereof
KR102402667B1 (en) Nonvolatile memory device and operating method of the same
KR20180035492A (en) Memory device and operating method thereof
KR100948483B1 (en) Semiconductor memory device
KR102434986B1 (en) Memory device improving data reliabliity and operating method thereof
KR20230071013A (en) Non-volatile memory device improving data reliability and Operating method thereof
JP2016173868A (en) Nonvolatile semiconductor memory device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant