KR20210100790A - 스토리지 장치 및 스토리지 장치의 동작 방법 - Google Patents

스토리지 장치 및 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20210100790A
KR20210100790A KR1020200014421A KR20200014421A KR20210100790A KR 20210100790 A KR20210100790 A KR 20210100790A KR 1020200014421 A KR1020200014421 A KR 1020200014421A KR 20200014421 A KR20200014421 A KR 20200014421A KR 20210100790 A KR20210100790 A KR 20210100790A
Authority
KR
South Korea
Prior art keywords
read
storage area
data
memory
block
Prior art date
Application number
KR1020200014421A
Other languages
English (en)
Inventor
이광우
홍진우
이윤정
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200014421A priority Critical patent/KR20210100790A/ko
Priority to US16/996,266 priority patent/US11508451B2/en
Priority to CN202011294090.1A priority patent/CN113223590A/zh
Priority to EP21155075.1A priority patent/EP3863017B1/en
Publication of KR20210100790A publication Critical patent/KR20210100790A/ko

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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0614Improving the reliability 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output 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/10Programming or data input 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3413Circuits or methods to recover overprogrammed nonvolatile memory cells detected during program verification, usually by means of a "soft" erasing step
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

본 발명은 스토리지 장치에 관한 것이다. 본 발명의 스토리지 장치는 제1 저장 영역 및 제2 저장 영역을 포함하는 불휘발성 메모리 장치, 그리고 불휘발성 메모리 장치를 제어하도록 구성되고, 불휘발성 메모리 장치의 제1 저장 영역에 저장된 데이터를 읽고, 그리고 읽혀진 데이터를 제2 저장 영역에 기입하는 읽기 리클레임을 수행하도록 구성되는 제어기를 포함한다. 읽기 리클레임 동작 시에, 제어기는 제1 저장 영역에 대한 샘플 읽기 동작들을 수행하도록 불휘발성 메모리 장치를 제어하고, 그리고 샘플 읽기 동작들의 결과들에 기반하여 데이터가 제2 저장 영역에 기입되는 위치들을 결정하도록 더 구성된다.

Description

