KR20220098894A - 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법 - Google Patents

비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR20220098894A
KR20220098894A KR1020210000756A KR20210000756A KR20220098894A KR 20220098894 A KR20220098894 A KR 20220098894A KR 1020210000756 A KR1020210000756 A KR 1020210000756A KR 20210000756 A KR20210000756 A KR 20210000756A KR 20220098894 A KR20220098894 A KR 20220098894A
Authority
KR
South Korea
Prior art keywords
read
epi
memory device
read voltages
offset values
Prior art date
Application number
KR1020210000756A
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 KR1020210000756A priority Critical patent/KR20220098894A/ko
Priority to US17/376,437 priority patent/US11775203B2/en
Priority to DE102021119260.9A priority patent/DE102021119260A1/de
Priority to CN202111192474.7A priority patent/CN114724607A/zh
Publication of KR20220098894A publication Critical patent/KR20220098894A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • 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/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • 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
    • 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
    • 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/32Timing 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성한다. 상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성한다. 상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성하는 단계 및 상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출한다. 상기 시간차 정보를 이용하여 독출 전압들을 보정함으로써 독출 동작의 성공 확률을 증가하고 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.

Description

비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법{Storage device including nonvolatile memory device and method of operating the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법에 관한 것이다.
플래시 메모리 장치, 저항성 메모리 장치와 같은 비휘발성 메모리 장치의 메모리 셀들은 서로 다른 논리 상태들을 나타내는 문턱 전압 분포들 또는 저항 분포들을 가지도록 프로그램됨으로써 데이터를 저장할 수 있다. 소정의 문턱 전압 또는 저항을 가지는 메모리 셀에 소정의 독출 전압을 인가하여 메모리 셀에 저장된 상기 데이터가 독출될 수 있다.
메모리 셀들이 문턱 전압 분포들을 가지도록 프로그램되는 도중 또는 프로그램된 후, 전하 누설, 독출 디스터브, 프로그램 디스터브, 커플링, 온도 변화, 전압 변화, 반복되는 프로그램 및 소거에 따른 상기 메모리 셀의 열화 등의 동작 환경의 변화에 의해 각 문턱 전압 분포가 왜곡될 수 있다. 문턱 전압 분포가 왜곡되면 상기 데이터가 부정확하게 독출되는 독출 페일(Read Fail)이 발생할 수 있다. 독출 페일이 발생한 경우, 종래의 비휘발성 메모리 장치는 기설정된 독출 시퀀스에 따라서 다른 방법으로 독출을 시도한다.
이와 같이, 변화하는 동작환경에 대하여 기설정된 독출 시퀀스와 같은 동작 조건을 적용하는 경우 독출 레이턴시의 증가 등에 의하여 비휘발성 메모리 장치의 성능이 저하된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 소거-프로그램 간격(EPI, erase program interval)에 따른 문턱 전압 분포의 변동을 효율적으로 보상할 수 있는 비휘발성 메모리 장치를 포함하는 스토리지 장치를 제공하는 것이다.
또한 본 발명의 일 목적은, EPI에 따른 문턱 전압 분포의 변동을 효율적으로 보상할 수 있는 비휘발성 메모리 장치의 동작 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법은, 비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계, 상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하는 단계, 상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성하는 단계 및 상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 스토리지 장치는, 복수의 메모리 블록들을 포함하는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 스토리지 컨트롤러를 포함한다. 상기 스토리지 컨트롤러는, 상기 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하고, 상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하고, 상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성하고, 상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법은, 비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계, 상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하는 단계, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계, 트레이닝 EPI 값들 및 상기 트레이닝 EPI 값들에 상응하는 측정 오프셋 값들에 기초하여 인공 신경망을 학습시키는 단계, 상기 오프셋 정보 및 상기 시간차 정보를 학습된 상기 인공 신경 망에 입력하여 보정 오프셋 값들을 생성하는 단계, 상기 디폴트 독출 전압들에 상기 보정 오프셋 값들을 각각 합산하여 상기 보정 독출 전압들을 생성하는 단계, 및 상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행하는 단계를 포함한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, 소거-프로그램 간격(EPI, erase program interval)에 기초하여 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하고 상기 시간차 정보를 이용하여 독출 전압들을 보정함으로써 독출 동작의 성공 확률을 증가하고 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, 인공 신경망을 이용하여 최적의 독출 전압들을 생성함으로써 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, ZNS(Zoned NameSpace) 기입 동작을 효율적으로 지원하여 비휘발성 메모리 장치의 활용도(utilization)를 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 2 및 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 기입 동작의 실시예들을 나타내는 도면들이다.
도 4는 소거-프로그램 간격(EPI, erase program interval)에 따른 문턱 전압 분포의 변동을 나타내는 도면이다.
도 5은 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 메모리 블록들을 리텐션 그룹들로 분할한 일 예를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 디폴트 독출 전압들을 나타내는 도면이다.
도 7은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 오프셋 정보의 일 실시예를 나타내는 도면이다.
도 8은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간 정보의 일 실시예를 나타내는 도면이다.
도 9는 본 발명의 실시예들에 따른 스토리지 장치를 나타내는 블록도이다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 실시예를 나타내는 블록도이다.
도 11은 도 10의 비휘발성 메모리 장치에 포함되는 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 12는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법이 적용될 수 있는 멀티 레벨 셀의 상태들의 일 예를 나타내는 도면이다.
도 13은 도 12의 상태들 및 비트 값들의 매핑 관계를 나타내는 상태-비트 매핑 정보의 일 예를 나타내는 도면이다.
도 14는 도 13의 상태-비트 매핑 정보에 상응하는 독출 동작을 나타내는 도면이다.
도 15는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 보정 독출 전압들을 생성하는 방법의 일 실시예를 나타내는 순서도이다.
도 16 및 17은 본 발명의 실시예들에 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 18은 신경망의 예시적인 노드를 나타내는 도면이다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 일 실시예를 나타내는 도면이다.
도 20은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 학습 과정을 설명하기 위한 도면이다.
도 21은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 일 실시예를 나타내는 도면이다.
도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 독출 과정의 일 실시예를 나타내는 순서도이다.
도 23은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 독출 시퀀스를 나타내는 도면이다.
도 24는 디폴트 독출 전압과 교정 독출 전압의 관계를 설명하기 위한 도면이다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 오프셋 정보의 갱신을 설명하기 위한 도면이다.
도 26은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간차 정보의 갱신을 설명하기 위한 도면이다.
도 27은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간차 정보의 백업을 설명하기 위한 도면이다.
도 28은 본 발명의 실시예들에 따른 스토리지 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 1을 참조하면, 비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 소거-프로그램 간격(EPI, erase program interval)에 기초하여 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성한다(S100). EPI는 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타낸다. EPI에 기초한 리텐션 그룹들의 분할 및 시간차 정보의 생성에 대해서는 도 2 내지 8을 참조하여 후술한다.
상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성한다(S200). 상기 복수의 디폴트 전압들은 비휘발성 메모리 장치의 테스트 과정을 통하여 결정될 수 있다. 상기 복수의 교정 독출 전압들은 도 24를 참조하여 후술하는 바와 같은 밸리 검색 동작을 통하여 결정되고 갱신될 수 있다.
상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성한다(S300). 일 실시예에서, 도 15 내지 21을 참조하여 후술하는 바와 같이, 상기 오프셋 정보 및 상기 시간차 정보를 학습된 상기 인공 신경 망에 입력하여 보정 오프셋 값들을 생성하고, 상기 보정 오프셋 값들에 기초하여 상기 보정 독출 전압들을 생성할 수 있다. 다른 실시예에서, 상기 오프셋 정보의 오프셋 값들 및 상기 시간차 정보의 EPI 값들과 상기 보정 오프셋 값들 사이의 매핑 관계를 나타내는 매핑 테이블을 문턱 전압 분포의 측정을 통하여 사전에 생성하고, 상기 매핑 테이블을 이용하여 상기 보정 독출 전압들을 생성할 수도 있다.
상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행한다(S400). 상기 독출 동작을 포함하는 비휘발성 메모리 장치의 동작 및 비휘발성 메모리 장치의 구성에 대해서는 도 9 내지 14를 참조하여 후술한다.
이와 같이, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, EPI에 기초하여 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하고 상기 시간차 정보를 이용하여 독출 전압들을 보정함으로써 독출 동작의 성공 확률을 증가하고 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.
도 2 및 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 기입 동작의 실시예들을 나타내는 도면들이다.
도 2 및 3을 참조하면, 호스트 장치는 복수의 애플리케이션들(APP1, APP2, APP3)을 동시에 수행할 수 있고, 호스트 장치가 운용하는 버츄얼 어드레스 공간(VAS, virtual address space)에 복수의 애플리케이션들(APP1, APP2, APP3)을 위한 어드레스 공간들을 각각 할당할 수 있다. 버츄얼 어드레스 공간의 논리 어드레스들(LA)은 비휘발성 메모리 장치의 플래시 변환 계층(FTL, Flash Translation Layer)에 의해 물리 어드레스들(PA)로 매핑되어 비휘발성 메모리 장치(NVM)의 메모리 블록들(BLK1, BLK2, BLK3)에 기입된다.
도 2에는 애플리케이션들(APP1, APP2, APP3)의 구분 없이 비휘발성 메모리 장치에 호스트 장치의 기입 요청 순서대로 각각의 메모리 블록에 순차적으로 데이터를 기입하는 것을 나타낸다. 이와 같은 순차적인 기입 방식은 하나의 메모리 블록에 애플리케이션들(APP1, APP2, APP3)에 상응하는 데이터가 혼합되어 쓰여지므로 이후 저장된 데이터가 변경되는 경우 메모리 블록 내의 무효 데이터(invalid data) 또는 오염 데이터(dirty data)가 증가하여, 해당 메모리 블록의 유효 데이터만을 다른 메모리 블록에 옮겨 기입하는 가비지 콜렉션(garbage collection)을 진행하게 된다. 이 가비지 콜렉션은 호스트 장치와 스토리지 장치 사이의 입출력 동작 중에 발생하므로 그 오버헤드로 인해 스토리지 장치 및 이를 포함하는 시스템의 성능을 저해한다. 또한 빈번한 가비지 콜렉션에 의해 소거 및 기입 동작을 증가시켜 스토리지 장치의 수명에도 악영향을 준다.
반면에, 도 3에는 각각의 메모리 블록에 동일한 애플리케이션에 해당하는 데이터만을 저장하는 ZNS(Zoned NameSpace) 기입 동작이 도시되어 있다. ZNS(Zoned NameSpace) 기입 방식은 애플리케이션들(APP1, APP2, APP3)이 각자 정해진 존(zone)에 순차적으로 데이터를 저장하게 하고 소거 동작을 존 단위로 하여 가비지 콜렉션의 빈도를 현저하게 감소시킬 수 있다. 따라서, 소거 및 기입 횟수를 감소하여 스토리지 장치의 수명이 증가할 수 있고, 가비지 콜렉션으로 인한 오버헤드를 감소할 수 있다. 또한, 가비지 콜렉션에 사용되는 예비 메모리 블록들의 개수를 감소하여 스토리지 장치의 메모리 공간을 더욱 효율적으로 사용할 수 있다.
도 4는 소거-프로그램 간격(EPI, erase program interval)에 따른 문턱 전압 분포의 변동을 나타내는 도면이다.
도 4에서, 가로축은 메모리 셀의 문턱 전압(VTH)을 나타내고 세로축은 문턱 전압(VTH)에 상응하는 메모리 셀의 개수를 나타낸다. 제1 분포(DST1)는 프로그램 시점이 소거 시점 직후인 경우의 문턱 전압 분포를 나타내고 제2 분포(DST2)는 소거 시점 및 프로그램 시점이 비교적 긴 경우의 문턱 전압 분포를 나타낸다.
도 4에 도시된 바와 같이, 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 EPI가 증가할수록 문턱 전압 변동이 심해지며 문턱 전압이 낮은 상태에서 이러한 EPI 효과가 증가한다. 제1 분포(DST1)의 경우는 디폴트 독출 전압들(VR1, VR2)이 최적의 독출 전압들에 해당하지만 제2 분포(DST2)의 경우는 도 24를 참조하여 후술하는 바와 같은 밸리 검색 동작 등을 통하여 교정 독출 전압들(VR1', VR2')을 구하는 작업이 요구된다. 전술한 오프셋 값들(OFS1, OFS2)은 디폴트 독출 전압들(VR1, VR2) 및 교정 독출 전압들(VR1', VR2')의 차이들에 각각 상응한다. 이러한, 교정 독출 전압들의 갱신을 위한 시간의 소요는 스토리지 장치의 성능을 저하하는 요인이 된다.
도 3에 도시된 바와 같은 ZNS 기입 방식은 전술한 바와 같은 장점들이 있음에도 불구하고, 각각의 메모리 블록 내의 데이터들마다 EPI의 차이가 크기 때문에 교정 독출 전압들의 갱신이 빈번하게 요구되기 때문에 EPI가 일정한 임계 시간을 넘어서면 해당 메모리 블록의 프로그램을 더 이상 허용하지 않는 EPI 폐쇄(close) 정책이 적용되고 있다. 이러한 EPI 폐쇄 정책은 비휘발성 메모리 장치의 메모리 공간의 활용도(utilization)를 저하시키게 된다.
본 발명의 실시예들에 따라서, 많은 시간이 소요되는 교정 독출 전압들의 갱신을 수행하기 이전에 전술한 바와 같은 시간차 정보 및 오프셋 정보에 기초하여 보정 독출 전압들을 구하는 과정을 선행함으로써 EPI 폐쇄 정책을 적용하지 않거나 EPI 폐쇄의 임계 시간을 현저히 증가시킬 수 있고, 결과적으로 메모리 블록 내에 더 많은 데이터를 저장할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, ZNS 기입 동작을 효율적으로 지원하여 비휘발성 메모리 장치의 활용도를 향상시킬 수 있다.
도 5은 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 메모리 블록들을 리텐션 그룹들로 분할한 일 예를 나타내는 도면이다.
도 5에는 도시의 편의상 3개의 메모리 블록들만을 도시하고 있으나, ZNS 기입 동작이 적용되는 메모리 블록들의 개수는 애플리케이션들의 개수, 애플리케이션들에 의해 비휘발성 메모리 장치에 저장되는 데이터의 양에 따라 다양하게 결정될 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 제1 메모리 블록(BLK1)은 제1 내지 제4 리텐션 그룹들(RGR11~RGR14)을 포함할 수 있고, 제2 메모리 블록(BLK2)은 제1 및 제2 리텐션 그룹들(RGR21, RGR22)을 포함할 수 있고, 제3 메모리 블록(BLK3)은 제1 내지 제3 리텐션 그룹들(RGR31~RGR33)을 포함할 수 있다. 제1 메모리 블록(BLK1)은 모든 메모리 영역에 데이터가 기입된 경우를 나타내고, 이 경우 상응하는 애플리케이션의 데이터는 다른 소거 메모리 블록을 동일한 존으로 지정하여 기입될 수 있다. 제2 및 제3 메모리 블록들(BLK2, BLK3)은 일부의 메모리 공간이 소거된 상태로 남아 있는 경우를 나타내고, 이 경우 상응하는 애플리케이션의 데이터는 소거된 상태의 메모리 공간에 기입될 수 있다.
리텐션 그룹들의 분할은 다양한 기준에 의해 수행될 수 있다. 연속적으로 기입되는 데이터들은 동일한 리텐션 그룹에 속할 수 있고, 마지막 기입 동작 시점부터 일정한 기준 시간이 경과한 후에 기입되는 데이터는 새로운 리텐션 그룹으로 지정될 수 있다. 리텐션 그룹의 분할을 위한 상기 기준 시간은 비휘발성 메모리 장치의 동작 특성 등에 따라서 적절하게 결정될 수 있다.
도 6은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 디폴트 독출 전압들을 나타내는 도면이다.
도 6을 참조하면, 비휘발성 메모리 장치의 테스트 과정을 통하여 각각의 메모리 블록에 대하여 디폴트 독출 전압들이 결정될 수 있다. 상기 테스트 과정은 비휘발성 메모리 장치의 제조 과정 전후로 수행될 수 있다. 실시예에 따라서, 비휘발성 메모리 장치가 스토리지 장치에 장착된 이후에도 스토리지 장치의 제어하에 디폴트 독출 전압들을 갱신하기 위한 테스트가 수행될 수도 있다.
예를 들어, 도 6에 도시된 바와 같이, 제1 메모리 블록(BLK1)에 대하여 제1 내지 제(k+1) 상태들을 식별하기 위한 제1 내지 제k 디폴트 독출 전압들(VR11~VR1k)이 결정될 수 있고, 제2 메모리 블록(BLK2)에 대하여 제1 내지 제(k+1) 상태들을 식별하기 위한 제1 내지 제k 디폴트 독출 전압들(VR21~VR2k)이 결정될 수 있고, 제3 메모리 블록(BLK3)에 대하여 제1 내지 제(k+1) 상태들을 식별하기 위한 제1 내지 제k 디폴트 독출 전압들(VR31~VR3k)이 결정될 수 있다. 메모리 블록들의 특성에 따라서 디폴트 독출 전압들은 동일할 수도 있고 상이할 수도 있다.
도 7은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 오프셋 정보의 일 실시예를 나타내는 도면이다.
도 7을 참조하면, 오프셋 정보(OFSINF)는 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함할 수 있다. 각각의 오프셋 값(OFS)(i, j는 자연수)은 도 4를 참조하여 설명한 바와 같이, 각각의 디폴트 독출 전압(VRij)에서 각각의 교정 독출 전압(VRij')을 뺀 값에 해당할 수 있다.
예를 들어, 도 7에 도시된 바와 같이, 제1 메모리 블록(BLK1)에 대하여 제1 내지 제(k) 오프셋 값들(OFS11~OFS1k)이 결정될 수 있고, 제2 메모리 블록(BLK2)에 대하여 제1 내지 제(k) 오프셋 값들(OFS21~OFS2k)이 결정될 수 있고, 제3 메모리 블록(BLK3)에 대하여 제1 내지 제(k) 오프셋 값들(OFS31~OFS3k)이 결정될 수 있다. 오프셋 정보(OFSINF)는 스토리지 장치가 파워-오프될 때 삭제 또는 무효화되고 스토리지 장치가 파워-온될 때 0의 값들로 초기화될 수 있다. 오프셋 정보(OFSINF)의 오프셋 값들은 상응하는 교정 독출 전압의 갱신이 있을 때까지 0의 값을 유지할 수 있다.
도 8은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간 정보의 일 실시예를 나타내는 도면이다.
도 8을 참조하면, 시간차 정보(TDINF)는 각각의 메모리 블록(BLKi)(i는 자연수)의 복수의 리텐션 그룹들(RGRi1~RGRi4)에 각각 상응하는 복수의 EPI 값들을 포함할 수 있다. EPI 값들은 리텐션 그룹들 사이의 상대적인 EPI를 나타내기 위한 것으로서 EPI의 절대적인 시간들을 나타내는 것은 아니다. 도 8에는 도시의 편의상 각각의 메모리 블록(BLKi)이 리텐션 그룹들을 최대 4개까지 포함하는 예를 도시하고 있으나, 각각의 메모리 블록(BLKi)에 포함되는 리텐션 그룹들의 개수는 ZNS 기입 동작에 따른 EPI의 산포에 따라서 다양하게 결정될 수 있다.
예를 들어, 도 8에 도시된 바와 같이, 제1 메모리 블록(BLK1)에 대하여 제1 내지 제4 리텐션 그룹들(RGR11~RGR14)에 각각 상응하는 제1 내지 제4 EPI 값들(TD11~TD14)이 결정될 수 있고, 제2 메모리 블록(BLK2)에 대하여 제1 및 제2 리텐션 그룹들(RGR21, RGR22)에 각각 상응하는 제1 및 제2 EPI 값들(TD21, TD22)이 결정될 수 있고, 제3 메모리 블록(BLK3)에 대하여 제1 내지 제3 리텐션 그룹들(RGR31~RGR33)에 각각 상응하는 제1 내지 제3 EPI 값들(TD31~TD33)이 결정될 수 있다.
도 8에는 예시적인 EPI 값들이 괄호 안에 표시되어 있다. 각각의 메모리 블록(BLKi)에 대하여 EPI 값이 0인 리텐션 그룹을 기준 리텐션 그룹이라고 칭할 수 있다. 도 8의 예에서, 제1 메모리 블록(BLK1)은 제1 리텐션 그룹(RGR11)이 기준 리텐션 그룹에 해당하고, 제2 메모리 블록(BLK2)은 제1 리텐션 그룹(RGR21)이 기준 리텐션 그룹에 해당하고, 제3 메모리 블록(BLK3)은 제3 리텐션 그룹(RGR32)이 기준 리텐션 그룹에 해당한다. 각각의 메모리 블록(BLKi)에서 다른 리텐션 그룹들의 EPI 값들은 기준 리텐션 그룹의 EPI 값, 즉 0의 값과의 상대적인 차이 값으로 표현될 수 있다. 예를 들어, 제3 메모리 블록(BLK3)의 경우, 제1 리텐션 그룹(RGR31)은 기준 리텐션 그룹인 제2 리텐션 그룹(RG32)보다 -20만큼 EPI가 작고, 제3 리텐션 그룹(RGR33)은 기준 리텐션 그룹인 제2 리텐션 그룹(RG32)보다 50만큼 EPI가 큰 것을 나타낸다. EPI 값의 단위는 초, 분, 시간 등과 같이 다양하게 설정될 수 있다.
일 실시예에서, 기준 리텐션 그룹에 상응하는 교정 독출 전압들은 상기 보정 독출 전압들과 동일할 수 있다. 이 경우, 인공 신경망 등을 이용한 보정 독출 전압들의 생성 과정이 생략될 수 있고, 최근에 갱신된 교정 독출 전압을 그대로 보정 독출 전압들로 사용할 수 있다.
이하, 도 9 내지 14를 참조하여, 본 발명의 실시예들에 따른 비휘발성 메모리 장치 및 스토리지 시스템의 구성 및 동작에 대해 설명하기로 한다.
도 9는 본 발명의 실시예들에 따른 스토리지 장치를 나타내는 블록도이다.
도 9를 참조하면, 시스템(1000)은 호스트 장치(2000) 및 스토리지 장치(3000)를 포함한다. 예를 들어, 스토리지 장치(3000)는 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), SSD(solid state drive), UFS(universal flash storage) 장치일 수 있다.
호스트 장치(2000)는 스토리지 장치(3000)의 데이터 처리 동작, 예를 들어, 데이터 독출 동작 또는 데이터 기입 동작 등을 제어할 수 있다. 호스트 장치(2000)는 씨피유(CPU, central processing unit), 프로세서, 마이크로프로세서 (microprocessor) 또는 애플리케이션 프로세서(application processor) 등과 같이 데이터를 처리할 수 있는 데이터 처리 장치일 수 있고, 상기 데이터 처리 장치(2000) 및 스토리지 장치(3000)는 전자 장치에 내장(embedded) 또는 구현될 수 있다.
스토리지 장치(3000)는 호스트 장치(2000)와 데이터 통신을 위해 접속 수단들, 예컨대, 패드들(pads), 핀들(pins), 버스(bus), 또는 통신 라인들을 통하여 전기적으로 서로 접속될 수 있다. 호스트 장치(2000)는 버스(20)를 통하여 연결된 프로세서(CPU)(2100), 메모리(MEM)(2200) 및 호스트 컨트롤러 인터페이스(HCI)(2300)를 포함할 수 있다. 프로세서(2100)에 의해 운영 체제(OS) 및/또는 호스트 펌웨어(FW)(2110)가 구동될 수 있다. 프로세서(2100)는 코맨드(CMD)의 생성, 응답(RES)의 해석, 스토리지 장치(3000)의 레지스터, 예를 들어, Extended(EXT)_CSD 레지스터(미도시)에 저장된 데이터 및/또는 데이터 처리 동작을 제어할 수 있는 하드웨어를 의미할 수 있다. 프로세서(2100)는 운영 체제/호스트 펌웨어(2110)를 구동하여 상기와 같은 동작들을 수행할 수 있다. 호스트 컨트롤러 인터페이스(2300)는 스토리지 장치(3000)와 인터페이스하기 위한 구성요소이다.
스토리지 장치(3000)는 복수의 비휘발성 메모리 장치들(NVM)(3100) 및 스토리지 컨트롤러(3200)를 포함한다. 비휘발성 메모리 장치들(3100)은 옵션적으로 외부 고전압(VPP)을 제공받도록 구현될 수 있다. 비휘발성 메모리 장치들(3100)은 플래시 메모리, 에프램(FRAM, ferroelectric random access memory), 피램(PRAM, phase-change random access memory), 엠램(MRAM, magnetic random access memory) 등으로 구현될 수 있다.
스토리지 컨트롤러(3200)는 복수의 채널들(CH1~CH4)을 통하여 비휘발성 메모리 장치들(1100)에 연결된다. 스토리지 컨트롤러(200)는 버스(1330)를 통하여 연결된 적어도 하나의 프로세서(3210), 에러 정정 회로(ECC)(3220), 호스트 인터페이스(3230), 휘발성 메모리(3240), 비휘발성 메모리 인터페이스(3250) 및 EPI 검출기(3260)를 포함할 수 있다.
휘발성 메모리(3240)는 스토리지 컨트롤러(3200)의 구동에 필요한 데이터를 임시로 저장할 수 있다. 도 9에서 버퍼 메모리(3240)는 스토리지 컨트롤러(3200)의 내부에 포함되는 것으로 도시되어 있지만 반드시 여기에 제한되지 않을 것이다. 휘발성 메모리(3240)에는 전술한 바와 같은 오프셋 정보(OFSINF) 및 시간차 정보(TDINF)가 저장될 수 있다.
프로세서(3210)는 스토리지 컨트롤러(3200)의 전반적인 동작을 제어하도록 구성된다. 예를 들면, 프로세서(3210)는 플래시 변환 계층(FTL, Flash Translation Layer) 등을 포함하는 펌웨어를 운용하도록 구성된다. 플래시 변환 계층(FTL)은 다양한 기능들을 수행할 수 있다. 예를 들면, 플래시 변환 계층(FTL)은 어드레스 맵핑 동작, 읽기 교정 동작, 에러 정정 동작, 등을 수행하는 다양한 계층들을 포함할 수 있다.
프로세서(3210)는 휘발성 메모리(3240)을 제어하는 기능을 가질 수 있고, 이 경우 전술한 리페어 매니저(3211) 및 누적 에러 테이블(AET)은 프로세서(3210) 내에 구현될 수 있다. 리페어 매니저(3211)는 하드웨어, 소프트웨어 또는 이들의 조합의 형태로 프로세서(3210) 내에 구현될 수 있다.
본 발명의 실시예들에 따라서, 프로세서(3210)는 인공 신경망 모듈 또는 머신 러닝 모듈(MLM)을 포함할 수 있다. 본 개시에서는 설명의 편의상 인공 신경망 모듈을 중심으로 본 발명의 실시예들을 설명하지만, 본 발명의 실시예들은 다양한 형태의 머신 러닝 모듈에 적용될 수 있다. 본 개시에서 인공 신경망 모듈과 머신 러닝 모듈과 동일한 것으로 간주될 수 있다. 머신 러닝 모듈(MLM)은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 머신 러닝 모듈(MLM)에 대해서는 도 16 내지 18을 참조하여 후술한다.
EPI 검출기(3260)는 하나 이상의 타이머를 포함할 수 있으며, 비휘발성 메모리 장치(NVM)의 메모리 셀 어레이에 포함되는 메모리 블록들의 각각의 EPI를 검출할 수 있다. 실시예들에 따라서, EPI 검출기(3260)는 시간을 측정할 수 있는 다른 다양한 구성들을 포함할 수 있으며, 일 예로서 EPI 검출기(3260)가 클록 카운팅에 기반하여 시간을 측정하는 경우에는 카운터가 EPI 검출기(3260)에 구비될 수도 있을 것이다. 예시적인 실시예에 따라, 각각의 메모리 블록에 대해 타이머가 배치될 수 있다. 또는, 하나의 타이머가 다수의 메모리 블록들에 대해 공유되도록 구현될 수도 있으며, 또는 각각의 메모리 블록에 포함되는 다수의 페이지들에 대해 페이지 별로 타이머가 별도로 구비되도록 구현될 수도 있을 것이다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 실시예를 나타내는 블록도이다.
도 10을 참조하면, 비휘발성 메모리 장치(NVM)는 메모리 셀 어레이(100), 어드레스 디코더(430), 페이지 버퍼 회로(410), 데이터 입출력 회로(420), 제어 회로(450) 및 전압 생성기(460)를 포함할 수 있다.
메모리 셀 어레이(100)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인(GSL)을 통해 어드레스 디코더(430)와 연결될 수 있다. 또한, 메모리 셀 어레이(100)는 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다.
메모리 셀 어레이(100)는 복수의 메모리 블록들(BLKi)(i는 자연수)를 포함할 수 있고, 각각의 메모리 블록은 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)에 연결되는 복수의 메모리 셀들을 포함할 수 있다.
일 실시예에 있어서, 메모리 셀 어레이(100)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(100)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 수직 메모리 낸드 스트링들을 포함할 수 있다.
제어 회로(450)는 스토리지 컨트롤러(1200)로부터 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 수신하고, 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 비휘발성 메모리 장치(10)의 소거 루프, 프로그램 루프 및 독출 동작을 제어할 수 있다. 여기서 프로그램 루프는 프로그램 동작과 프로그램 검증 동작을 포함할 수 있고, 소거 루프는 소거 동작과 소거 검증 동작을 포함할 수 있다. 여기서 독출 동작은 노멀 독출 동작과 데이터 리커버리 독출 동작을 포함할 수 있다.
예를 들어, 제어 회로(450)는 커맨드 신호(CMD)에 기초하여 전압 생성기(460)를 제어하기 위한 제어 신호들(CTL) 및 페이지 버퍼 회로(410)를 제어하기 위한 제어 신호들(PBC)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(450)는 로우 어드레스(R_ADDR)를 어드레스 디코더(430)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(420)에 제공할 수 있다. 어드레스 디코더(430)는 복수의 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(100)와 연결될 수 있다.
프로그램 동작 또는 독출 동작시, 어드레스 디코더(430)는 제어 회로(450)로부터 제공되는 로우 어드레스(R_ADDR)에 기초하여 복수의 워드 라인들(WL) 중의 하나를 선택 워드 라인으로 결정하고, 나머지 워드 라인들을 비선택 워드 라인들로 결정할 수 있다.
또한, 프로그램 동작 또는 독출 동작시, 어드레스 디코더(430)는 제어 회로(450)로부터 제공되는 로우 어드레스(R_ADDR)에 기초하여 복수의 스트링 선택 라인들(SSL) 중의 하나를 선택 스트링 선택 라인으로 결정하고, 나머지 스트링 선택 라인들을 비선택 스트링 선택 라인들로 결정할 수 있다.
전압 생성기(460)는 제어 회로(450)로부터 제공되는 제어 신호들(CTL)에 기초하여 비휘발성 메모리 장치(NVM)의 동작에 필요한 워드 라인 전압들(VWL)을 생성할 수 있다. 전압 생성기(460)로부터 생성되는 워드 라인 전압들(VWL)은 어드레스 디코더(430)를 통해 복수의 워드 라인들(WL)에 구동 전압들로서 인가될 수 있다.
예를 들어, 프로그램 동작시, 전압 생성기(460)는 선택 워드 라인에 프로그램 전압을 인가하고, 비선택 워드 라인들에는 프로그램 패스 전압을 인가할 수 있다. 또한 프로그램 검증 동작시, 전압 생성기(460)는 선택 워드 라인에 검증 독출 전압을 인가하고, 비선택 워드 라인들에는 독출 패스 전압을 인가할 수 있다.
또한, 통상의 독출 동작시, 전압 생성기(460)는 선택 워드 라인에 노말 독출 전압을 인가하고, 비선택 워드 라인들에는 독출 패스 전압을 인가할 수 있다. 또한 데이터 리커버 독출 동작시, 전압 생성기(460)는 선택 워드 라인에 인접한 워드 라인에 독출 전압을 인가하고, 선택 워드 라인에는 리커버 독출 전압을 인가할 수 있다.
페이지 버퍼 회로(410)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(100)와 연결될 수 있다. 페이지 버퍼 회로(410)는 복수의 페이지 버퍼를 포함할 수 있다. 일 실시예에 있어서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에 있어서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(410)는 프로그램 동작시 선택된 페이지에 프로그램될 데이터 또는 기입 데이터를 임시로 저장하고, 독출 동작시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(420)는 데이터 라인들(DL)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다. 프로그램 동작시, 데이터 입출력 회로(420)는 스토리지 컨트롤러(1200)로부터 프로그램 데이터(DATA)를 수신하고, 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 프로그램 데이터(DATA)를 페이지 버퍼 회로(410)에 제공할 수 있다. 독출 동작시, 데이터 입출력 회로(420)는 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(410)에 저장된 독출 데이터(DATA)를 스토리지 컨트롤러(1200)에 제공할 수 있다.
또한, 페이지 버퍼 회로(410)와 입출력 회로(420)는 메모리 셀 어레이(100)의 제1 저장 영역으로부터 데이터를 독출하고, 독출된 데이터를 메모리 셀 어레이(100)의 제2 저장 영역에 기입할 수 있다. 즉, 페이지 버퍼 회로(410)와 입출력 회로(420)는 카피-백(copy-back) 동작을 수행할 수 있다. 페이지 버퍼 회로(410)와 입출력 회로(420)는 제어 회로(450)에 의하여 제어될 수 있다.
도 11은 도 10의 비휘발성 메모리 장치에 포함되는 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 11에서, 기판 상면에 실질적으로 수직한 방향을 제1 방향(D1), 상기 기판 상면에 평행하면서 서로 교차하는 두 방향을 각각 제2 방향(D2) 및 제3 방향(D3)으로 정의한다. 예를 들면, 제2 방향(D2) 및 제3 방향(D3)은 실질적으로 서로 수직하게 교차할 수 있다. 제1 방향(D1)은 수직 방향, 제2 방향(D2)은 행 방향, 제3 방향(D3)은 열 방향이라 칭할 수도 있다.
도 11에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 제1 방향(D1)으로 형성될 수 있다.
도 11을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 셀 스트링들, 즉 복수의 메모리 낸드 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 낸드 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 도 11에는 복수의 메모리 낸드 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 게이트 라인(GTL1, GTL2, ..., GTL8)에 연결될 수 있다. 게이트 라인(GTL1, GTL2, ..., GTL8)은 워드 라인들에 해당할 수 있으며, 게이트 라인(GTL1, GTL2, ..., GTL8)의 일부는 더미 워드 라인에 해당할 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, GTL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다. 도 11에는 메모리 블록(BLK)이 여덟 개의 게이트 라인(GTL1, GTL2, ..., GTL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
도 11을 참조하여 삼차원 낸드 플래시 장치 또는 수직형 낸드 플래시 장치에 대해서 설명하였으나, 본 발명의 실시예들에 따른 비휘발성 메모리 장치는 각 메모리 셀에 복수의 비트들이 저장될 수 있는 임의의 비휘발성 메모리 장치일 수 있다. 예를 들어, 비휘발성 메모리 장치는 PRAM (Phase-change random access memory), MRAM (Magnetic random access memory), RRAM (Resistive random access memory), FRAM (Ferroelectric random access memory) 등을 포함할 수 있다.
이하, 도시 및 설명의 편의상 각 메모리 셀에 3개의 비트들을 저장하는 TLC(triple level cell) 운용 방식을 기초로 본 발명의 실시예들을 설명하지만, 본 발명의 실시예들이 이에 한정되는 것은 아니다.
도 12는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법이 적용될 수 있는 멀티 레벨 셀의 상태들의 일 예를 나타내는 도면이다.
도 12에서 가로축은 메모리 셀의 문턱 전압(VTH)을 나타내고 세로축은 문턱 전압(VTH)에 상응하는 메모리 셀의 개수를 나타낸다. 프로그램 동작시 제1 내지 제8 상태들(S1~S8)에 대한 프로그램 수행 결과는 제1 내지 제7 검증 독출 전압들(VVR1~VVR7)을 선택 워드 라인에 순차적으로 인가함으로써 판별될 수 있다. 또한, 독출 동작시 제1 내지 제8 상태들(S1~S8)의 각 비트는 도 14를 참조하여 후술하는 바와 같이 노말 독출 전압들(VR1~VR7)의 일부를 선택 워드 라인에 순차적으로 인가함으로써 판별될 수 있다. 이하에서는, 독출 전압은 상기 노말 독출 전압을 나타낼 수 있다.
도 13은 도 12의 상태들 및 비트 값들의 매핑 관계를 나타내는 상태-비트 매핑 정보의 일 예를 나타내는 도면이고, 도 14는 도 13의 상태-비트 매핑 정보에 상응하는 독출 동작을 나타내는 도면이다.
도 13은 12의 상태들 및 비트 값들의 매핑 관계를 나타내는 상태-비트 매핑 정보의 일 예를 나타내는 도면이고, 도 14는 도 13의 상태-비트 매핑 정보에 상응하는 독출 동작을 나타내는 도면이다.
도 13을 참조하면, 상태-비트 매핑 정보(MINF)는 복수의 멀티-레벨 셀들에 저장되는 상태들 및 비트 값들의 매핑 관계를 나타낼 수 있다. 도 13에는 도 12의 제1 내지 제8 상태들(S1~S8)에 매핑되는 예시적인 비트 값들이 도시되어 있으며, 본 발명의 실시예들이 이에 한정되는 것은 아니다. 제1 내지 제8 상태들(S1~S8)은 LSB, CSB 및 MSB 비트들로 이루어진 서로 다른 값들로 구별될 수 있다. 예를 들어, 도 13에 예시된 바와 같이 제1 상태(S1)는 '111'에 상응하고, 제2 상태(S2)는 '110'에 상응하고, 제3 상태(S3)는 '100'에 상응하고, 제4 상태(S4)는 '000'에 상응하고, 제5 상태(S5)는 '010'에 상응하고, 제6 상태(S6)는 '011'에 상응하고, 제7 상태(S7)는 '001'에 상응하고, 제8 상태(S1)는 '101'에 상응할 수 있다.
이 경우, LSB를 판독하기 위해서는 제1 독출 전압(VR1) 및 제5 독출 전압(VR5)이 이용되고, CSB를 판독하기 위해서는 제2 독출 전압(VR2), 제4 독출 전압(VR4) 및 제6 독출 전압(VR6)이 이용되고, MSB를 판독하기 위해서는 제3 독출 전압(VR3) 및 제7 독출 전압(VR7)이 이용될 수 있다.
예를 들어, 도 14에 도시된 바와 같이, 하이-투-로우(high-to-low) 독출 시퀀스에 의해 독출 동작이 수행될 수 있다. LSB 독출 동작의 경우에는 제5 독출 전압(VR5) 및 제1 독출 전압(VR1)이 순차적으로 선택 워드 라인에 인가될 수 있다. CSB 독출 동작의 경우에는 제6 독출 전압(VR6), 제4 독출 전압(VR4) 및 제2 독출 전압(VR2)이 순차적으로 선택 워드 라인에 인가될 수 있다. MSB 독출 동작의 경우에는 제7 독출 전압(VR7) 및 제3 독출 전압(VR3)이 순차적으로 선택 워드 라인에 인가될 수 있다.
도 15는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 보정 독출 전압들을 생성하는 방법의 일 실시예를 나타내는 순서도이다.
도 15를 참조하면, 도 7에 도시된 바와 같은 오프셋 정보(OFSINF)로부터 독출 어드레스에 상응하는 타겟 메모리 블록의 타겟 오프셋 값들을 추출할 수 있다(S310).
도 8에 도시된 바와 같은 시간차 정보로부터 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹의 타겟 EPI 값을 추출할 수 있다(S320).
상기 타겟 오프셋 값들 및 상기 타겟 EPI 값을 학습된 인공 신경망에 입력하여 보정 오프셋 값들을 생성할 수 있다(S330).
상기 디폴트 독출 전압들에 상기 보정 오프셋 값들을 각각 합산하여 상기 보정 독출 전압들을 생성할 수 있다(S340).
이하, 도 16 내지 21을 참조하여 도 15의 보정 독출 전압들의 생성에 관한 실시예를 더욱 자세히 설명한다.
도 16 및 17은 본 발명의 실시예들에 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 16을 참조하면, 일반적인 신경망의 네트워크 구조는 입력 레이어(IL), 복수의 히든 레이어들(HL1, HL2, ..., HLn) 및 출력 레이어(OL)를 포함할 수 있다.
입력 레이어(IL)는 입력 데이터(IDAT)에 상응하는 i(i는 자연수)개의 입력 노드들(x1, x2, ..., xi)을 포함할 수 있고, 길이가 i인 벡터 입력 데이터(IDAT)가 각 입력 노드에 입력될 수 있다.
복수의 히든 레이어들(HL1, HL2, ..., HLn)은 n(n은 자연수)개의 히든 레이어들을 포함하며, 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m, h2 1, h2 2, h2 3, ..., h2 m, hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다. 예를 들어, 히든 레이어(HL1)는 m(m은 자연수)개의 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m)을 포함할 수 있고, 히든 레이어(HL2)는 m개의 히든 노드들(h2 1, h2 2, h2 3, ..., h2 m)을 포함할 수 있으며, 히든 레이어(HLn)는 m개의 히든 노드들(hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다. 도 10에는 도시의 편의상 히든 레이어들(HL1~HLn)에 포함되는 노드들의 개수가 동일한 것으로 도시되어 있으나, 노드들의 개수는 히든 레이어마다 다양하게 결정될 수 있다.
출력 레이어(OL)는 출력 데이터(DOUT)에 대응하는 j(j는 자연수)개의 출력 노드들(y1, y2, ..., yj)을 포함할 수 있고, 입력 데이터(IDAT)에 상응하는 출력 데이터(DOUT)를 생성할 수 있다.
도 16에 도시된 네트워크 구조는, 두 개의 노드들 사이에 직선으로 도시된 노드들 간의 연결(branch)과, 도시되지는 않았지만 각 연결에서 사용되는 가중치(weight) 값들을 포함할 수 있다. 이 때, 하나의 레이어 내의 노드들 간에는 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 노드들은 완전하게 혹은 부분적으로 연결될 수 있다.
도 16의 각 노드(예를 들어, h1 1)는 이전 노드(예를 들어, x1)의 출력을 입력 받아 연산할 수 있고, 연산 결과를 이후 노드(예를 들어, h2 1)에 출력할 수 있다. 이 때, 각 노드는 입력된 값을 특정 함수, 예를 들어 비선형 함수에 적용하여 출력할 값을 연산할 수 있다.
일반적으로 인공 신경망의 네트워크 구조는 미리 결정되어 있으며, 노드들 간의 연결에 따른 가중치들은 정답이 알려진 데이터를 이용하여 적절한 값으로 산정될 수 있다.
이와 같이 이미 정답이 알려진 데이터들을 '학습 데이터' 또는 '트레이닝 데이터'라고 하고, 가중치를 결정하는 과정을 '교사 학습(supervised learning)'이라고 할 수 있다. 또한, 독립적으로 학습이 가능한 구조와 가중치의 묶음을 '모델'이라고 가정하고, 가중치가 결정된 모델에 입력 데이터가 들어올 때 그 예측값을 출력하는 것을 '추론(inference)' 과정이라고 한다.
한편, 도 16에 도시된 일반적인 신경망은 각 노드(예를 들어, h1 1)가 앞쪽 레이어(previous layer)(예를 들어, IL)의 모든 노드들(예를 들어, x1, x2, ..., xi)과 연결되어 있어, 입력 데이터(IDAT)가 영상(또는 음성)인 경우에 영상의 크기가 증가할수록 필요한 가중치의 개수가 기하급수적으로 증가하며, 따라서 영상을 다루기에 적절하지 않을 수 있다. 이에 따라, 신경망에 필터 기술을 병합하여 컨볼루션(convolutional) 신경망이 연구되고 있다.
도 17을 참조하면, 컨볼루션 신경망의 네트워크 구조는 복수의 레이어들(CONV1, RELU1, CONV2, RELU2, POOL1, CONV3, RELU3, CONV4, RELU4, POOL2, CONV5, RELU5, CONV6, RELU6, POOL3, FC)을 포함할 수 있다.
일반적인 신경망과 다르게, 컨볼루션 신경망의 각 레이어는 가로(또는 폭, width), 세로(또는 높이, height), 깊이(depth)의 3개의 차원을 가질 수 있다. 이에 따라, 각 레이어에 입력되는 데이터(IDAT) 또한 가로, 세로, 깊이의 3개의 차원을 가지는 볼륨 데이터일 수 있다.
구체적으로, 각 컨볼루션 레이어의 파라미터들은 일련의 학습 가능한 필터들로 이루어져 있을 수 있다. 각 필터는 가로/세로 차원으로는 각 레이어의 전체 크기보다 작지만 깊이 차원으로는 각 레이어의 전체 깊이를 아우를 수 있다.
예를 들어, 각 필터를 입력 볼륨의 가로/세로 차원으로 슬라이딩(정확히는 convolve) 시키며 필터와 입력의 요소들 사이의 내적 연산(dot product)을 수행하여 2차원의 액티베이션 맵(activation map)을 생성할 수 있고, 이러한 액티베이션 맵을 깊이 차원을 따라 쌓아서 출력 볼륨을 생성할 수 있다.
예를 들어, 컨볼루션 레이어(CONV1)가 32*32*3의 크기의 입력 볼륨 데이터(IDAT)에 12개의 필터들을 제로 패딩(zero-padding)과 함께 적용하면, 컨볼루션 레이어(CONV1)의 출력 볼륨은 32*32*12의 크기를 가질 수 있다 (즉, 깊이 증가).
RELU 레이어들(RELU1, RELU2, RELU3, RELU4, RELU5, RELU6)은 입력에 대한 정정 선형 유닛 연산을 수행할 수 있다. 예를 들어, 정정 선형 유닛 연산은 max(0, x)와 같이 음수에 대해서만 0으로 처리하는 함수를 나타낼 수 있다. 풀링 레이어들(POOL1, POOL2, POOL3)은 입력 볼륨의 가로/세로 차원에 대해 다운 샘플링을 수행할 수 있다. 일반적으로 컨볼루션 신경망에서는 하나의 컨볼루션 레이어(예를 들어, CONV1)와 하나의 RELU 레이어(예를 들어, RELU1)가 한 쌍을 형성할 수 있고, 컨볼루션/RELU 레이어들의 쌍이 반복 배치될 수 있으며, 컨볼루션/RELU 레이어들의 쌍이 반복 배치되는 중간 중간에 풀링 레이어를 삽입할 수 있다.
도 18은 신경망의 예시적인 노드를 나타내는 도면이다.
도 18에는 신경망에 포함되는 하나의 노드(ND)에서 수행되는 연산의 일 예를 나타낸다.
하나의 노드(ND)에 N개의 입력들(a1, a2, a3, ..., aN)이 제공되는 경우에, 노드(ND)는 N개의 입력들(a1, a2, a3, ..., aN) 및 이에 대응하는 N개의 가중치들(w1, w2, w3, ..., wN)을 각각 곱하여 합산하고, 상기 합산된 입력 값에 오프셋(b)을 더하며, 상기 오프셋이 반영된 입력 값을 특정 함수(σ)에 적용하여 하나의 출력 신호를 생성할 수 있다. 트레이닝 데이터에 기초하여 학습 동작을 수행하여 신경망에 포함된 모든 노드들을 갱신할 수 있다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 일 실시예를 나타내는 도면이다. 도 19에는 도시의 편의상 인공 신경망의 입력 레이어(IL) 및 출력 레이어(OL)만이 도시되어 있다.
도 19에는 복수의 오프셋 값들 중에서, 각 메모리 셀에 저장되는 복수의 비트들의 각각의 비트에 상응하는 타겟 오프셋 값들만을 입력으로 하여 상기 타겟 오프셋 값들에 각각 상응하는 상기 보정 오프셋 값들을 출력하도록 학습된 인공 신경망이 도시되어 있다.
도 5 내지 14 및 19를 참조하면, 예를 들어, 독출 어드레스가 제1 메모리 블록(BLK1)의 제2 리텐션 그룹(RGR12) 및 CSB 비트들에 상응할 수 있다. 이 경우, 프로세서(3210)는 오프셋 정보(OFSINF)로부터 상기 독출 어드레스에 상응하는 타겟 메모리 블록(BLK1)의 타겟 오프셋 값들(OFS12, OFS14, OFS16)을 추출하고, 시간차 정보(TDINF)로부터 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹(RGR12)의 타겟 EPI 값(TD12)을 추출할 수 있다. 프로세서(3210)는 추출된 타겟 오프셋 값들(OFS12, OFS14, OFS16) 및 타겟 EPI 값(TD12)을 학습된 인공 신경망에 입력하여 보정 오프셋 값들(OFS12', OFS14', OFS16')을 생성할 수 있다. 프로세서(3210)는 디폴트 독출 전압들(VR12, VR14, VR16)에 보정 오프셋 값들(OFS12', OFS14', OFS16')을 각각 합산하여 보정 독출 전압들을 생성할 수 있다. 보정 오프셋 값이 음의 값인 경우 보정 독출 전압은 상응하는 디폴트 독출 전압보다 감소하고, 반대로 보정 오프셋 값이 양의 값인 경우 보정 독출 전압은 상응하는 디폴트 독출 전압보다 증가한다.
실시예에 따라서, 도 19에 도시된 바와 같이, 컨텍스트(context) 정보(CTX)가 타겟 오프셋 값들(OFS12, OFS14, OFS16) 및 타겟 EPI 값(TD12)과 함께 인공 신경망의 입력으로 인가될 수 있다. 컨텍스트 정보(CTX)는 타겟 메모리 블록의 번호, 독출 어드레스에 상응하는 타겟 워드라인의 번호 및 독출 어드레스에 상응하는 프로그램-소거 사이클 값 중 적어도 하나를 포함할 수 있다.
도 19에는 CSB 비트들에 상응하는 인공 신경망을 도시하고 있으나, 프로세서(3210)는 MSB 비트들에 상응하는 인공 신경망 및 LSB 비트들에 상응하는 인공 신경망을 더 포함할 수 있다. 이와 같이, 스토리지 컨트롤러(3200)의 프로세서(3210)는 각 메모리 셀에 저장되는 비트 수에 상응하는 개수의 인공 신경망들을 각각 포함하고, 독출 어드레스에 상응하는 하나의 인공 신경망을 이용하여 보정 오프셋 값들을 생성할 수 있다.
도 20은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 학습 과정을 설명하기 위한 도면이다.
도 20에는 도 19의 인공 신경망의 교사 학습(supervised learning)을 위한 트레이닝 데이터 및 측정 오프셋 값들의 일 예가 도시되어 있다. 도 9의 프로세서(3210)는 트레이닝 EPI 값들(TD, OFS2, OFS4, OFS6) 및 트레이닝 EPI 값들(OFS2, OFS4, OFS6)에 상응하는 측정 오프셋 값들(MOFS2, MOFS4, MOFS6)에 기초하여 인공 신경망을 학습시킬 수 있다. 즉, 트레이닝 데이터를 인공 신경망의 입력으로 하여 출력되는 보정 오프셋 값들(OFS2', OFS4', OFS6')을 그라운드 트루스(ground truth) 데이터에 해당하는 측정 오프셋 값들(MOFS2, MOFS4, MOFS6)과 비교하여 인공 신경망의 패러미터들을 최적화하는 교사 학습이 수행될 수 있다.
도 21은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 인공 신경망의 일 실시예를 나타내는 도면이다. 이하, 도 19 및 20과 중복되는 설명을 생략한다.
도 21에는 복수의 오프셋 값들의 전부를 입력으로 하여 상기 복수의 오프셋 값들에 각각 상응하는 상기 보정 오프셋 값들을 출력하도록 학습된 인공 신경망이 도시되어 있다.
도 5 내지 14 및 21을 참조하면, 예를 들어, 독출 어드레스가 제1 메모리 블록(BLK1)의 제2 리텐션 그룹(RGR12) 및 CSB 비트들에 상응할 수 있다. 이 경우, 프로세서(3210)는 오프셋 정보(OFSINF)로부터 상기 독출 어드레스에 상응하는 타겟 메모리 블록(BLK1)의 타겟 오프셋 값들(OFS11~OFS17)의 전부를 추출하고, 시간차 정보(TDINF)로부터 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹(RGR12)의 타겟 EPI 값(TD12)을 추출할 수 있다. 프로세서(3210)는 추출된 타겟 오프셋 값들(OFS11~OFS17) 및 타겟 EPI 값(TD12)을 학습된 인공 신경망에 입력하여 보정 오프셋 값들(OFS11'~OFS17')을 생성할 수 있다. 프로세서(3210)는 디폴트 독출 전압들(VR11~VR17)에 보정 오프셋 값들(OFS11'~OFS17')을 각각 합산하여 보정 독출 전압들을 생성할 수 있다. 보정 오프셋 값이 음의 값인 경우 보정 독출 전압은 상응하는 디폴트 독출 전압보다 감소하고, 반대로 보정 오프셋 값이 양의 값인 경우 보정 독출 전압은 상응하는 디폴트 독출 전압보다 증가한다.
도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 독출 과정의 일 실시예를 나타내는 순서도이다.
도 9 및 22를 참조하면, 스토리지 장치(3000)는 호스트 장치(2000)로부터 독출 동작을 위한 독출 어드레스를 수신할 수 있다(S10). 프로세서(3210)는 독출 어스레스에 상응하는 오프셋 정보(OFSINF)가 없는 경우(S11:NO), 복수의 디폴트 독출 전압들에 기초한 독출 동작(ROPd)을 수행할 수 있다(S12). 한편, 프로세서(3210)는 독출 어스레스에 상응하는 오프셋 정보(OFSINF)가 있는 경우(S11:YES), 독출 어드레스에 상응하는 타겟 오프셋 값들(OFS) 및 타겟 EPI 값(TD)을 추출하고(S13), 추출된 타겟 오프셋 값들(OFS) 및 타겟 EPI 값(TD)에 기초하여 보정 오프셋 값들(OFS')을 생성할 수 있다(S14). 이때, 전술한 바와 같이 학습된 인공 신경망을 이용할 수 있다. 프로세서(3210)는 보정 오프셋 값들(OFS')에 기초하여 보정 독출 전압들을 생성하고, 상기 보정 독출 전압들에 기초한 독출 동작(ROPc)을 수행할 수 있다(S15).
이와 같이, 독출 어드레스에 상응하는 오프셋 값들이 생성되기 전까지 복수의 디폴트 독출 전압들에 기초하여 독출 동작(ROPd)을 수행하고, 독출 어드레스에 상응하는 오프셋 값들이 생성된 후에는 보정 독출 전압들에 기초하여 독출 동작(ROPc)을 수행할 수 있다.
복수의 디폴트 독출 전압들에 기초한 독출 동작(ROPd) 또는 보정 독출 전압에 기초한 독출 동작(ROPc)이 성공한 경우(S16: YES), 스토리지 장치(3000)는 독출된 데이터를 호스트 장치(2000)로 전송하고 독출 동작이 종료된다.
복수의 디폴트 독출 전압들에 기초한 독출 동작(ROPd) 또는 보정 독출 전압에 기초한 독출 동작(ROPc)이 실패한 경우(S16: NO), 리드 리커버리(read recovery) 과정이 수행될 수 있다. 리드 리커버리 과정은 복수의 독출 동작들(ROP1~ROPs)을 순차적으로 수행하는 단계들(S20, S22, S24), 독출 동작이 성공할 때까지 독출 동작들(ROP1~ROPs)의 각각에 대하여 성공 여부를 판단하는 단계들(S21, S23, S25)을 포함할 수 있다. 독출 동작들(ROP1~ROPs)의 각각은, 도 24를 참조하여 후술하는 바와 같이, 복수의 교정 독출 전압들을 갱신하기 위한 밸리 검색 동작을 포함할 수 있고, 상기 밸리 검색 동작에 의해 갱신된 교정 독출 전압들에 기초하여 독출 동작들(ROP1~ROPs)의 각각을 수행할 수 있다.
리드 리커버리 과정을 통하여 독출 동작이 성공하지 않은 경우(S25: NO), 스토리지 장치(3000)는 독출 실패를 호스트 장치(2000)에게 통지하고(S26) 독출 동작이 종료된다.
리드 리커버리 과정을 통하여 독출 동작이 성공한 경우(S21, S24 또는 S25: YES), 도 25 및 26을 참조하여 후술하는 바와 같이, 오프셋 정보(OFSINF) 및 시간차 정보(TDINF)를 갱신하고(S30) 독출 동작이 종료된다.
이하, 도 23 및 24를 참조하여, 도 22를 참조하여 설명한 독출 리커버리 과정에 대해서 좀 더 구체적으로 설명한다.
도 23은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 독출 시퀀스를 나타내는 도면이다.
도 23을 참조하면, 각각의 독출 시퀀스(RSEQ)는 서로 다른 독출 시간들(tRD1~tRDk)을 갖는 복수의 독출 동작들(ROP1~ROPk)을 포함할 수 있다.
일반적으로 독출 시간과 독출 정밀도는 상보적인(trade-off) 관계에 있다. 다시 말해, 작은 독출 시간이 소요되는 독출 동작은 상대적으로 독출 실패의 가능성이 높고 큰 독출 시간이 소요되는 독출 동작은 상대적으로 독출 성공의 가능성이 높다. 따라서, 도 23에 도시된 바와 같이, 각각의 독출 시퀀스(RSEQ)는 상대적으로 작은 독출 시간을 갖는 독출 동작이 선순위로 수행되고 상대적으로 큰 독출 시간을 갖는 독출 동작이 후순위로 수행되도록 설정될 수 있다.
즉 가장 작은 제1 독출 시간(tRD1)을 갖는 제1 독출 동작(ROP1)이 가장 먼저 수행되고, 제1 독출 시간(tRD1)보다 큰 제2 독출 시간(tRD2)을 갖는 제2 독출 동작(ROP2)이 그 다음으로 수행되고, 제2 독출 시간(tRD2)보다 큰 제3 독출 시간(tRD3)을 갖는 제3 독출 동작(ROP3)이 그 다음으로 수행되고, 이와 같은 방식으로 가장 큰 제k 독출 시간(tRDk)을 갖는 제k 독출 동작(ROPk)이 마지막으로 수행되도록 독출 시퀀스(RSEQ)가 설정될 수 있다.
독출 동작들(ROP1~ROPk)의 각각은 독출된 데이터의 에러 체크 및 정정(ECC: error checking and correction)을 위한 ECC 디코딩을 포함할 수 있다. 상기 ECC 디코딩의 결과로서 유효한 데이터가 구해질 때까지 상기 선택된 독출 시퀀스에 포함되는 독출 동작들(ROP1~ROPk)을 우선순위에 따라 순차적으로 수행할 수 있다. 유효한 데이터가 구해지면 후순위의 독출 동작들은 수행할 필요가 없으며 독출 시퀀스(RSEQ)는 마지막 독출 동작(ROPk)이 수행되기 이전의 임의의 시점에서 종료될 수 있다.
독출 레이턴시는 상기 유효한 데이터가 독출될 때까지 수행되는 독출 동작들의 독출 시간들의 합에 상응한다. 즉 제1 독출 동작(ROP1)에 의해 유효한 데이터가 구해지는 경우에는 독출 레이턴시(tLAT1)는 제1 독출 시간(tRD1)이 되고, 제2독출 동작(ROP2)에 의해 유효한 데이터가 구해지는 경우에는 독출 레이턴시(tLAT2)는 제1 독출 시간(tRD1) 및 제2 독출 시간(tRD2)의 합(tRD1+tRD2)이 되고, 제3 독출 동작(ROP3)에 의해 유효한 데이터가 구해지는 경우에는 독출 레이턴시(tLAT3)는 제1 독출 시간(tRD1) 내지 제3 독출 시간(tRD3)의 합(tRD1+tRD2+tRD3)이 되고, 이와 같은 방식으로 제k 독출 동작(ROPk)에 의해 유효한 데이터가 구해지는 경우에는 독출 레이턴시(tLATk)는 제1 독출 시간(tRD1) 내지 제k 독출 시간(tRDk)의 합(tRD1+tRD2+tRD3+, ... , +tRDk)이 된다.
전술한 독출 리커버리 과정은 이와 같이 복수의 독출 동작들(ROP1~ROPs)을 포함하는 독출 시퀀스(RSEQ)를 포함할 수 있다.
도 24는 디폴트 독출 전압과 교정 독출 전압의 관계를 설명하기 위한 도면이다.
도 24에는 플래시 메모리 셀들이 갖는 인접한 두 개의 상태들(Si, Si+1)의 문턱 전압 분포들의 일 예가 도시되어 있다. 동시에 독출되는 데이터 비트들 중에서 에러 비트수가 최소가 되는 독출 전압이 최적의 독출 전압(Vop)에 해당한다. 최적의 독출 전압(Vop)은 인접한 두 개의 상태들(Si, Si+1)의 문턱 전압 분포들이 동일하게 되는 지점, 즉 밸리 또는 골에 해당한다. 다양한 동작 환경에 따라서 문턱 전압 분포들이 넓어지거나 쉬프트되는 경우, 기설정된 독출 전압과 최적의 독출 전압(Vop)의 차이가 증가할 수 있다. 기설정된 독출 전압과 최적의 독출 전압(Vop)의 차이가 증가할수록 에러 비트수가 증가하게 되고 독출 실패의 확률이 높아진다.
기설정된 디폴트 독출 전압이 제1 전압 구간(R1)에 속하는 경우에는 경판정(HD: hard decision)을 이용한 ECC 디코딩에 의해 에러 정정이 가능하다. 기설정된 독출 전압이 제2 전압 구간(R2)에 속하는 경우에는 연판정(SD: soft decision)을 이용한 ECC 디코딩에 의해 에러 정정이 가능하다.
디폴트 독출 전압이 제2 전압 구간(R2)을 벗어나는 경우에는 ECC 디코딩에 의해 유효 데이터를 얻는 것이 불가능하게 된다. 디폴트 독출 전압에 기초한 선순위의 독출 동작들에 의해 유효한 데이터가 구해지지 않는 경우 교정 독출 전압을 검출하기 위한 밸리 검색 동작을 수행하고, 상기 검출된 교정 독출 전압에 기초하여 독출 동작을 수행할 수 있다.
이와 같이 밸리 검색 동작 및 검색된 교정 독출 전압에 기초하여 독출 동작을 수행하는 것을 전압 교정 독출 동작이라 지칭할 수 있다. 도 23을 참조하여 설명한 독출 시퀀스들(RSEQ)는 기설정된 독출 전압에 기초한 선순위의 독출 동작을 포함하고, 적어도 하나의 전압 보정 독출 동작을 후순위로 더 포함할 수 있다.
이러한 밸리 검색은 많은 시간이 소요되어 비휘발성 메모리 장치 및 스토리지 시스템의 성능 저하를 야기한다. 본 발명의 실시예들에 따라서, 많은 시간이 소요되는 교정 독출 전압들의 갱신을 수행하기 이전에 전술한 바와 같은 시간차 정보 및 오프셋 정보에 기초하여 보정 독출 전압들을 구하는 과정을 선행함으로써 비휘발성 메모리 장치의 성능을 향상시킬 수 있다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 오프셋 정보의 갱신을 설명하기 위한 도면이고, 도 26은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간차 정보의 갱신을 설명하기 위한 도면이다.
도 25 및 26에는 독출 어드레스가 제1 메모리 블록(BLK1)의 제2 리텐션 그룹(RGP12)에 상응하는 경우에 대하여 도 7의 오프셋 정보(OFSINF) 및 도 8의 시간차 정보(TDINF)를 갱신하는 예가 도시되어 있다.
도 22 및 25를 참조하면, 갱신된 교정 독출 전압들에 기초한 독출 동작이 성공한 경우, 상기 갱신된 교정 독출 전압들에 기초하여 상기 독출 어드레스 상응하는 타겟 메모리 블록(BLK1)의 오프셋 정보(OFSINF)를 갱신할 수 있다(S30). 즉 도 7의 제1 메모리 블록(BLK1)의 제1 내지 제7 오프셋 값들(OFS11~OFS1k)이 도 25의 제1 내지 제7 보정 오프셋 값들(OFS11'~OFS17')로 갱신될 수 있다.
도 22 및 26을 참조하면, 갱신된 교정 독출 전압들에 기초한 독출 동작이 성공한 경우, 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹(RGR12)의 EPI 값(TD12)이 0이 되도록 시간차 정보(TDINF)를 갱신할 수 있다(S30). 즉, 기준 리텐션 그룹을 도 8의 제1 리텐션 그룹(RGR11)에서 도 26에 도시된 바와 같이 제2 리텐션 그룹(RGR12)으로 대체할 수 있다. 기준 리텐션 그룹으로 대체된 제2 리텐션 그룹(RGR12)의 제2 EPI 값(TD12)을 0으로 설정하고 다른 EPI 값들(TD11, TD13, TD14)을 제2 EPI 값(TD12)을 기준으로 조정할 수 있다.
도 27은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 위한 시간차 정보의 백업을 설명하기 위한 도면이다.
도 27을 참조하면, 비휘발성 메모리 장치(NVM)를 포함하는 스토리지 장치가 파워-오프될 때 시간차 정보(TDINF)를 비휘발성 메모리 장치(NVM)에 저장할 수 있다. 이후 스토리지 장치가 다시 파워-온될 때 비휘발성 메모리 장치(NVM)에 저장된 시간차 정보(TDINF)를 독출하여 이용할 수 있다. 이때, 독출된 시간차 정보(TDINF)는 비휘발성 메모리 장치(NVM)보다 동작 속도가 빠른 휘발성 메모리(VM)로 로딩될 수 있다.
한편, 스토리지 장치가 파워-오프될 때 전술한 오프셋 정보(OFSINF)는 삭제될 수 있다.
도 28은 본 발명의 실시예들에 따른 스토리지 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 28을 참조하면, 컴퓨팅 시스템(2600)은 프로세서(2610), 메모리 장치(2620), 사용자 인터페이스(2630), 버스(2650) 및 스토리지 시스템(2660)을 포함한다. 실시예에 따라, 컴퓨팅 시스템(2600)은 베이스밴드 칩 셋(baseband chipset)과 같은 모뎀(2640)을 더 포함할 수 있다.
프로세서(2610)는 특정 계산들 또는 태스크들을 실행할 수 있다. 예를 들어, 프로세서(2610)는 마이크로프로세서 또는 중앙 처리 장치(CPU)일 수 있다. 프로세서(2610)는 어드레스 버스, 제어 버스 및/또는 데이터 버스와 같은 버스(2650)를 통하여 스토리지 시스템(2660)에 연결될 수 있다. 또한, 프로세서(2610)는 키보드 또는 마우스와 같은 하나 이상의 입력 장치, 프린터 또는 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함하는 사용자 인터페이스(2630)를 제어할 수 있다. 모뎀(2640)은 외부 장치와 무선으로 데이터를 송수신할 수 있다.
스토리지 시스템(2660)은 스토리지 컨트롤러(2670) 및 비휘발성 메모리 장치(2680)를 포함할 수 있다. 스토리지 컨트롤러(2670)는 전술한 바와 같은 머신 러닝 또는 인공 신경망을 수행하는 장치(ML)를 포함하여 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법을 수행할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, 소거-프로그램 간격(EPI, erase program interval)에 기초하여 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하고 상기 시간차 정보를 이용하여 독출 전압들을 보정함으로써 독출 동작의 성공 확률을 증가하고 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, 인공 신경망을 이용하여 최적의 독출 전압들을 생성함으로써 비휘발성 메모리 장치 및 스토리지 장치의 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법은, ZNS(Zoned NameSpace) 기입 동작을 효율적으로 지원하여 비휘발성 메모리 장치의 활용도(utilization)를 향상시킬 수 있다.
해당 기술 분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명의 실시예들은 비휘발성 메모리 장치를 포함하는 장치 및 이를 포함하는 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 유니버셜 플래시 스토리지(UFS, universal flash storage), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기, 자율 주행 장치 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계;
    상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하는 단계;
    상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성하는 단계; 및
    상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행하는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  2. 제1 항에 있어서,
    상기 보정 독출 전압들을 생성하는 단계는,
    상기 오프셋 정보로부터 상기 독출 어드레스에 상응하는 타겟 메모리 블록의 타겟 오프셋 값들을 추출하는 단계;
    상기 시간차 정보로부터 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹의 타겟 EPI 값을 추출하는 단계;
    상기 타겟 오프셋 값들 및 상기 타겟 EPI 값을 학습된 인공 신경망에 입력하여 보정 오프셋 값들을 생성하는 단계; 및
    상기 디폴트 독출 전압들에 상기 보정 오프셋 값들을 각각 합산하여 상기 보정 독출 전압들을 생성하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  3. 제2 항에 있어서,
    트레이닝 EPI 값들 및 상기 트레이닝 EPI 값들에 상응하는 측정 오프셋 값들에 기초하여 상기 인공 신경망을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  4. 제2 항에 있어서,
    상기 비휘발성 메모리 장치는 상기 각각의 메모리 블록에 포함되는 각각의 메모리 셀에 복수의 비트들을 저장하고,
    상기 인공 신경망은,
    상기 복수의 오프셋 값들 중에서, 상기 복수의 비트들의 각각의 비트에 상응하는 타겟 오프셋 값들만을 입력으로 하여 상기 타겟 오프셋 값들에 각각 상응하는 상기 보정 오프셋 값들을 출력하도록 학습되는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  5. 제2 항에 있어서,
    상기 비휘발성 메모리 장치는 상기 각각의 메모리 블록에 포함되는 각각의 메모리 셀에 복수의 비트들을 저장하고,
    상기 인공 신경망은,
    상기 복수의 오프셋 값들의 전부를 입력으로 하여 상기 복수의 오프셋 값들에 각각 상응하는 상기 보정 오프셋 값들을 출력하도록 학습되는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  6. 제2 항에 있어서,
    상기 타겟 오프셋 값들 및 상기 타겟 EPI 값과 함께 상기 독출 어드레스에 상응하는 타겟 메모리 블록의 번호, 상기 독출 어드레스에 상응하는 타겟 워드라인의 번호 및 상기 독출 어드레스에 상응하는 프로그램-소거 사이클 값 중 적어도 하나를 상기 인공 신경망의 입력으로 하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  7. 제1 항에 있어서,
    상기 각각의 메모리 블록의 상기 복수의 오프셋 값들은 상기 복수의 리텐션 그룹들 중 상기 EPI 값이 0인 기준 리텐션 그룹에 상응하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  8. 제7 항에 있어서,
    상기 기준 리텐션 그룹에 상응하는 상기 교정 독출 전압들은 상기 보정 독출 전압들과 동일한 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  9. 제1 항에 있어서,
    상기 독출 어드레스에 상응하는 상기 오프셋 값들이 생성되기 전까지 상기 복수의 디폴트 독출 전압들에 기초하여 상기 독출 동작을 수행하고,
    상기 독출 어드레스에 상응하는 상기 오프셋 값들이 생성된 후에는 상기 보정 독출 전압들에 기초하여 상기 독출 동작을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  10. 제9 항에 있어서,
    상기 복수의 디폴트 독출 전압들에 기초한 상기 독출 동작 또는 상기 보정 독출 전압에 기초한 상기 독출 동작이 실패한 경우, 상기 복수의 교정 독출 전압들을 갱신하기 위한 밸리 검색 동작을 수행하는 단계; 및
    상기 밸리 검색 동작에 의해 갱신된 교정 독출 전압들에 기초하여 상기 독출 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  11. 제10 항에 있어서,
    상기 갱신된 교정 독출 전압들에 기초한 상기 독출 동작이 성공한 경우, 상기 갱신된 교정 독출 전압들에 기초하여 상기 독출 어드레스 상응하는 타겟 메모리 블록의 상기 오프셋 정보를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  12. 제11 항에 있어서,
    상기 갱신된 교정 독출 전압들에 기초한 상기 독출 동작이 성공한 경우, 상기 독출 어드레스에 상응하는 타겟 리텐션 그룹의 상기 EPI 값이 0이 되도록 상기 시간차 정보를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  13. 제1 항에 있어서,
    상기 각각의 메모리 블록에 동일한 애플리케이션에 해당하는 데이터만을 저장하는 ZNS(Zoned NameSpace) 기입 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  14. 제1 항에 있어서,
    상기 비휘발성 메모리 장치를 포함하는 스토리지 장치가 파워-오프될 때 상기 시간차 정보를 상기 비휘발성 메모리 장치에 저장하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  15. 제14 항에 있어서,
    상기 스토리지 장치가 파워-오프될 때 상기 오프셋 정보는 삭제되는 것을 특징으로 하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  16. 제14 항에 있어서,
    상기 스토리지 장치가 파워-온될 때 상기 비휘발성 메모리 장치에 저장된 상기 시간차 정보를 독출하여 이용하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  17. 복수의 메모리 블록들을 포함하는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치를 제어하는 스토리지 컨트롤러를 포함하고,
    상기 스토리지 컨트롤러는, 상기 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하고, 상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하고, 상기 오프셋 정보 및 상기 시간차 정보에 기초하여 독출 어드레스에 상응하는 보정 독출 전압들을 생성하고, 상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행하는 스토리지 장치.
  18. 제17 항에 있어서,
    상기 스토리지 컨트롤러는,
    상기 각각의 메모리 블록에 동일한 애플리케이션에 해당하는 데이터만을 저장하는 ZNS(Zoned NameSpace) 기입 동작을 수행하는 것을 특징으로 하는 스토리지 장치.
  19. 제17 항에 있어서,
    상기 스토리지 컨트롤러는,
    트레이닝 EPI 값들 및 상기 트레이닝 EPI 값들에 상응하는 측정 오프셋 값들에 기초하여 상기 인공 신경망을 학습시키고, 학습된 상기 인공 신경망을 이용하여 상기 보정 독출 전압들을 생성하는 것을 특징으로 하는 스토리지 장치.
  20. 비휘발성 메모리 장치에 포함되는 복수의 메모리 블록들의 각각의 메모리 블록에 대하여, 상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계;
    상기 각각의 메모리 블록의 복수의 디폴트 독출 전압들 및 복수의 교정 독출 전압들의 차이들에 각각 상응하는 복수의 오프셋 값들을 포함하는 오프셋 정보를 생성하는 단계;
    상기 각각의 메모리 블록의 소거 시점부터 프로그램 시점 사이의 시간을 나타내는 소거-프로그램 간격(EPI, erase program interval)에 기초하여 상기 각각의 메모리 블록을 복수의 리텐션 그룹들로 분할하여 상기 복수의 리텐션 그룹들에 각각 상응하는 복수의 EPI 값들을 포함하는 시간차 정보를 생성하는 단계;
    트레이닝 EPI 값들 및 상기 트레이닝 EPI 값들에 상응하는 측정 오프셋 값들에 기초하여 인공 신경망을 학습시키는 단계;
    상기 오프셋 정보 및 상기 시간차 정보를 학습된 상기 인공 신경 망에 입력하여 보정 오프셋 값들을 생성하는 단계;
    상기 디폴트 독출 전압들에 상기 보정 오프셋 값들을 각각 합산하여 상기 보정 독출 전압들을 생성하는 단계; 및
    상기 독출 어드레스 및 상기 보정 독출 전압들에 기초하여 상기 비휘발성 메모리 장치로부터 데이터를 독출하는 독출 동작을 수행하는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
KR1020210000756A 2021-01-05 2021-01-05 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법 KR20220098894A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210000756A KR20220098894A (ko) 2021-01-05 2021-01-05 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법
US17/376,437 US11775203B2 (en) 2021-01-05 2021-07-15 Storage device including nonvolatile memory device and method of operating the same
DE102021119260.9A DE102021119260A1 (de) 2021-01-05 2021-07-26 Nichtflüchtige Speichervorrichtung beinhaltende Speichervorrichtung und Verfahren zum Betreiben derselben
CN202111192474.7A CN114724607A (zh) 2021-01-05 2021-10-13 包括非易失性存储器设备的存储设备及操作其的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210000756A KR20220098894A (ko) 2021-01-05 2021-01-05 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220098894A true KR20220098894A (ko) 2022-07-12

Family

ID=82020595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210000756A KR20220098894A (ko) 2021-01-05 2021-01-05 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법

Country Status (4)

Country Link
US (1) US11775203B2 (ko)
KR (1) KR20220098894A (ko)
CN (1) CN114724607A (ko)
DE (1) DE102021119260A1 (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100542701B1 (ko) 2003-11-18 2006-01-11 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 문턱전압 측정 방법
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8693259B2 (en) 2011-12-29 2014-04-08 Sandisk Technologies Inc. Wordline-to-wordline stress configuration
CN108780742B (zh) 2016-03-05 2023-07-18 应用材料公司 用于在物理气相沉积工艺中控制离子分数的方法和设备
KR102599123B1 (ko) 2018-11-14 2023-11-06 삼성전자주식회사 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법
US20200089407A1 (en) 2019-11-22 2020-03-19 Intel Corporation Inter zone write for zoned namespaces
US11797433B2 (en) 2019-12-20 2023-10-24 Sk Hynix Nand Product Solutions Corp. Zoned namespace with zone grouping
KR102547949B1 (ko) * 2021-01-27 2023-06-26 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Also Published As

Publication number Publication date
US11775203B2 (en) 2023-10-03
US20220214826A1 (en) 2022-07-07
DE102021119260A1 (de) 2022-07-07
CN114724607A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
KR102599123B1 (ko) 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법
US10671524B2 (en) Data storage device including nonvolatile memory device and operating method thereof
KR102402668B1 (ko) 비휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 저장 장치
KR20210082875A (ko) 머신 러닝을 이용한 비휘발성 메모리 장치의 동작 제어 방법 및 스토리지 시스템
KR20160050393A (ko) 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR20160050392A (ko) 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
CN112416809B (zh) 用于可扩展存储区域的分配模式
KR20160050394A (ko) 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR20200010813A (ko) 컨트롤러 및 그것의 동작 방법
CN113204312A (zh) 存储器系统、存储器控制器及存储器系统的操作方法
US10846214B2 (en) Nonvolatile memory system and method of operating the same
EP3985516A1 (en) Memory device, storage device including the same and method of operating the storage device
KR102617350B1 (ko) 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
KR20220098894A (ko) 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법
CN112445726B (zh) 存储器系统、存储器控制器及操作方法
US10978161B2 (en) Memory system, memory controller and memory device
KR20230049858A (ko) 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
KR20230031425A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US11656790B2 (en) Memory system, memory controller, and operation method of memory system
US11709610B2 (en) Memory system, memory controller and operating method
US20240202090A1 (en) Storage device for storing temperature log information according to temperature storage level and operating method thereof
US20230195367A1 (en) Memory system, memory controller, and operation method of memory system
US20240143192A1 (en) Memory system and operating method thereof
US20220253681A1 (en) Compact workload representation of memory system
US20240265974A1 (en) Memory device, operating method of memory device, and memory system