스토리지 장치 및 스토리지 장치의 동작 방법{STORAGE DEVICE AND OPERATING METHOD OF STORAGE DEVICE}
본 발명은 반도체 장치에 관한 것으로, 더 상세하게는 읽기 리클레임 동작을 수행할 때에 향상된 신뢰성을 확보하는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다.
스토리지 장치는 컴퓨터, 스마트 폰, 스마트 패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 스토리지 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
불휘발성 메모리는 읽기 전용 메모리(Read Only Memory, ROM)), 프로그램 가능한 ROM(Programmable ROM, PROM), 전기적으로 프로그램 가능한 ROM (Electrically Programmable ROM, EPROM), 전기적으로 소거 및 프로그램 가능한 ROM (Electrically Erasable and Programmable ROM, EEPROM), 플래시 메모리, 상 변화 랜덤 액세스 메모리(Phase-change Random Access Memory, PRAM), 자기 RAM (Magnetic RAM, MRAM), 저항성 RAM (Resistive RAM, RRAM), 강유전체 RAM (Ferroelectric RAM, FRAM) 등을 포함한다.
불휘발성 메모리에 기입된 데이터는 시간이 흐름에 따라 열화된다. 예를 들어, 시간이 흐름에 따라, 불휘발성 메모리에 기입된 데이터의 신뢰도가 감소할 수 있다. 데이터가 소실되는 것을 방지하기 위하여, 불휘발성 메모리에 기입된 데이터의 신뢰도가 감소하면, 해당 데이터를 불휘발성 메모리의 다른 저장 공간에 다시 기입하는 읽기 리클레임 동작이 수행될 수 있다.
본 발명의 목적은 읽기 리클레임 동작이 수행될 때에, 데이터의 신뢰도를 향상시키는 스토리지 장치 및 스토리지 장치의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 스토리지 장치는 제1 저장 영역 및 제2 저장 영역을 포함하는 불휘발성 메모리 장치, 그리고 불휘발성 메모리 장치를 제어하도록 구성되고, 불휘발성 메모리 장치의 제1 저장 영역에 저장된 데이터를 읽고, 그리고 읽혀진 데이터를 제2 저장 영역에 기입하는 읽기 리클레임을 수행하도록 구성되는 제어기를 포함한다. 읽기 리클레임 동작 시에, 제어기는 제1 저장 영역에 대한 샘플 읽기 동작들을 수행하도록 불휘발성 메모리 장치를 제어하고, 그리고 샘플 읽기 동작들의 결과들에 기반하여 데이터가 제2 저장 영역에 기입되는 위치들을 결정하도록 더 구성된다.
각각 둘 이상의 존들을 포함하는 제1 저장 영역 및 제2 저장 영역을 포함하는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법은 제1 저장 영역에 대해 둘 이상의 샘플 읽기 동작들을 수행하여, 제1 저장 영역의 둘 이상의 존들의 읽기 카운트들을 추정하는 단계, 그리고 제1 저장 영역의 데이터를 제2 저장 영역에 기입하는 읽기 리클레임 동작을 수행하는 단계를 포함한다. 읽기 리클레임 동작 시에, 읽기 카운트들에 기반하여 제1 저장 영역의 둘 이상의 존들의 각각의 데이터가 제2 저장 영역에 기입되는 위치들이 조절된다.
본 발명의 실시 예에 따른 스토리지 장치는 메모리 블록들을 포함하고, 메모리 블록들의 각각은 셀 스트링들을 포함하고, 셀 스트링들의 각각은 기판 위에서 기판과 수직한 방향으로 적층되는 메모리 셀들을 포함하는 불휘발성 메모리 장치, 그리고 메모리 블록들 중 제1 메모리 블록의 데이터를 제2 메모리 블록에 기입하는 읽기 리클레임 동작 시에, 제1 메모리 블록에서 샘플 읽기 동작들을 수행하여 제1 메모리 블록의 데이터의 읽기 카운트들을 추정하고, 그리고 읽기 카운트들에 따라 데이터가 제2 메모리 블록에 기입되는 위치들을 결정하도록 구성되는 제어기를 포함한다.
본 발명에 따르면, 읽기 동작의 빈도가 높은 데이터가 읽기 리클레임 동작 시에 열화에 대한 강건성(robustness)이 더 높은 저장 공간에 기입된다. 따라서, 읽기 리클레임 동작 시에 데이터의 신뢰도를 향상시키는 스토리지 장치 및 스토리지 장치의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치를 보여준다.
도 2는 스토리지 장치에서 읽기 리클레임 동작이 수행되는 예를 보여준다.
도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 4는 도 3의 메모리 블록들 중 하나의 메모리 블록의 예를 보여주는 회로도이다.
도 5는 도 4의 메모리 블록의 일부의 구조를 보여주는 사시단면도이다.
도 6은 도 4 및 도 5의 셀 스트링들 중 하나를 간략하게 보여준다.
도 7은 리클레임 블록이 제1 저장 영역을 제1존 및 제2존으로 분할한 예를 보여준다.
도 8은 도 2의 제2 읽기 명령에 의해 읽기 동작이 수행될 때에 사용되는 읽기 전압들의 예를 보여준다.
도 9는 도 2의 제1 읽기 명령에 의해 샘플 읽기 동작이 수행될 때에 사용되는 샘플 읽기 전압들의 예를 보여준다.
도 10은 스토리지 장치가 샘플 읽기 동작들을 적응적으로 수행하는 예를 보여준다.
도 11은 도 7의 셀 스트링의 존들이 추가 샘플 읽기 동작들을 통해 분할된 예를 보여준다.
도 12는 스토리지 장치가 샘플 읽기 동작들을 적응적으로 수행하는 다른 예를 보여준다.
도 13은 리클레임 블록의 예를 보여준다.
도 14는 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링으로 옮겨지는 예를 보여준다.
도 15는 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링으로 옮겨지는 다른 예를 보여준다.
도 16은 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링으로 옮겨지는 또 다른 예를 보여준다.
도 17은 셀 스트링이 계층적으로 구성되는 예를 보여준다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치(100)를 보여준다. 도 1을 참조하면, 스토리지 장치(100)는 제1 불휘발성 메모리 장치들(110), 제2 불휘발성 메모리 장치들(120), 제어기(130), 그리고 버퍼 메모리(140)를 포함할 수 있다.
제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)은 플래시 메모리, 상 변화 메모리, 강유전체 메모리, 자기 메모리, 저항성 메모리 등과 같은 다양한 불휘발성 메모리들을 포함할 수 있다. 본 발명의 기술적 사상을 용이하게 전달하기 위하여, 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)은 플래시 메모리 장치들로 가정되지만, 본 발명의 기술적 사상은 플래시 메모리 장치들로 한정되지 않는다.
제1 불휘발성 메모리 장치들(110)은 제1 신호선들(S1) 및 제2 신호선들(S2)을 통해 제어기(130)와 통신할 수 있다. 제1 신호선들(S1)은 명령, 주소 및 데이터를 전달(예를 들어, 시 분할 방식으로)할 수 있다. 제2 신호선들(S2)은 명령, 주소 및 데이터를 제외한 제어 신호들을 전달할 수 있다.
제2 불휘발성 메모리 장치들(120)은 제1 신호선들(S1) 및 제2 신호선들(S2)을 통해 제어기(130)와 통신할 수 있다. 제1 신호선들(S1)은 명령, 주소 및 데이터를 전달(예를 들어, 시 분할 방식으로)할 수 있다. 제2 신호선들(S2)은 명령, 주소 및 데이터를 제외한 제어 신호들을 전달할 수 있다.
제1 불휘발성 메모리 장치들(110)의 제1 신호선들(S1) 및 제2 신호선들(S2)은 제1 채널을 형성할 수 있다. 제2 불휘발성 메모리 장치들(120)의 제1 신호선들(S1) 및 제2 신호선들(S2)은 제2 채널을 형성할 수 있다. 제1 채널 및 제2 채널은 서로 독립적일 수 있다. 즉, 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)은 서로 독립적으로 제어기(130)의 제어에 응답하여 쓰기 동작, 읽기 동작, 소거 동작 등과 같은 다양한 동작들을 수행할 수 있다.
제어기(130)는 외부의 호스트 장치의 요청에 따라 그리고 내부적으로 정해지는 스케줄에 따라, 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)을 제어할 수 있다. 제어기(130)는 버퍼 메모리(140)를 이용하여 외부의 호스트 장치와 통신하고, 그리고 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)과 통신할 수 있다.
제어기(130)는 내부 버스(131), 호스트 인터페이스(132), 내부 메모리(133), 프로세서(134), 버퍼 제어기(135), 제1 메모리 관리자(136), 그리고 제2 메모리 관리자(137)를 포함할 수 있다.
내부 버스(131)는 제어기(130)의 구성 요소들 사이에 신호들을 교환하는 채널들을 제공할 수 있다. 호스트 인터페이스(132)는 외부의 호스트 장치로부터 명령 및 주소를 포함하는 요청들을 수신하고, 수신된 요청들을 프로세서(134)에 전달할 수 있다. 호스트 인터페이스(132)는 외부의 호스트 장치로부터 수신되는 데이터를 내부 버스(131) 및 버퍼 제어기(135)를 통해 버퍼 메모리(140)에 저장할 수 있다. 호스트 인터페이스(132)는 버퍼 메모리(140)로부터 버퍼 제어기(135) 및 내부 버스(131)를 통해 수신되는 데이터를 외부의 호스트 장치로 전달할 수 있다.
내부 메모리(133)는 제어기(130)의 주 메모리일 수 있다. 프로세서(134)는 내부 메모리(133)에 스토리지 장치(100)의 펌웨어를 구동하기 위한 코드들을 로드할 수 있다. 프로세서(134)는 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)을 관리하기 위한 제1 메타 정보를 내부 메모리(133)에 로드할 수 있다. 내부 메모리(133)는 DRAM 또는 SRAM을 포함할 수 있다.
프로세서(134)는 버퍼 제어기(135)를 통해 버퍼 메모리(140)를 액세스할 수 있다. 프로세서(134)는 외부의 호스트 장치와 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)의 사이에서 교환되는 데이터를 버퍼 메모리(140)에 임시로 저장하는 버퍼링을 수행할 수 있다.
프로세서(134)는 외부의 호스트 장치에서 사용되는 제1 주소들(예를 들어, 논리 주소들)과 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)에서 사용되는 제2 주소들(예를 들어, 물리 주소들) 사이의 매핑 정보를 포함하는 제2 메타 정보를 버퍼 메모리(140)에 로드하고 참조할 수 있다. 버퍼 메모리(140)는 DRAM, PRAM, MRAM, RRAM, FRAM 등과 같은 랜덤 액세스 메모리를 포함할 수 있다.
프로세서(134)는 제1 불휘발성 메모리 장치들(110)을 액세스하기 위한 명령들, 예를 들어 쓰기 명령들, 읽기 명령들 및 소거 명령들(그리고 이들과 연관된 주소들)을 제1 메모리 관리자(136)에 전달할 수 있다. 제1 메모리 관리자(136)는 명령 및 주소에 응답하여 제1 불휘발성 메모리 장치들(110)을 액세스할 수 있다.
제1 메모리 관리자(136)는 쓰기 동작 시에 버퍼 메모리(140)에 저장된 데이터를 버퍼 제어기(135) 및 내부 버스(131)를 통해 수신하고, 그리고 제1 불휘발성 메모리 장치들(110) 중 선택된 불휘발성 메모리 장치로 전달할 수 있다. 제1 메모리 관리자(136)는 읽기 동작 시에 제1 불휘발성 메모리 장치들(110) 중 선택된 불휘발성 메모리 장치로부터 수신되는 데이터를 내부 버스(131) 및 버퍼 제어기(135)를 통해 버퍼 메모리(140)에 전달할 수 있다.
제2 메모리 관리자(137)는 프로세서(134)의 제어에 따라 제2 불휘발성 메모리 장치들(120)을 제어할 수 있다. 제2 메모리 관리자(137)는 제1 메모리 관리자(136)와 동일한 방식으로 그리고 제1 메모리 관리자(136)와 독립적으로 제2 불휘발성 메모리 장치들(120)을 제어할 수 있다. 따라서, 중복되는 설명은 생략된다.
프로세서(134)는 리클레임 블록(200)을 포함할 수 있다. 리클레임 블록(200)은 읽기 리클레임 동작을 제어할 수 있다. 예를 들어, 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)의 저장 영역들 중 특정한 저장 영역에 데이터가 기입된 후에 수행된 총 읽기 동작의 횟수가 제1 문턱값 이상일 때, 특정한 저장 영역의 읽기 리클레임 동작이 수행(또는 예약)될 수 있다.
제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)의 저장 영역들 중 특정한 저장 영역에서 발생하는 읽기 에러들의 수가 제2 문턱값 이상일 때, 특정한 저장 영역의 읽기 리클레임 동작이 수행(또는 예약)될 수 있다.
제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)의 저장 영역들 중 특정한 저장 영역에서 읽기 에러들의 수가 정정 가능한 범위를 초과하고, 그리고 강화된 에러 복구 기능이 활성화된 다시 읽기를 통해 읽기 에러들이 저장된 때에, 특정한 저장 영역의 읽기 리클레임 동작이 수행(또는 예약)될 수 있다.
제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)의 저장 영역들 중 특정한 저장 영역에서 정정 불가능한 읽기 에러가 발생한 때에, 특정한 저장 영역의 읽기 리클레임 동작이 수행(또는 예약)될 수 있다.
읽기 리클레임은 제1 저장 영역의 데이터를 제2 저장 영역으로 옮기는(또는 복사하는) 동작들을 포함할 수 있다. 리클레임 블록(200)은 특정한 저장 영역에서 읽기 리클레임 동작이 수행될 때, 옮겨지는(또는 복사되는) 데이터의 신뢰성을 강화하도록 구성될 수 있다.
도 1에서, 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120)이 제1 채널들 및 제2 채널들을 통해 제어기(130)와 통신하는 것으로 도시된다. 그러나 스토리지 장치(100)는 단일 채널을 포함하도록 또는 둘보다 많은 수의 채널들을 포함하도록 수정될 수 있다.
도 1에서, 하나의 채널에 둘 이상의 불휘발성 메모리 장치들이 연결되는 것으로 도시된다. 그러나 스토리지 장치(100)는 하나의 채널에 하나의 불휘발성 메모리 장치가 연결되도록 수정될 수 있다.
도 1에서, 제어기(130)의 외부에 버퍼 메모리(140)가 존재하는 것으로 도시된다. 그러나 버퍼 메모리(140)는 생략될 수 있다. 버퍼 메모리(140)에서 수행되는 것으로 기술된 다양한 기능들은 내부 메모리(133)에서 대신 수행될 수 있다.
도 2는 스토리지 장치(100)에서 읽기 리클레임 동작이 수행되는 예를 보여준다. 도 2의 읽기 리클레임 동작은 도 1의 읽기 리클레임 블록(200)에 의해 수행될 수 있다. 예시적으로, 도 1의 제1 불휘발성 메모리 장치들(110) 및 제2 불휘발성 메모리 장치들(120) 중 선택된 불휘발성 메모리 장치(110/120)에서 읽기 리클레임 동작이 수행되는 예가 도 2에 도시된다.
도 1 및 도 2를 참조하면, S110 단계에서, 스토리지 장치(100)는 샘플 읽기 동작을 수행할 수 있다. 더 상세하게는, S111 단계에서, 제어기(130)는 불휘발성 메모리 장치(110/120)로 제1 읽기 명령(CMD_R1) 및 제1 주소(ADDR1)를 전송할 수 있다. S112 단계에서, 불휘발성 메모리 장치(110/120)는 제1 샘플 읽기 동작을 수행할 수 있다. S113 단계에서, 불휘발성 메모리 장치(110/120)는 제1 샘플 읽기 동작의 결과인 제1 샘플 읽기 데이터(SRD1)를 제어기(130)로 전송할 수 있다.
S120 단계에서, 스토리지 장치(100)는 샘플 읽기 동작을 수행할 수 있다. 더 상세하게는, S121 단계에서, 제어기(130)는 불휘발성 메모리 장치(110/120)로 제1 읽기 명령(CMD_R1) 및 제2 주소(ADDR2)를 전송할 수 있다. 제2 주소(ADDR2)는 제1 주소(ADDR1)와 다를 수 있다. S122 단계에서, 불휘발성 메모리 장치(110/120)는 제2 샘플 읽기 동작을 수행할 수 있다. S123 단계에서, 불휘발성 메모리 장치(110/120)는 제2 샘플 읽기 동작의 결과인 제2 샘플 읽기 데이터(SRD2)를 제어기(130)로 전송할 수 있다.
S130 단계에서, 제어기(130)의 리클레임 블록(200)은 제1 샘플 읽기 데이터(SRD1) 및 제2 샘플 읽기 데이터(SRD2)에 기반하여, 불휘발성 메모리 장치(110/120)의 읽기 리클레임 동작의 대상인 제1 저장 영역의 존들의 리클레임 위치들을 결정할 수 있다.
예를 들어, 읽기 리클레임 동작의 대상인 제1 저장 영역은 둘 이상의 존들로 분할될 수 있다. 제1 저장 영역의 데이터가 옮겨질(또는 복사될) 제2 저장 영역 또한 둘 이상의 존들로 분할될 수 있다. 리클레임 블록(200)은 제1 저장 영역의 존들의 각각에 저장된 데이터를 제2 저장 영역의 존들 중 어느 존으로 옮길(또는 복사할)지를 결정할 수 있다. 리클레임 블록(200)은 읽기 리클레임 동작이 수행되어 제2 저장 영역의 존들로 옮겨진(또는 복사된) 데이터의 신뢰성이 향상되도록, 리클레임 위치들을 결정할 수 있다.
예시적으로, 샘플 읽기 동작들은 제1 저장 영역의 존들에 대해 각각 수행될 수 있다. 샘플 읽기 동작이 수행되는 횟수와 제1 저장 영역의 존들(또는 제2 저장 영역의 존들)의 수는 같을 수 있다. 리클레임 블록(200)은 제1 저장 영역의 존들에 대해 샘플 읽기 동작들을 각각 수행함으로써, 제1 저장 영역의 존들에 저장된 데이터의 특성들을 검출할 수 있다. 리클레임 블록(200)은 검출된 특성들에 기반하여, 리클레임 위치들을 결정할 수 있다.
S140 단계에서, 제어기(130)는 읽기 리클레임 동작의 일부로서 제1 저장 영역으로부터 데이터를 읽을 수 있다. 더 상세하게는, S141 단계에서, 제어기(130)는 불휘발성 메모리 장치(110/120)에 제2 읽기 명령(CMD_R2) 및 제3 주소(ADDR3)를 전송할 수 있다. 제2 읽기 명령(CMD_R2)은 제1 읽기 명령(CMD_R1)과 다를 수 있다. 제3 주소(ADDR3)는 제1 주소(ADDR1) 또는 제2 주소(ADDR2)와 같거나 다를 수 있다. 제3 주소(ADDR3)는 제1 저장 영역의 주소 범위에 속할 수 있다. S142 단계에서, 불휘발성 메모리 장치(110/120)는 제1 읽기 동작을 수행할 수 있다. S143 단계에서, 불휘발성 메모리 장치(110/120)는 제1 읽기 동작의 결과인 제1 읽기 데이터(RD1)를 제어기(130)로 전달할 수 있다.
S150 단계에서, 제어기(130)는 읽기 리클레임 동작의 일부로서 제2 저장 영역에 데이터를 기입할 수 있다. 더 상세하게는, S151 단계에서, 제어기(130)는 불휘발성 메모리 장치(110/120)에 쓰기 명령(CMD_W), 제4 주소(ADDR4) 및 제1 쓰기 데이터(WD1)를 전송할 수 있다. 제4 주소(ADDR4)는 제2 저장 영역의 주소 범위에 속할 수 있다. 제1 쓰기 데이터(WD1)는 제1 읽기 데이터(RD1)와 같을 수 있다. S152 단계에서, 불휘발성 메모리 장치(110/120)는 쓰기 동작을 수행하여 제2 저장 영역에 제1 쓰기 데이터(WD1)를 기입할 수 있다.
예시적으로, 스토리지 장치(100)는 S140 단계 및 S150를 반복적으로 수행함으로써, 제1 저장 영역의 데이터를 제2 저장 영역으로 옮길(또는 복사할) 수 있다. 또는, 스토리지 장치(100)는 S140 단계를 반복적으로 수행하고, 그리고 이후에 S150 단계를 반복적으로 수행함으로써, 제1 저장 영역의 데이터를 제2 저장 영역으로 옮길(또는 복사할) 수 있다.
제1 저장 영역의 데이터를 제2 저장 영역으로 옮기는(또는 복사하는) 과정은 데이터 청크의 단위로 수행될 수 있다. 제1 저장 영역에 저장된 데이터는 둘 이상의 데이터 청크들로 분할될 수 있다.
스토리지 장치(100)는 외부의 스토리지 장치로부터 수신되어 계류 중인(pending) 요청이 없는 유휴 시간에, 하나의 데이터 청크를 제1 저장 영역으로부터 제2 저장 영역으로 옮길(또는 복사할) 수 있다. 이후에, 스토리지 장치(100)는 외부의 호스트 장치로부터 수신된 요청이 존재하는지 검사할 수 있다.
외부의 호스트 장치로부터 수신된 요청이 존재하면, 스토리지 장치(100)는 외부의 호스트 장치로부터 수신된 요청을 수행할 수 있다. 외부의 호스트 장치로부터 수신되어 계류 중인 요청이 존재하지 않는 유휴 상태이면, 스토리지 장치(100)는 다른 하나의 데이터 청크를 제1 저장 영역으로부터 제2 저장 영역으로 옮길(또는 복사할) 수 있다.
각 데이터 청크의 사이즈는 각 존의 사이즈와 같거나 다를 수 있다. 각 데이터 청크를 옮기는(또는 복사하는) 동작은 S140 단계 및 S150 단계를 두 번 이상 수행함으로써 수행될 수 있다.
상술된 바와 같이, 리클레임 블록(200)은 샘플 읽기 동작들을 수행함으로써, 제1 저장 영역에 저장된 데이터의 특성들을 존(예를 들어, 제1 저장 영역의 존)의 단위로 식별할 수 있다. 리클레임 블록(200)은 데이터의 특성들을 고려하여, 제1 저장 영역의 존들의 각각에 저장된 데이터를 제2 저장 영역의 존들 중 어느 존에 기입할 지를 결정할 수 있다. 리클레임 블록(200)은 리클레임 된 데이터의 신뢰도가 향상되도록, 리클레임 위치들을 결정할 수 있다.
도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 장치(110/120)를 보여주는 블록도이다. 도 3을 참조하면, 불휘발성 메모리 장치(110/120)는 메모리 셀 어레이(151), 행 디코더 블록(152), 페이지 버퍼 블록(153), 카운터(154), 데이터 입력 및 출력 블록(155), 버퍼 블록(156), 그리고 제어 로직 블록(157)을 포함한다.
메모리 셀 어레이(151)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 하나의 접지 선택 라인(GSL), 워드 라인들(WL), 그리고 적어도 하나의 스트링 선택 라인(SSL)을 통해 행 디코더 블록(152)에 연결될 수 있다. 워드 라인들(WL) 중 일부는 더미 워드 라인들로 사용될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼 블록(153)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)은 복수의 비트 라인들(BL)에 공통으로 연결될 수 있다.
예시적으로, 복수의 메모리 블록들(BLK1~BLKz) 각각은 소거 동작의 단위일 수 있다. 각 메모리 블록에 속한 메모리 셀들은 동시에 소거될 수 있다. 다른 예로서, 각 메모리 블록은 복수의 서브 블록들로 분할될 수 있다. 복수의 서브 블록들 각각은 소거 동작의 단위일 수 있다.
행 디코더 블록(152)은 접지 선택 라인들(GSL), 워드 라인들(WL), 그리고 스트링 선택 라인들(SSL)을 통해 메모리 셀 어레이(151)에 연결된다. 행 디코더 블록(152)은 제어 로직 블록(157)의 제어에 따라 동작한다.
행 디코더 블록(152)은 버퍼 블록(156)으로부터 수신되는 행 주소(RA)를 디코딩하고, 디코딩된 행 주소에 따라 스트링 선택 라인들(SSL), 워드 라인들(WL), 그리고 접지 선택 라인들(GSL)에 인가되는 전압들을 제어할 수 있다.
페이지 버퍼 블록(153)은 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(151)에 연결된다. 페이지 버퍼 블록(153)은 복수의 데이터 라인들(DL)을 통해 데이터 입력 및 출력 블록(155)과 연결된다. 페이지 버퍼 블록(153)은 제어 로직 블록(157)의 제어에 따라 동작한다.
쓰기 동작 시에, 페이지 버퍼 블록(153)은 메모리 셀들에 기입될 데이터를 저장할 수 있다. 저장된 데이터에 기반하여, 페이지 버퍼 블록(153)은 복수의 비트 라인들(BL)에 전압들을 인가할 수 있다. 읽기 동작 시에, 또는 쓰기 동작 또는 소거 동작의 검증 읽기 시에, 페이지 버퍼 블록(153)은 비트 라인들(BL)의 전압들을 감지하고, 감지 결과를 저장할 수 있다.
카운터(154)는 페이지 버퍼 블록(153)에 저장된 비트들을 카운트할 수 있다. 예를 들어, 카운터(154)는 페이지 버퍼 블록(153)에 저장된 비트들 중 '1'의 개수 또는 '0'의 개수를 카운트할 수 있다. 예를 들어, 카운터(154)는 쓰기 동작 또는 소거 동작의 검증 읽기 시에 카운트를 수행할 수 있다. 카운터(154)는 카운트 값을 제어 로직 블록(157)으로 출력할 수 있다.
데이터 입력 및 출력 블록(155)은 복수의 데이터 라인들(DL)을 통해 페이지 버퍼 블록(153)과 연결된다. 데이터 입력 및 출력 블록(155)은 버퍼 블록(156)으로부터 열 주소(CA)를 수신할 수 있다. 데이터 입력 및 출력 블록(155)은 페이지 버퍼 블록(153)에 의해 읽힌 데이터를 열 주소(CA)에 따라 버퍼 블록(156)으로 출력할 수 있다. 데이터 입력 및 출력 블록(155)은 열 주소(CA)에 의존하여, 버퍼 블록(156)으로부터 수신되는 데이터를 페이지 버퍼 블록(153)에 전달할 수 있다.
버퍼 블록(156)은 외부의 장치와 제1 신호선들(S1)을 통해 명령(CMD) 및 주소(ADDR)를 수신하고, 그리고 데이터(DATA)를 교환할 수 있다. 버퍼 블록(156)은 제어 로직 블록(157)의 제어에 따라 동작할 수 있다. 버퍼 블록(156)은 명령(CMD)을 제어 로직 블록(157)에 전달할 수 있다. 버퍼 블록(156)은 주소(ADDR)의 행 주소(RA)를 행 디코더 블록(152)에 전달하고, 열 주소(CA)를 데이터 입력 및 출력 블록(155)에 전달할 수 있다. 버퍼 블록(156)은 데이터(DATA)를 데이터 입력 및 출력 블록(155)과 교환할 수 있다.
제어 로직 블록(157)은 외부 장치와 제2 신호선들(S2)을 통해 제어 신호(CTRL)를 교환할 수 있다. 제어 로직 블록(157)은 버퍼 블록(156)이 명령(CMD), 주소(ADDR) 및 데이터(DATA)를 라우팅하게 제어할 수 있다. 제어 로직 블록(157)은 버퍼 블록(156)으로부터 수신된 명령(CMD)을 디코딩하고, 디코딩된 명령에 따라 불휘발성 메모리 장치(110/120)를 제어할 수 있다.
예시적으로, 불휘발성 메모리 장치(110/120)는 본딩 방식으로 제조될 수 있다. 메모리 셀 어레이(151)는 제1 웨이퍼에서 제조되고, 행 디코더 블록(152), 페이지 버퍼 블록(153), 데이터 입력 및 출력 블록(155), 버퍼 블록(156), 그리고 제어 로직 블록(157)은 제2 웨이퍼에서 제조될 수 있다. 제1 웨이퍼의 상부면과 및 제2 웨이퍼의 상부면을 마주보게 하여 결합함으로써, 불휘발성 메모리 장치(110/120)가 구현될 수 있다.
다른 예로서, 불휘발성 메모리 장치(110/120)는 COP(Cell Over Peri) 방식으로 제조될 수 있다. 기판 상에 행 디코더 블록(152), 페이지 버퍼 블록(153), 데이터 입력 및 출력 블록(155), 버퍼 블록(156), 그리고 제어 로직 블록(157)을 포함하는 주변 회로가 구현될 수 있다 주변 회로의 상부에 메모리 셀 어레이(151)가 구현될 수 있다. 주변 회로 및 메모리 셀 어레이(151)는 관통 비아들을 통해 연결될 수 있다.
도 4는 도 3의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록(BLKa)의 예를 보여주는 회로도이다. 도 4를 참조하면, 복수의 셀 스트링들(CS)이 기판(SUB) 위에서 행들 및 열들로 배치될 수 있다. 복수의 셀 스트링들(CS)은 기판(SUB) 상에(또는 안에) 형성되는 공통 소스 라인(CSL)에 공통으로 연결될 수 있다. 도 3에서, 메모리 블록(BLKa)의 구조의 이해를 돕기 위하여, 기판(SUB)의 위치가 예시적으로 표시되어 있다.
도 4에서, 셀 스트링들(CS)의 하단에 공통 소스 라인(CSL)이 연결되는 것으로 도시되어 있다. 그러나 공통 소스 라인(CSL)은 셀 스트링들(CS)의 하단에 전기적으로 연결되는 것으로 충분하며, 물리적으로 셀 스트링들(CS)의 하단에 위치하는 것으로 한정되지 않는다. 예시적으로, 도 4에서 셀 스트링들(CS)은 4X4로 배열되는 것으로 도시되나 메모리 블록(BLKa)은 더 적은 또는 더 많은 수의 셀 스트링들을 포함할 수 있다.
각 행의 셀 스트링들은 접지 선택 라인(GSL)에 공통으로 연결되고, 그리고 제1 내지 제4 스트링 선택 라인들(SSL1~SSL4) 중 대응하는 스트링 선택 라인들에 연결될 수 있다. 각 열의 셀 스트링들은 제1 내지 제4 비트 라인들(BL1~BL4) 중 대응하는 비트 라인에 연결될 수 있다. 도면이 복잡해지는 것을 방지하기 위하여, 제2 및 제3 스트링 선택 라인들(SSL2, SSL3)에 연결된 셀 스트링들은 옅게 도시되어 있다.
각 셀 스트링은 접지 선택 라인(GSL)에 연결되는 적어도 하나의 접지 선택 트랜지스터(GST), 복수의 워드 라인들(WL1~WL8)에 각각 연결되는 복수의 메모리 셀들(MC1~MC8), 그리고 스트링 선택 라인들(SSL1, SSL2, SSL3 또는 SSL4)에 각각 연결되는 스트링 선택 트랜지스터들(SST)을 포함할 수 있다.
각 셀 스트링에서, 접지 선택 트랜지스터(GST), 메모리 셀들(MC1~MC8), 그리고 스트링 선택 트랜지스터들(SST)은 기판(SUB)과 수직인 방향을 따라 직렬 연결되고, 기판(SUB)과 수직인 방향을 따라 순차적으로 적층될 수 있다. 각 셀 스트링(CS)에서, 메모리 셀들(MC1~MC8) 중 적어도 하나가 더미 메모리 셀로 사용될 수 있다. 더미 메모리 셀은 프로그램되지 않거나(예를 들어, 프로그램이 금지되거나) 또는 메모리 셀들(MC1~MC8)과 다르게 프로그램될 수 있다.
예시적으로, 동일한 높이에 위치하고, 하나의 스트링 선택 라인(SSL1, SSL2, SSL3 또는 SSL4)과 연관된 메모리 셀들은 하나의 물리 페이지를 형성할 수 있다. 하나의 물리 페이지의 메모리 셀들은 하나의 서브 워드 라인에 연결될 수 있다. 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 하나의 워드 라인에 공통으로 연결될 수 있다.
예시적으로, 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 서브 워드 라인들이 형성되는 높이에서 서로 연결될 수 있다. 다른 예로서, 동일한 높이에 위치한 물리 페이지들의 서브 워드 라인들은 메탈 층과 같은 서브 워드 라인들이 형성되는 높이와 다른 높이를 갖는 다른 층에서 서로 간접 연결될 수 있다.
도 5는 도 4의 메모리 블록(BLKa)의 일부의 구조를 보여주는 사시단면도이다. 도 4 및 도 5를 참조하면, 기판(SUB)에 제1방향을 따라 신장되고, 제2방향을 따라 서로 이격된 공통 소스 영역들(CSR)이 제공된다.
공통 소스 영역들(CSR)은 공통으로 연결되어, 공통 소스 라인(CSL)을 형성할 수 있다. 예시적으로, 기판(SUB)은 P 도전형을 갖는 반도체 물질을 포함할 수 있다. 공통 소스 영역들(CSR)은 N 도전형을 갖는 반도체 물질을 포함할 수 있다. 예를 들어, 공통 소스 영역(CSR) 상에 공통 소스 라인(CSL)의 도전율을 높이기 위한 도전 물질이 배치될 수 있다.
공통 소스 영역들(CSR) 사이에서, 절연 층들(112, 112a)이 기판과 수직한 제3방향을 따라 기판(SUB) 상에 순차적으로 적층된다. 절연 층들(112, 112a)은 제3방향을 따라 서로 이격되어 적층될 수 있다. 예시적으로, 절연 층들(112, 112a)은 실리콘 산화물 또는 실리콘 질화물을 포함할 수 있다. 예시적으로, 절연 층들(112, 112a) 중 기판(SUB)과 접촉하는 절연 층(112a)의 두께(예를 들어, 제3방향에 따른 두께)는 다른 절연 층들(112) 각각의 두께(예를 들어, 제3방향에 따른 두께)보다 얇을 수 있다.
공통 소스 영역들(CSR) 사이에서, 제1방향과 제2방향을 따라 서로 이격되어 배치되며 제3방향을 따라 절연 층들(112, 112a)을 관통하는 필라들(PL)이 제공된다. 예시적으로, 필라들(PL)은 절연 층들(112, 112a)을 관통하여 기판(SUB)과 접촉할 수 있다. 필라들(PL) 각각은 내부 물질(114), 채널 막(115), 그리고 제1 절연 막(116)을 포함할 수 있다.
내부 물질(114)은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다. 채널 막(115)은 P 도전형을 갖는 반도체 물질 또는 진성(intrinsic) 반도체 물질을 포함할 수 있다. 제1 절연 막(116)은 실리콘 산화 막, 실리콘 질화 막, 알루미늄 산화 막과 같은 하나 또는 그보다 많은 절연 막들(예를 들어 서로 다른 절연 막들)을 포함할 수 있다.
공통 소스 영역들(CSR) 사이에서, 절연 층들(112, 112a)의 상부 면들과 하부 면들, 그리고 필라들(PL)의 노출된 외부 면들에 제2 절연 막들(117)이 제공된다. 절연 층들(112, 112a) 중 가장 높은 높이에 위치한 절연 물질의 상부 면에 제공되는 제2 절연 막들(117)은 제거될 수 있다.
필라들(PL) 각각에서, 제1 절연 막(116) 및 제2 절연 막(117)은 서로 인접하게 결합된 때에 정보 저장 막을 형성할 수 있다. 예를 들어, 제1 절연 막(116) 및 제2 절연 막(117)은 ONO (Oxide-Nitride-Oxide) 또는 ONA (Oxide-Nitride-Aluminium)을 포함할 수 있다. 제1 절연 막(116) 및 제2 절연 막(117)은 터널링 절연 막, 전하 포획 막, 그리고 블로킹 절연 막을 형성할 수 있다.
공통 소스 영역들(CSR) 사이에서 그리고 절연 층들(112, 112a) 사이에서, 제2 절연 막들(117)의 노출된 외부 면들에 도전 물질들(CM1~CM11)이 제공된다. 도전 물질들(CM1~CM11)은 금속성 도전 물질을 포함 수 있다. 필라들(PL) 상에 드레인들(118)이 제공된다. 예시적으로, 드레인들(118)은 N 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예시적으로, 드레인들(118)은 필라들(PL)의 채널 막들(115)의 상부 면들과 접촉할 수 있다.
드레인들(118) 상에, 제2방향을 따라 신장되고, 제1방향을 따라 서로 이격된 비트 라인들(BL2, BL3)이 제공된다. 비트 라인들(BL2, BL3)은 드레인들(118)과 연결된다. 예시적으로, 드레인들(118) 및 비트 라인들(예를 들어, BL2, BL3)은 컨택 플러그들을 통해 연결될 수 있다. 비트 라인들(BL1, BL2)은 금속성 도전 물질들을 포함할 수 있다.
필라들(PL)은 제1 및 제2 절연 막들(116, 117) 및 도전 물질들(CM1~CM11)과 함께 셀 스트링들(CS)을 형성한다. 필라들(PL) 각각은 제1 및 제2 절연 막들(116, 117), 그리고 인접한 도전 물질들(CM1~CM11)과 함께 하나의 셀 스트링을 구성한다. 제1 도전 물질(CM1)은 인접한 제1 및 제2 절연 막들(116, 117) 그리고 채널 막들(115)과 함께 접지 선택 트랜지스터들(GST)을 형성할 수 있다. 제1 도전 물질(CM1)은 제1방향을 따라 신장되어 접지 선택 라인(GSL)을 형성할 수 있다.
제2 내지 제9 도전 물질들(CM2~CM9)은 인접한 제1 및 제2 절연 막들(116, 117) 그리고 채널 막들(115)과 함께 제1 내지 제8 메모리 셀들(MC1~MC8)을 각각 형성할 수 있다. 제2 내지 제9 도전 물질들(CM2~CM9)은 제1방향을 따라 신장되어 제1 내지 제8 워드 라인들(WL1~WL8)을 각각 형성할 수 있다.
제10 도전 물질들(CM10)은 인접한 제1 및 제2 절연 막들(116, 117) 그리고 채널 막들(115)과 함께 스트링 선택 트랜지스터들(SST) 중 기판(SUB)에 인접한 하부 스트링 선택 트랜지스터들을 형성할 수 있다. 제10 도전 물질들(CM10)은 제1방향을 따라 신장되어, 스트링 선택 라인들(SSL1~SSL4) 중 기판(SUB)에 가까운 하부 스트링 선택 라인들을 형성할 수 있다.
제11 도전 물질들(CM11)은 인접한 제1 및 제2 절연 막들(116, 117) 그리고 채널 막들(115)과 함께 스트링 선택 트랜지스터들(SST) 중 비트 라인들(BL1~BL4)에 인접한 상부 스트링 선택 트랜지스터들을 형성할 수 있다. 제11 도전 물질들(CM11)은 제1방향을 따라 신장되어 스트링 선택 라인들(SSL1~SSL4) 중 비트 라인들(BL1~BL4)에 가까운 상부 스트링 선택 라인들을 형성할 수 있다.
메모리 블록(BLKa)은 3차원 메모리 어레이로 제공된다. 3차원 메모리 어레이는, 실리콘 기판(SUB) 및 메모리 셀들(MC)의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들(MC)의 어레이들의 하나 또는 그 이상의 물리 레벨들에 획일적으로(monolithically) 형성될 수 있다. 메모리 셀들(MC)의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 획일적으로 형성되는 것은, 3차원 어레이의 각 레벨의 레이어들이 3차원 어레이의 하위 레벨의 레이어들 위에 직접 증착됨을 의미한다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에서 워드 라인들 또는 비트 라인들이 공유되는 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
예시적으로, 도 5에서 공통 소스 영역(CSR)이 기판(SUB)의 일부에 제공되는 것으로 도시되었지만, 공통 소스 영역(CSR)은 기판(SUB)을 커버하는 플레이트의 형태로 제공될 수 있다.
예시적으로, 읽기 리클레임 동작의 대상이 되는 제1 저장 영역은 하나의 메모리 블록일 수 있다. 읽기 리클레임 동작에 의해 데이터가 옮겨질(또는 복사될) 제2 저장 영역은 다른 하나의 메모리 블록일 수 있다.
도 6은 도 4 및 도 5의 셀 스트링들(CS) 중 하나를 간략하게 보여준다. 도 1 및 도 4 내지 도 6을 참조하면, 메모리 셀들(MC)의 사이즈들은 기판(SUB)과의 사이에 따라 달라질 수 있다. 예를 들어, 도 5 및 도 6에 도시된 예에서, 기판(SUB)과의 거리가 증가할수록, 메모리 셀들(MC1~MC8)의 사이즈들이 증가할 수 있다.
메모리 셀들(MC1~MC8)의 사이즈들이 증가할수록, 메모리 셀들의 프로그램 속도가 느려질 수 있다. 메모리 셀들(MC1~MC8)의 사이즈들이 감소할수록, 메모리 셀들의 프로그램 속도가 빨라질 수 있다.
메모리 셀들(MC1~MC8)에 데이터가 기입된 후에, 다양한 요인들로 인해 데이터(또는 데이터의 신뢰성)가 열화될 수 있다. 예를 들어, 리텐션(retention)이라 불리는 특성으로 인해, 메모리 셀들(MC1~MC8)의 문턱 전압들은 시간이 흐름에 따라 낮아질 수 있다. 또는, 읽기 동작 또는 쓰기 동작 시에 워드 라인들에 고전압이 인가됨에 따라, 커플링에 의해 메모리 셀들(MC1~MC8)의 문턱 전압들이 상승하는 교란이 발생할 수 있다.
프로그램 속도가 빠른 메모리 셀들은 문턱 전압의 변화가 빠르며, 따라서 리텐션, 교란 등의 요인들이 발생하여도 문턱 전압을 유지하는 강건성(robustness)이 상대적으로 약할 수 있다. 프로그램 속도가 느린 메모리 셀들은 문턱 전압의 변화가 느리며, 따라서 리텐션, 교란 등의 요인들이 발생하여도 문턱 전압을 유지하는 강건성(robustness)이 상대적으로 강할 수 있다.
리클레임 블록(200)은 샘플 읽기 동작들을 통해 제1 저장 영역의 존들의 각각의 데이터의 읽기 빈도들을 추정할 수 있다. 리클레임 블록(200)은 읽기 빈도가 다른 제1 저장 영역의 존들의 데이터보다 높은 특정한 존의 핫 데이터를 제2 저장 영역의 강건성이 높은 부분(예를 들어, MC5~MC8)에 저장할 수 있다. 리클레임 블록(200)은 읽기 빈도가 다른 제1 저장 영역의 존들의 데이터보다 낮은 특정한 존의 콜드 데이터를 제2 저장 영역의 강건성이 낮은 부분(예를 들어, MC1~MC4)에 저장할 수 있다.
읽기 리클레임 동작의 대상이 된 제1 저장 영역의 존들의 데이터의 읽기 빈도들 및 데이터가 옮겨질(또는 복사될) 제2 저장 영역의 존들의 강건성들을 고려하여 읽기 리클레임 동작을 수행함으로써, 리클레임 된 데이터의 신뢰도가 향상될 수 있다.
도 7은 리클레임 블록(200)이 제1 저장 영역을 제1존(Z1) 및 제2존(Z2)으로 분할한 예를 보여준다. 도 1, 도 4, 도 5 및 도 7을 참조하면, 제5 내지 제8 메모리 셀들(MC5~MC8)은 제1존(Z1)에 속하고, 그리고 제1 내지 제4 메모리 셀들(MC1~MC4)은 제2존(Z2)에 속할 수 있다.
리클레임 블록(200)은 제1 존(Z1)에 속한 제5 내지 제8 메모리 셀들(MC5~MC8) 중에서 샘플 메모리 셀(또는 하나의 워드 라인에 연결된 하나의 물리 페이지의 샘플 메모리 셀들)을 선택하고, 그리고 샘플 메모리 셀(들)에 대해 샘플 읽기 동작을 수행할 수 있다.
예를 들어, 리클레임 블록(200)은 강건성이 가장 낮은(또는 사이즈가 가장 작은) 제5 메모리 셀(들)(MC5)을 샘플 메모리 셀(들)로 선택할 수 있다. 리클레임 블록(200)은 샘플 읽기 동작을 통해 식별되는 읽기 카운트를 제1존(Z1)에 저장된 데이터의 전체의 읽기 카운트로 사용할 수 있다.
또한, 리클레임 블록(200)은 제2 존(Z2)에 속한 제1 내지 제4 메모리 셀들(MC1~MC4) 중에서 샘플 메모리 셀(또는 하나의 워드 라인에 연결된 하나의 물리 페이지의 샘플 메모리 셀들)을 선택하고, 그리고 샘플 메모리 셀(들)에 대해 샘플 읽기 동작을 수행할 수 있다.
예를 들어, 리클레임 블록(200)은 강건성이 가장 낮은(또는 사이즈가 가장 작은) 제1 메모리 셀(들)(MC1)을 샘플 메모리 셀(들)로 선택할 수 있다. 리클레임 블록(200)은 샘플 읽기 동작을 통해 식별되는 읽기 카운트를 제2존(Z2)에 저장된 데이터의 전체의 읽기 카운트로 사용할 수 있다.
예시적으로, 제어기(130)는 제1존(Z1)의 샘플 읽기 동작과 제2존(Z2)의 샘플 읽기 동작을 시차를 두고 수행할 수 있다. 제어기(130)는 유휴 상태에서 제1존(Z1) 및 제2존(Z2) 중 하나의 샘플 읽기 동작을 수행할 수 있다. 이후에, 제어기(130)는 외부의 호스트 장치의 요청을 수행할 수 있다. 추가적인 유휴 시간이 발생하면, 제어기(130)는 제1존(Z1) 및 제2존(Z2) 중 다른 하나의 샘플 읽기 동작을 수행할 수 있다.
도 8은 도 2의 제2 읽기 명령(CMD_R2)에 의해 읽기 동작이 수행될 때에 사용되는 읽기 전압들의 예를 보여준다. 도 8에서, 가로축은 메모리 셀들(MC1~MC8)의 문턱 전압(VTH)을 가리키고, 세로축은 메모리 셀들(MC1~MC8)의 수를 가리킨다.
도 1, 도 4 및 도 8을 참조하면, 메모리 셀들(MC1~MC8)의 각각은 n개의 비트들(n은 양의 정수)을 저장할 수 있다. 메모리 셀들(MC1~MC8)의 각각에 n개의 비트들이 저장될 때, 데이터가 기입된 메모리 셀들(MC1~MC8)은 2^n개의 서로 다른 문턱 전압 범위들로 표현되는 상태들을 가질 수 있다.
예시적으로, n은 3인 것으로 가정된다. 메모리 셀들(MC1~MC8)은 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7)을 가질 수 있다. 읽기 동작 시에, 각 상태들 사이의 전압 레벨들에 대응하는 제1 내지 제7 읽기 전압들(VR1~VR7) 또는 이들의 일부가 사용될 수 있다.
도 9는 도 2의 제1 읽기 명령(CMD_R1)에 의해 샘플 읽기 동작이 수행될 때에 사용되는 샘플 읽기 전압들의 예를 보여준다. 도 9에서, 가로축은 메모리 셀들(MC1~MC8)의 문턱 전압(VTH)을 가리키고, 세로축은 메모리 셀들(MC1~MC8)의 수를 가리킨다.
도 1, 도 4 및 도 9을 참조하면, 샘플 읽기 전압들은 제1 전압(V1) 및 제2 전압(V2)을 포함할 수 있다. 제1 전압(V1)은 소거 상태(E)의 문턱 전압 범위에 속할 수 있다. 제1 전압(V1)은 교란의 영향을 검사하는데 사용될 수 있다. 제2 전압(V2)은 가장 높은 제7 프로그램 상태(P7)의 문턱 전압 범위에 속할 수 있다. 제2 전압(V2)은 리텐션의 영향을 검사하는데 사용될 수 있다.
예시적으로, 제어기(130)는 제1 전압(V1)을 이용한 샘플 읽기 동작을 지시하는 제1 읽기 명령(CMD_R1), 그리고 제2 전압(V2)을 이용한 샘플 읽기 동작을 지시하는 제1 읽기 명령(CMD_R1)을 별도로 불휘발성 메모리 장치(110/120)로 전송할 수 있다. 즉, 각 존에 대해, 제1 읽기 명령(CMD_R1)이 두 번 전송되고, 샘플 읽기 동작이 두 번 수행될 수 있다.
다른 예로서, 제어기(130)는 제1 전압(V1) 및 제2 전압(V2)을 이용한 샘플 읽기 동작을 지시하는 제1 읽기 명령(CMD_R1)을 불휘발성 메모리 장치(110/120)로 전송할 수 있다. 즉, 각 존에 대해 제1 읽기 명령(CMD_R1)이 한 번 전송되고, 샘플 읽기 동작이 두 번 수행될 수 있다.
제1 전압(V1)을 이용하여 샘플 읽기 동작이 수행될 때, 불휘발성 메모리 장치(110/120)는 읽혀진 데이터 또는 읽혀진 데이터 중에서 온-셀들을 가리키는 논리값들(예를 들어, '0')의 수들을 카운트한 카운트 값을 샘플 읽기 데이터 또는 샘플 읽기 데이터의 일부로서 제어기(130)로 출력하거나 또는 저장할 수 있다. 온-셀들은 제1 전압(V1)에 응답하여 턴-온 되는 메모리 셀들이며, 제1 전압(V1)보다 낮은 문턱 전압들을 갖는다.
제2 전압(V2)을 이용하여 샘플 읽기 동작이 수행될 때, 불휘발성 메모리 장치(110/120)는 읽혀진 데이터 또는 읽혀진 데이터 중에서 오프-셀들을 가리키는 논리값들(예를 들어, '1')의 수들을 카운트한 카운트 값을 샘플 읽기 데이터 또는 샘플 읽기 데이터의 일부로서 제어기(130)로 출력하거나 또는 저장할 수 있다. 오프-셀들은 제2 전압(V2)에 응답하여 턴-오프 되는 메모리 셀들이며, 제2 전압(V2)보다 높은 문턱 전압들을 갖는다. 불휘발성 메모리 장치(110/120)는 저장된 데이터 또는 카운트 값들을 제어기(130)로 전송할 수 있다.
도 10은 스토리지 장치(100)가 샘플 읽기 동작들을 적응적으로 수행하는 예를 보여준다. 도 1 및 도 10을 참조하면, S210 단계에서, 제어기(130)는 샘플 읽기 동작들을 수행할 수 있다. 예를 들어, 제어기(130)는 유휴 상태일 때에 샘플 읽기 동작들을 수행할 수 있다. 제어기(130)는 기본값에 대응하는 수의 존들에 대해 샘플 읽기 동작들을 수행할 수 있다. 예를 들어, 기본값에 대응하는 수의 존들은 도 7을 참조하여 설명된 것과 같이 2개의 존들일 수 있다.
S220 단계에서, 제어기(130)는 유휴 상태가 유지되고 있는지 판단할 수 있다. 유휴 상태가 유지되고 있지 않으면(유휴 상태가 끝났으면), 제어기(130)는 샘플 읽기 동작들을 종료할 수 있다. 즉, 제어기(130)는 기본값에 대응하는 수의 존들에 대한 샘플 읽기 동작들의 결과들만을 이용할 수 있다.
유휴 상태가 유지되고 있으면, S230 단계에서, 제어기(130)는 추가 샘플 읽기 동작들을 수행하여 존들을 더 분할할 수 있다. 즉, 유휴 상태가 유지되면, 존들의 수가 증가할 수 있다.
도 11은 도 7의 셀 스트링(CS)의 존들이 추가 샘플 읽기 동작들을 통해 분할된 예를 보여준다. 도 1, 도 10 및 도 11을 참조하면, 제어기(130)는 도 7에서 제1존(Z1)으로 식별된 제5 내지 제8 메모리 셀들(MC5~MC8)을 제1존(Z1)에 속한 제5 및 제6 메모리 셀들(MC5, MC6), 그리고 제3 존(Z3)에 속한 제7 및 제8 메모리 셀들(MC7, MC8)로 분할할 수 있다.
제5 메모리 셀들(MC5)에 대한 샘플 읽기 동작의 결과는 제1존(Z1)에 저장된 데이터의 읽기 카운트를 추정하는데 사용될 수 있다. 제어기(130)는 제7 메모리 셀들(MC7)에 대해 추가적인 샘플 읽기 동작을 수행하고, 그리고 샘플 읽기 동작의 결과를 제3존(Z3)에 저장된 데이터의 읽기 카운트를 추정하는데 사용할 수 있다.
제어기(130)는 도 7에서 제2존(Z2)으로 식별된 제1 내지 제4 메모리 셀들(MC1~MC4)을 제2존(Z2)에 속한 제1 및 제1 메모리 셀들(MC1, MC2), 그리고 제4 존(Z4)에 속한 제3 및 제4 메모리 셀들(MC3, MC4)로 분할할 수 있다.
제1 메모리 셀들(MC1)에 대한 샘플 읽기 동작의 결과는 제2존(Z2)에 저장된 데이터의 읽기 카운트를 추정하는데 사용될 수 있다. 제어기(130)는 제3 메모리 셀들(MC3)에 대해 추가적인 샘플 읽기 동작을 수행하고, 그리고 샘플 읽기 동작의 결과를 제4존(Z4)에 저장된 데이터의 읽기 카운트를 추정하는데 사용할 수 있다.
존들이 세분화되면, 데이터의 읽기 카운트들이 더 세밀하게 추정되고, 읽기 리클레임 동작 후에 데이터의 신뢰성이 더 향상될 수 있다. 예시적으로, 추가적인 샘플 읽기 동작들이 수행된 후에, 유휴 시간이 유지되고 있으면, 제어기(130)는 추가적인 샘플 읽기 동작들을 더 수행할 수 있다.
도 12는 스토리지 장치(100)가 샘플 읽기 동작들을 적응적으로 수행하는 다른 예를 보여준다. 도 12에서, 가로축은 읽기 리클레임 동작의 대상이 되는 제1 저장 영역(예를 들어, 메모리 블록)에서 프로그램 및 소거 동작이 수행된 횟수(PE cycle)를 가리킨다. 세로축은 존들의 수를 가리킨다.
도 1 및 도 12를 참조하면, 제어기(130)는 프로그램 및 소거 횟수가 증가함에 따라, 존들의 수를 증가시킬 수 있다. 메모리 셀들에서 프로그램 및 소거가 반복됨에 따라, 메모리 셀들의 열화도들이 달라질 수 있다. 서로 다른 열화도들을 갖는 메모리 셀들은 리텐션 및 교란의 영향을 서로 다른 레벨로 받을 수 있다.
따라서, 프로그램 및 소거 횟수가 증가할수록 존들의 수를 증가시키고 그리고 샘플 읽기 동작들의 수를 증가시킴으로써, 데이터의 읽기 카운트들이 더 세밀하게 추정될 수 있다. 예시적으로, 도 12의 존들의 수는 도 10을 참조하여 설명된 존들의 수의 기본값일 수 있다.
도 13은 리클레임 블록(200)의 예를 보여준다. 도 1, 도 9 및 도 13을 참조하면, 리클레임 블록(200)은 기계 학습 기반의 읽기 카운트 추정기(210) 및 리클레임 스케줄러(220)를 포함할 수 있다.
읽기 카운트 추정기(210)는 제1 전압(V1)에 대응하는 온-셀 카운트(ONC), 제2 전압(V2)에 대응하는 오프-셀 카운트(OFFC), 읽기 리클레임 동작의 대상인 메모리 블록의 프로그램 및 소거 횟수(PEC), 읽기 리클레임 동작의 대상인 메모리 블록의 정보(BLK), 그리고 샘플 읽기 동작들이 수행된 워드 라인들의 정보(WL)를 수신할 수 있다.
읽기 카운트 추정기(210)는 기계 학습에 기반하여, 수신된 정보들로부터 읽기 카운트(RC)를 추정할 수 있다. 예를 들어, 읽기 카운트 추정기(210)는 다양한 환경들에서 스토리지 장치들에서 쓰기 동작들, 읽기 동작들 및 소거 동작들을 다양한 패턴들로 수행하며, 메모리 셀들의 문턱 전압들의 변화들을 기계 학습에 기반하여 학습한 알고리즘을 포함할 수 있다.
프로그램 및 소거 횟수(PEC)를 포함하여 학습 및 추정을 수행함으로써, 읽기 카운트 추정기(210)는 메모리 셀들의 열화에 따른 문턱 전압들의 변화 추세들의 차이를 고려할 수 있다. 메모리 블록의 정보(BLK)를 포함하여 학습 및 추정을 수행함으로써, 읽기 카운트 추정기(210)는 메모리 블록의 위치에 따른 문턱 전압들의 변화 추세들의 차이를 고려할 수 있다. 워드 라인들의 정보(WL)를 포함하여 학습 및 추정을 수행함으로써, 읽기 카운트 추정기(210)는 강건성에 따른 문턱 전압들의 변화 추세들의 차이를 고려할 수 있다.
리클레임 스케줄러(220)는 읽기 카운트에 기반하여 제1 메모리 관리자(136) 또는 제2 메모리 관리자(137)에 읽기 리클레임 동작을 위한 읽기 동작들 및 쓰기 동작들을 스케줄할 수 있다.
예시적으로, 스토리지 장치(100)는 기판(SUB)(도 4 및 도 5 참조)으로부터 먼 메모리 셀들로부터 기판(SUB)에 가까운 메모리 셀들의 순서로 쓰기 동작들을 수행하도록 구성될 수 있다. 리클레임 스케줄러(220)는 읽기 카운트가 높은 존의 데이터를 더 먼저 리클레임(읽기 및 쓰기) 하고, 그리고 읽기 카운트가 낮은 존의 데이터를 더 나중에 리클레임 하도록 구성될 수 있다.
다른 예로서, 스토리지 장치(100)는 기판(SUB)에 가까운 메모리 셀들로부터 기판(SUB)으로부터 먼 메모리 셀들의 순서로 쓰기 동작들을 수행하도록 구성될 수 있다. 리클레임 스케줄러(220)는 읽기 카운트가 낮은 존의 데이터를 더 먼저 리클레임 하고, 그리고 읽기 카운트가 높은 존의 데이터를 더 나중에 리클레임 하도록 구성될 수 있다.
도 14는 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링(CS1)의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링(CS2)으로 옮겨지는(또는 복사되는) 예를 보여준다. 도 14에서, 제1 셀 스트링(CS1)은 읽기 리클레임 동작의 대상인 메모리 블록을 대표하여 보여주고, 그리고 제2 셀 스트링(CS2)은 데이터가 옮겨질(또는 복사될) 다른 메모리 블록을 대표하여 보여주는 것으로 여겨질 수 있다.
도 1 및 도 14를 참조하면, 제1 셀 스트링(CS1)의 제1존(Z1)은 제1 읽기 카운트(RC1)를 갖는 것으로 추정될 수 있다. 제1 셀 스트링(CS1)의 제2존(Z2)은 제1 읽기 카운트(RC1)보다 큰 제2 읽기 카운트(RC2)를 갖는 것으로 추정될 수 있다. 제1 셀 스트링(CS1)의 제3존(Z3)은 제2 읽기 카운트(RC2)보다 큰 제3 읽기 카운트(RC3)를 갖는 것으로 추정될 수 있다. 제1 셀 스트링(CS1)의 제4존(Z4)은 제3 읽기 카운트(RC3)보다 큰 제4 읽기 카운트(RC4)를 갖는 것으로 추정될 수 있다.
읽기 리클레임 시에, 가장 큰 제4 읽기 카운트(RC4)를 갖는 제1 셀 스트링(CS1)의 제4존(Z4)에 저장된 데이터는 메모리 셀들의 사이즈가 가장 크고, 따라서 프로그램 속도가 가장 느리며 강건성이 가장 큰 제2 셀 스트링(CS2)의 제3존(Z3)으로 옮겨질(또는 복사될) 수 있다. 두 번째로 큰 제3 읽기 카운트(RC3)를 갖는 제1 셀 스트링(CS1)의 제3존(Z3)에 저장된 데이터는 강건성이 두 번째로 큰 제2 셀 스트링(CS2)의 제1존(Z1)으로 옮겨질(또는 복사될) 수 있다.
세 번째로 큰 제2 읽기 카운트(RC2)를 갖는 제1 셀 스트링(CS1)의 제2존(Z2)에 저장된 데이터는 강건성이 세 번째로 큰 제2 셀 스트링(CS2)의 제4존(Z4)으로 옮겨질(또는 복사될) 수 있다. 가장 작은 제1 읽기 카운트(RC1)를 갖는 제1 셀 스트링(CS1)의 제1존(Z1)에 저장된 데이터는 강건성이 가장 작은 제2 셀 스트링(CS2)의 제2존(Z2)으로 옮겨질(또는 복사될) 수 있다.
도 15는 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링(CS1)의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링(CS2)으로 옮겨지는(또는 복사되는) 다른 예를 보여준다. 도 1 및 도 15를 참조하면, 예시적으로, 제2존(Z2)에 저장된 데이터는 모두 무효 데이터일 수 있다. 이때, 제2존(Z2)에 저장된 데이터는 읽기 리클레임 동작의 대상으로부터 제외될 수 있다.
예시적으로, 무효 데이터는 메모리 셀들에 데이터가 기입되어 있으나 파일 시스템 상의 삭제 또는 갱신에 의해 더 이상 액세스되지 않는 데이터를 포함할 수 있다.
제2존(Z2)에 저장된 데이터가 읽기 리클레임 동작의 대상으로부터 제외됨에 따라, 리클레임 되는 데이터는 제2 셀 스트링(CS2)의 저장 공간을 모두 채우지 못할 수 있다. 메모리 셀들을 소거 상태로 유지하는 시간이 길어질수록, 해당 메모리 셀들에 기입될 데이터의 신뢰성이 감소할 수 있다. 데이터의 신뢰성이 감소하는 것을 방지하기 위하여, 읽기 리클레임 동작의 대상으로부터 제외된 데이터를 대신하여, 더미 데이터가 기입될 수 있다.
더미 데이터를 기입하는 것은 더미 패딩일 수 있다. 더미 데이터는 스토리지 장치(100)가 임의적으로 생성하는 데이터이며, 외부의 호스트 장치와 연관되지 않을 수 있다. 더미 데이터는 메모리 셀들에 다른 데이터가 기입되는 것을 방지하기 위한 용도로 기입되며, 읽기 동작의 대상으로부터 제외될 수 있다.
도 15에서, 하나의 존의 데이터가 무효 데이터인 것으로 설명되었다. 그러나 하나의 존의 데이터의 전부가 아닌 일부가 무효 데이터일 수 있다. 이때에도, 무효 데이터는 읽기 리클레임 동작의 대상으로부터 제외될 수 있다. 유효 데이터는 강건성이 가장 높은 메모리 셀들로부터 강건성이 더 낮은 메모리 셀들의 순서로 순차적으로 기입될 수 있다. 무효 데이터의 용량에 대응하며 강건성이 가장 낮은 메모리 셀들은 더미 데이터로 패딩될 수 있다.
도 16은 읽기 리클레임 동작의 대상이 되는 메모리 블록에 속한 제1 셀 스트링(CS1)의 데이터가 다른 메모리 블록에 속한 제2 셀 스트링(CS2)으로 옮겨지는(또는 복사되는) 또 다른 예를 보여준다. 도 1 및 도 16을 참조하면, 예시적으로, 제2존(Z2)에 저장된 데이터는 모두 무효 데이터일 수 있다. 이때, 제2존(Z2)에 저장된 데이터는 읽기 리클레임 동작의 대상으로부터 제외될 수 있다.
도 15의 실시 예와 비교하면, 무효 데이터에 대응하는 제2 셀 스트링(CS2)의 저장 용량이 더미 데이터로 패딩되는 대신, 읽기 리클레임 동작의 대상인 다른 메모리 블록(BLKk)의 데이터가 기입될 수 있다. 예를 들어, 제1 셀 스트링(CS1)에 저장된 데이터와 위치적 지역성(spatial locality) 또는 시간적 지역성(temporal locality)을 공유하는 메모리 블록(BLKk)의 데이터가 제2 셀 스트링(CS2)으로 옮겨질(또는 복사될) 수 있다.
메모리 블록(BLKk)에 저장된 데이터 중에서 제1, 제3 및 제4 읽기 카운트들(RC1, RC3, RC4)과 유사한 읽기 카운트를 갖는 데이터가 제2 셀 스트링(CS2)으로 옮겨질(또는 복사될) 수 있다. 다른 메모리 블록(BLKk)의 데이터를 제2 셀 스트링(CS2)으로 옮김(또는 복사)으로써, 제2 셀 스트링(CS2)의 용량이 낭비되는 것이 방지될 수 있다.
도 17은 셀 스트링(CS)이 계층적으로 구성되는 예를 보여준다. 도 1, 도 4, 및 도 17을 참조하면, 기판(SUB) 위에 제1 내지 제8 메모리 셀들(MC1~MC8)에 대응하는 제1 계층이 위치할 수 있다. 제1 계층의 위에, 제 내지 제16 메모리 셀들(MC9~MC16)에 대응하는 제2 계층이 위치할 수 있다. 제1 계층에서 기판(SUB)과의 거리가 증가할수록 메모리 셀들(MC1~MC8)의 사이즈가 증가할 수 있다. 제2 계층에서 기판(SUB)과의 거리가 증가할수록 메모리 셀들(MC9~MC16)의 사이즈가 증가할 수 있다.
제1 계층의 최상단의 메모리 셀(MC8)의 사이즈는 제2 계층의 최하단의 메모리 셀(MC9)의 사이즈보다 클 수 있다. 예시적으로, 제2 계층은 제1 계층과 동일한(또는 유사한) 구조 및 차원들을 가질 수 있다.
예시적으로, 제1 계층은 제3존(Z3) 및 제4존(Z4)으로 분할될 수 있다. 제2 계층은 제1존(Z1) 및 제2존(Z2)으로 분할될 수 있다. 최상단에 위치한 제1존(Z1)의 강건성은 가장 큰 제1 레벨(L1)을 가질 수 있다. 제1 계층의 최상단에 위치한 제3존(Z3)의 강건성은 두 번째로 큰 제2 레벨(l2)을 가질 수 있다.
제2 계층의 최하단에 위치한 제2존(Z2)의 강건성은 세 번째로 큰 제3 레벨(L3)을 가질 수 있다. 제1 계층의 최하단에 위치한 제4존(Z4)의 강건성은 가장 작은 제4 레벨(L4)을 가질 수 있다.
스토리지 장치(100)는 제1존(Z1)으로부터 제4존(Z4)의 순서로 쓰기 동작들을 수행할 수 있다. 읽기 리클레임 동작 시에, 읽기 카운트가 가장 큰 존의 데이터가 셀 스트링(CS)에서 강건성이 가장 큰 제1존(Z1)에 기입될 수 있다. 읽기 카운트가 세 번째로 큰 존의 데이터가 셀 스트링(CS)에서 강건성이 세 번째로 큰 제2존(Z2)에 기입될 수 있다.
읽기 카운트가 두 번째로 큰 존의 데이터가 강건성이 두 번째로 큰 제3존(Z3)에 기입될 수 있다. 읽기 카운트가 가장 작은 존의 데이터가 강건성이 가장 약한 제4존(Z4)에 기입될 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 스토리지 장치는 읽기 리클레임 동작의 대상이 되는 데이터의 특성(예를 들어, 핫 또는 콜드), 그리고 데이터가 옮겨질(또는 복사될) 저장 영역의 강건성을 고려하여 읽기 리클레임 동작을 수행할 수 있다. 따라서, 리클레임 된 데이터의 신뢰성이 향상된다.
상술된 실시 예들에서, 제1, 제2, 제3 등의 용어들을 사용하여 본 발명의 기술적 사상에 따른 구성 요소들이 설명되었다. 그러나 제1, 제2, 제3 등과 같은 용어들은 구성 요소들을 서로 구별하기 위해 사용되며, 본 발명을 한정하지 않는다. 예를 들어, 제1, 제2, 제3 등과 같은 용어들은 순서 또는 임의의 형태의 수치적 의미를 내포하지 않는다.
상술된 실시 예들에서, 블록들을 사용하여 본 발명의 실시 예들에 따른 구성 요소들이 참조되었다. 블록들은 IC (Integrated Circuit), ASIC (Application Specific IC), FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) 등과 같은 다양한 하드웨어 장치들, 하드웨어 장치들에서 구동되는 펌웨어, 응용과 같은 소프트웨어, 또는 하드웨어 장치와 소프트웨어가 조합된 형태로 구현될 수 있다. 또한, 블록들은 IC 내의 반도체 소자들로 구성되는 회로들 또는 IP(Intellectual Property)로 등록된 회로들을 포함할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 스토리지 장치
110, 120: 불휘발성 메모리 장치들
130: 제어기
131: 내부 버스
132: 호스트 인터페이스
133: 내부 메모리
134: 프로세서
135: 버퍼 제어기
136, 137: 메모리 관리자들
140: 버퍼 메모리
200: 리클레임 블록

Claims (10)

  1. 제1 저장 영역 및 제2 저장 영역을 포함하는 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치를 제어하도록 구성되고, 상기 불휘발성 메모리 장치의 상기 제1 저장 영역에 저장된 데이터를 읽고, 그리고 상기 읽혀진 데이터를 상기 제2 저장 영역에 기입하는 읽기 리클레임을 수행하도록 구성되는 제어기를 포함하고,
    상기 읽기 리클레임 동작 시에, 상기 제어기는 상기 제1 저장 영역에 대한 샘플 읽기 동작들을 수행하도록 상기 불휘발성 메모리 장치를 제어하고, 그리고 상기 샘플 읽기 동작들의 결과들에 기반하여 상기 데이터가 상기 제2 저장 영역에 기입되는 위치들을 결정하도록 더 구성되는 스토리지 장치.
  2. 제1항에 있어서,
    상기 제어기는 상기 제1 저장 영역 및 상기 제2 저장 영역의 각각을 둘 이상의 존들로 분할하고, 그리고 상기 둘 이상의 존들에 대해 상기 샘플 읽기 동작들을 각각 수행하도록 상기 불휘발성 메모리 장치를 제어하는 스토리지 장치.
  3. 제2항에 있어서,
    상기 제어기는 상기 샘플 읽기 동작들의 결과들로부터 상기 둘 이상의 존들의 읽기 카운트들을 추정(estimate)하도록 더 구성되는 스토리지 장치.
  4. 제3항에 있어서,
    상기 제어기는 기계 학습에 기반하여 상기 샘플 읽기 동작들의 결과들로부터 상기 둘 이상의 존들의 상기 읽기 카운트들을 추정하는 스토리지 장치.
  5. 제2항에 있어서,
    상기 불휘발성 메모리 장치는 메모리 블록들을 포함하고, 상기 메모리 블록들의 각각은 셀 스트링들을 포함하고, 상기 셀 스트링들의 각각은 기판 위에서 상기 기판과 수직한 방향으로 적층되는 메모리 셀들을 포함하고,
    상기 제1 저장 영역은 상기 메모리 블록들 중 제1 메모리 블록이고, 그리고
    상기 제2 저장 영역은 상기 메모리 블록들 중 제2 메모리 블록인 스토리지 장치.
  6. 제5항에 있어서,
    상기 메모리 블록들의 각각의 상기 셀 스트링들은 워드 라인들에 연결되고,
    상기 제어기는 기계 학습에 기반하여 상기 샘플 읽기 동작들의 결과들, 상기 샘플 읽기 동작들이 수행된 워드 라인의 정보, 그리고 상기 제1 메모리 블록의 정보, 그리고 상기 제1 메모리 블록의 프로그램 및 소거 횟수로부터 상기 둘 이상의 존들의 읽기 카운트들을 추정하도록 더 구성되는 스토리지 장치.
  7. 제6항에 있어서,
    상기 셀 스트링들의 각각의 상기 메모리 셀들은 상기 기판과의 거리가 증가할수록 증가하는 사이즈를 갖는 스토리지 장치.
  8. 제6항에 있어서,
    상기 제어기는 상기 제1 메모리 블록의 상기 둘 이상의 존들 중에서 가장 큰 읽기 카운트를 갖는 제1존의 데이터를 상기 제2 메모리 블록의 상기 셀 스트링들의 각각의 상기 메모리 셀들 중에서 상기 기판과의 거리가 가장 먼 존의 메모리 셀들에 기입하도록 상기 불휘발성 메모리 장치를 제어하는 스토리지 장치.
  9. 각각 둘 이상의 존들을 포함하는 제1 저장 영역 및 제2 저장 영역을 포함하는 스토리지 장치의 동작 방법에 있어서:
    상기 제1 저장 영역에 대해 둘 이상의 샘플 읽기 동작들을 수행하여, 상기 제1 저장 영역의 상기 둘 이상의 존들의 읽기 카운트들을 추정하는 단계; 그리고
    상기 제1 저장 영역의 데이터를 상기 제2 저장 영역에 기입하는 읽기 리클레임 동작을 수행하는 단계를 포함하고,
    상기 읽기 리클레임 동작 시에, 상기 읽기 카운트들에 기반하여 상기 제1 저장 영역의 상기 둘 이상의 존들의 각각의 데이터가 상기 제2 저장 영역에 기입되는 위치들이 조절되는 동작 방법.
  10. 메모리 블록들을 포함하고, 상기 메모리 블록들의 각각은 셀 스트링들을 포함하고, 상기 셀 스트링들의 각각은 기판 위에서 상기 기판과 수직한 방향으로 적층되는 메모리 셀들을 포함하는 불휘발성 메모리 장치; 그리고
    상기 메모리 블록들 중 제1 메모리 블록의 데이터를 제2 메모리 블록에 기입하는 읽기 리클레임 동작 시에, 상기 제1 메모리 블록에서 샘플 읽기 동작들을 수행하여 상기 제1 메모리 블록의 상기 데이터의 읽기 카운트들을 추정하고, 그리고 상기 읽기 카운트들에 따라 상기 데이터가 상기 제2 메모리 블록에 기입되는 위치들을 결정하도록 구성되는 제어기를 포함하는 스토리지 장치.
KR1020200014421A 2020-02-06 2020-02-06 스토리지 장치 및 스토리지 장치의 동작 방법 KR20210100790A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200014421A KR20210100790A (ko) 2020-02-06 2020-02-06 스토리지 장치 및 스토리지 장치의 동작 방법
US16/996,266 US11508451B2 (en) 2020-02-06 2020-08-18 Storage device that determines write area of read reclaim operation based on estimated read count of reclaim area and operating method of the storage device
CN202011294090.1A CN113223590A (zh) 2020-02-06 2020-11-18 存储设备和存储设备的操作方法
EP21155075.1A EP3863017B1 (en) 2020-02-06 2021-02-03 Storage device and operating method of storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200014421A KR20210100790A (ko) 2020-02-06 2020-02-06 스토리지 장치 및 스토리지 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210100790A true KR20210100790A (ko) 2021-08-18

Family

ID=77085746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200014421A KR20210100790A (ko) 2020-02-06 2020-02-06 스토리지 장치 및 스토리지 장치의 동작 방법

Country Status (3)

Country Link
US (1) US11508451B2 (ko)
KR (1) KR20210100790A (ko)
CN (1) CN113223590A (ko)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
JP4267682B1 (ja) 2008-06-04 2009-05-27 株式会社ハギワラシスコム Nandフラッシュメモリのリフレッシュ方法
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US9176800B2 (en) 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
US9361182B2 (en) 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
KR102435873B1 (ko) 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
US9946469B2 (en) 2016-03-21 2018-04-17 Smart Modular Technologies, Inc. Solid state storage system with latency management mechanism and method of operation thereof
KR20180001711A (ko) * 2016-06-27 2018-01-05 삼성전자주식회사 저장 장치
US10216422B2 (en) * 2016-11-24 2019-02-26 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and access method for nonvolatile memory device
JP6386523B2 (ja) 2016-12-15 2018-09-05 ファナック株式会社 Nandフラッシュメモリの寿命を予測する機械学習装置、寿命予測装置、数値制御装置、生産システム、及び機械学習方法
KR102289598B1 (ko) * 2017-06-26 2021-08-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 그리고 그것의 프로그램 방법
KR20190088184A (ko) 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200116354A (ko) * 2019-04-01 2020-10-12 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20210249094A1 (en) 2021-08-12
US11508451B2 (en) 2022-11-22
CN113223590A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN107564562B (zh) 包含非易失性存储器设备和控制器的存储设备
KR101903574B1 (ko) 서브-블록 가비지 컬렉션
US9256530B2 (en) Nonvolatile memory device and sub-block managing method thereof
US10114575B2 (en) Storage device and operating method thereof
CN110827907A (zh) 包括非易失性存储器器件的储存设备及其操作方法
CN112650442B (zh) 存储器系统、存储器控制器及操作方法
CN114579486A (zh) 配置为控制非易失性存储器件的控制器的操作方法和储存设备的操作方法
CN114078529A (zh) 用于对多页数据进行编程的非易失性存储器设备的操作方法
KR20220021992A (ko) 비휘발성 메모리 장치, 그것의 동작 방법, 그것을 제어하는 제어기, 및 그것을 포함하는 저장 장치
KR102344380B1 (ko) 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
EP3863017B1 (en) Storage device and operating method of storage device
KR20210100790A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US11966608B2 (en) Memory controller with improved data reliability and memory system including the same
US20230176759A1 (en) Memory controller with improved data reliability and memory system including the same
US11854644B2 (en) Performing select gate integrity checks to identify and invalidate defective blocks
US20230418742A1 (en) Out-of-order programming of first wordline in a physical unit of a memory device
KR20230071013A (ko) 데이터 신뢰성을 향상한 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
JP2024031843A (ja) メモリコントローラとストレージ装置及びその動作方法
KR20230001182A (ko) 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
CN116386699A (zh) 存储器设备和控制其的存储器控制器的操作方法