KR20200143912A - 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법 - Google Patents

멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법 Download PDF

Info

Publication number
KR20200143912A
KR20200143912A KR1020190071596A KR20190071596A KR20200143912A KR 20200143912 A KR20200143912 A KR 20200143912A KR 1020190071596 A KR1020190071596 A KR 1020190071596A KR 20190071596 A KR20190071596 A KR 20190071596A KR 20200143912 A KR20200143912 A KR 20200143912A
Authority
KR
South Korea
Prior art keywords
read
stream
data
nonvolatile memory
monitoring
Prior art date
Application number
KR1020190071596A
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 KR1020190071596A priority Critical patent/KR20200143912A/ko
Priority to US16/729,719 priority patent/US11314452B2/en
Priority to CN202010278114.8A priority patent/CN112102871A/zh
Publication of KR20200143912A publication Critical patent/KR20200143912A/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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0611Improving I/O performance in relation to response time
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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
    • 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/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/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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory 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/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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

호스트 장치와 멀티-스트림 데이터를 교환하는 비휘발성 메모리 장치에서, 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링한다. 서로 다른 동작 환경들에 각각 상응하는 복수의 동작 조건들을 설정한다. 모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정한다. 스트림 데이터 특성에 따라서 적합한 스트림 동작 조건을 설정함으로써 비휘발성 메모리 장치 및 이를 포함하는 스토리지 장치의 성능을 향상시킬 수 있다.

Description

멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법{Storage device supporting multi-streaming and method of controlling operation of nonvolatile memory device}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 멀티-스트리밍을 지원하는 스토리지 및 비휘발성 메모리 장치의 동작 제어 방법에 관한 것이다.
플래시 메모리 장치, 저항성 메모리 장치와 같은 비휘발성 메모리 장치의 메모리 셀들은 서로 다른 논리 상태들을 나타내는 문턱 전압 분포들 또는 저항 분포들을 가지도록 프로그램됨으로써 데이터를 저장할 수 있다. 소정의 문턱 전압 또는 저항을 가지는 메모리 셀에 소정의 독출 전압을 인가하여 메모리 셀에 저장된 상기 데이터가 독출될 수 있다. 메모리 셀들이 문턱 전압 분포들을 가지도록 프로그램되는 도중 또는 프로그램된 후, 전하 누설, 독출 디스터브, 프로그램 디스터브, 커플링, 온도 변화, 전압 변화, 반복되는 프로그램 및 소거에 따른 상기 메모리 셀의 열화 등의 동작 환경의 변화에 의해 각 문턱 전압 분포가 왜곡될 수 있다. 예를 들어, 문턱 전압 분포들이 넓어지거나 쉬프트되면, 상기 데이터가 부정확하게 독출되는 독출 페일(Read Fail)이 발생할 수 있다. 독출 페일이 발생한 경우, 종래의 비휘발성 메모리 장치는 기설정된 독출 시퀀스에 따라서 다른 방법으로 독출을 시도한다. 이와 같이, 변화하는 동작환경에 대하여 기설정된 독출 시퀀스와 같은 동작 조건을 적용하는 경우 독출 레이턴시의 증가 등에 의하여 비휘발성 메모리 장치의 성능이 저하된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 멀티-스트리밍을 효율적으로 지원할 수 있는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법은, 호스트 장치와 멀티-스트림 데이터를 교환하는 비휘발성 메모리 장치를 포함하는 스토리지 장치에서, 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링하는 단계, 서로 다른 동작 환경들에 각각 상응하는 복수의 동작 조건들을 설정하는 단계 및 모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정하는 단계를 포함한다.
본 발명의 실시예들에 따른 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법은, 스트림 데이터 특성에 따라서 적합한 스트림 동작 조건을 설정함으로써 비휘발성 메모리 장치 및 이를 포함하는 스토리지 장치의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 3은 도 2의 호스트 장치에 의해 기입 요청된 멀티-스트림 데이터가 스토리지 장치에 전달되는 일 예를 나타내는 도면이다.
도 4는 플래시 변환 계층의 어드레스 매핑 테이블을 나타내는 도면이다.
도 5는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 스트림 관리부의 스트림 제어 테이블의 일 실시예를 나타내는 도면이다.
도 6은 도 5의 스트림 제어 테이블에 포함되는 스트림 데이터 특성의 일 실시예를 나타내는 도면이다.
도 7은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 실시예를 나타내는 블록도이고, 도 8은 도 7의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이를 나타내는 블록도이고, 도 9는 도 7의 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법을 나타내는 순서도이다.
도 11 및 12는 메모리 셀들의 문턱 전압 분포의 변경을 설명하기 위한 도면들이다.
도 13은 본 발명의 실시예들에 따른 독출 시퀀스들을 나타내는 도면이다.
도 14는 호스트 장치에서 스토리지 장치로 전송되는 코맨드의 포맷의 일 실시예를 나타내는 도면이고, 도 15는 도 14의 코맨드에 포함되는 최하위 더블 워드의 포맷의 일 실시예를 나타내는 도면이다.
도 16은 본 발명의 실시예들에 따른 독출 시퀀스를 나타내는 도면이고, 도 17은 도 16의 독출 시퀀스에 상응하는 독출 동작을 나타내는 순서도이다.
도 18은 본 발명의 실시예들에 따른 복수의 독출 시퀀스들을 나타내는 도면이다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 독출 시퀀스 제어부의 일 실시예를 나타내는 블록도이다.
도 20은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 독출 시퀀스 제어 방법을 나타내는 순서도이다.
도 21은 기설정된 독출 전압과 최적의 독출 전압의 관계를 설명하기 위한 도면이다.
도 22, 23 및 24는 본 발명의 일 실시예에 따른 독출 시퀀스들을 나타내는 도면들이다.
도 25는 저항성 메모리 장치의 데이터 독출 과정의 일 예를 나타내는 타이밍도이고, 도 26은 도 25의 데이터 독출 과정에 따른 독출 시간을 설명하기 위한 도면이다.
도 27, 28 및 29는 본 발명의 실시예들에 따른 밸리 검색 방법들을 나타내는 도면들이다.
도 30은 2-비트 연판정 독출 동작의 일 예를 설명하기 위한 도면이고, 도 31은 3-비트 연판정 독출 동작의 일 예를 설명하기 위한 도면이다.
도 32는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 스트림 관리부의 셀 특성 테이블의 일 실시예를 나타내는 도면이다.
도 33은 본 발명의 실시예들에 따른 프로그램 동작 조건들을 설명하기 위한 도면이고, 도 34는 본 발명의 실시예들에 따른 소거 동작 조건들을 설명하기 위한 도면이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법을 나타내는 순서도이다.
도 1을 참조하면, 호스트 장치와 멀티-스트림 데이터를 교환하는 비휘발성 메모리 장치를 포함하는 스토리지 장치에서, 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링한다(S100). 상기 스트림 데이터 특성의 모니터링은 계속적으로 그리고 실시간으로 수행될 수 있다. 일 실시예에서, 상기 모니터링의 대상이 되는 스트림 데이터 특성은 메모리 셀에 저장된 데이터가 유지되는 시간을 나타내는 데이터 리텐션 특성 및 독출 동작의 반복에 의해 메모리 셀들의 상태가 변화되는 독출 교란 특성을 포함할 수 있다.
서로 다른 동작 환경들에 각각 상응하는 복수의 동작 조건들을 설정한다(S200). 상기 동작 환경은 비활성 메모리 장치의 동작에 영향을 미치는 다양한 요인들에 의해 변화될 수 있다. 예를 들어, 상기 동작 환경은 동작 온도, 메모리 셀의 열화 정도, 사용자의 시나리오, 애플리케이션의 특성 등과 같은 다양한 요인들에 의해 변화될 수 있다. 복수의 동작 조건들은 후술하는 바와 같이 복수의 독출 시퀀스들, 복수의 프로그램 동작 조건들 및/또는 복수의 소거 동작 조건들을 포함할 수 있다.
모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정한다(S300). 스트림 동작 조건은 상응하는 스트림 데이터 특성에 최적화된 동작 조건일 수 있다.
이와 같이, 스트림 데이터 특성에 따라서 적합한 스트림 동작 조건을 설정함으로써 비휘발성 메모리 장치 및 이를 포함하는 스토리지 장치의 성능을 향상시킬 수 있다.
도 2는 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 2를 참조하면, 시스템(10)은 호스트 장치(20) 및 스토리지 장치(30)를 포함할 수 있다. 스토리지 장치(30)는 적어도 하나의 비휘발성 메모리 장치(NVM)를 포함할 수 있다. 도 2에 도시된 스토리지 장치(30)는 메모리 카드, USB 메모리, SSD 등과 같은 플래시 메모리를 기반으로 하는 데이터 저장 매체를 포함할 수 있다.
스토리지 장치(30)는 호스트 장치(20)의 제어에 따라 비휘발성 메모리 장치(NVM)에 대한 소거, 기입 또는 독출 동작 등을 수행할 수 있다. 이를 위하여, 스토리지 장치(30)는 입출력 라인을 통해 호스트 장치(20)로부터 커맨드(CMD), 어드레스(ADDR)를 수신하고, 호스트 장치(20)와 프로그램 동작 또는 독출 동작을 위한 데이터(DATA)를 송수신한다. 또한, 스토리지 장치(30)는 제어 라인을 통하여 제어 신호(CTRL)를 수신할 수 있고, 호스트 장치(20)로부터 파워(PWR)를 제공받을 수 있다.
스토리지 장치(30)는 본 발명의 실시예들에 따른 스트림 관리부(STMNG)를 포함할 수 있다. 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링하고, 모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정한다.
도 3은 도 2의 호스트 장치에 의해 기입 요청된 멀티-스트림 데이터가 스토리지 장치에 전달되는 일 예를 나타내는 도면이다.
도 3을 참조하면, 호스트(20)와 스토리지 장치(30) 사이의 신호 채널을 통해 멀티-스트림 데이터가 동시에 스토리지 장치(30)에 전달되기는 어렵다. 하나의 채널을 통해서 하나의 스트림 데이터는 복수의 세그먼트 단위로 스토리지 장치(30)에 기입 요청(write request)된다. 복수의 스트림 데이터가 기입 요청되는 경우, 세그먼트들 각각의 기입 코맨드에는 스트림 식별자(STID)가 포함된다.
도 3에는 호스트 장치(20)에서 구동되는 복수의 응용 프로그램들에 의해서 실행되는 복수의 쓰레드(Thread)들에 의해서 4개의 스트림 데이터에 대한 기입 요청이 발생하는 예시적인 경우가 도시되어 있다. 복수의 쓰레드들에 의해서 생성되는 복수의 스트림 데이터들(STR1~STR4)에는 각각의 멀티-스트림 식별자(STIDI=1,2,3,4)가 할당된다.
복수의 스트림 데이터들(STR1~STR4)에 대한 기입 요청들이 발생하면, 호스트 장치(20)의 커널 또는 파일 시스템 레벨에서 구동되는 입출력 스케줄러(I/O Scheduler, 미도시)에 의해서 기입 요청들의 순서가 재배열된다. 여기서, 재배열 순서는 실시간 처리를 요구하는 데이터를 우선적으로 전송하는 방식으로 처리될 수 있다. 재배열된 순서에 따라 복수의 스트림 데이터들(STR1~STR4)의 각각은 스토리지 장치(200)에 전달되기 위해서 복수의 세그먼트들로 분할된다. 세그먼트들은 각각 호스트 장치(20) 및 스토리지 장치(30) 사이의 트랜잭션 단위에 대응할 수 있다. 스토리지 장치(30)는 기입 요청된 데이터를 멀티-스트림 식별자(STID) 단위로 저장할 수 있다. 예를 들어, 스토리지 장치(30)는 동일한 멀티-스트림 식별자(STID)에 해당하는 데이터를 동일한 메모리 영역(예를 들어, 소거 동작의 단위가 되는 메모리 블록)에 저장할 수 있다. 따라서, 가비지 콜렉셕(garbage collection), 연속 독출(sequential read) 또는 연속 기입(sequential wreite) 등의 동작 성능을 향상할 수 있다.
도 4는 플래시 변환 계층의 어드레스 매핑 테이블을 나타내는 도면이다.
도 4를 참조하면, 어드레스 매핑 테이블(AMT)은 호스트 장치(20)의 논리 주소(LOGADD) 및 비휘발성 메모리 장치(NVM)의 물리 주소(PHYADD)의 매핑 관계를 나타낸다. 예를 들어, 논리 주소(LA1)는 물리 주소(PAa)에 대응되고 논리 주소(LA2)는 물리 주소(PAb)에 대응된다. 플래시 변환 계층은(FTL, file translation layer)는 호스트 장치(20)에 의해 요청된 논리 주소에 상응하는 물리 주소를 결정하기 위해 또는 그 반대의 경우에 어드레스 매핑 테이블(AMT)를 이용한다.
도 5는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 스트림 관리부의 스트림 제어 테이블의 일 실시예를 나타내는 도면이다.
도 5를 참조하면, 스트림 제어 테이블(SDCT)은 스트림 식별자(STID), 논리 주소(LOGADD), 스트림 데이터 특성(STDC) 및 스트림 동작 조건(SOPCON)의 매핑 관계를 나타낸다. 스트림 관리부(STMNG)는 복수의 스트림 식별자들(STID=1,2)의 각각에 대하여 스트림 데이터 특성(STDC)을 모니터링하고, 모니터링된 스트림 데이터 특성(SCH1, SCH2C)에 기초하여, 복수의 동작 조건들 중에서 복수의 스트림 식별자들(STID=1,2)의 각각에 상응하는 스트림 동작 조건들(OCa, OCb)을 설정한다.
도 6은 도 5의 스트림 제어 테이블에 포함되는 스트림 데이터 특성의 일 실시예를 나타내는 도면이다.
도 6을 참조하면, 모니터링되는 스트림 데이터 특성(STDC)은 비휘발성 메모리 장치(NVM)에 데이터가 기입되는 프로그램 시점(TMPGM), 독출 카운트(RDC), 리텐션 취약 상태에 상응하는 메모리 셀들의 개수(NCR), 독출 교란 취약 상태에 상응하는 메모리 셀들의 개수(NCD), 복수의 독출 시퀀스들의 각각에 상응하는 복수의 평균 독출 레이턴시들(m(LAT)을 포함할 수 있다.
일 실시예에서, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 비휘발성 메모리 장치에 데이터가 기입되는 프로그램 시점(TMPGM)부터 상기 기입된 데이터가 독출되는 독출 시점 사이의 프로그램-독출 간격 시간을 모니터링함으로써 각 스트림 식별자에 대한 데이터 리텐션 특성을 결정할 수 있다.
다른 실시예에서, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 비휘발성 메모리 장치의 메모리 셀들의 상태들 중에서 데이터 리텐션 특성에 취약한 적어도 하나의 리텐션 취약 상태에 상응하는 메모리 셀들의 개수(NCR)를 모니터링함으로써 각 스트림 식별자에 대한 데이터 리텐션 특성을 결정할 수 있다.
또 다른 실시예에서, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 데이터가 독출되는 횟수를 나타내는 독출 카운트(RDC)를 모니터링함으로써 각 스트림 식별자에 대한 독출 교란 특성을 결정할 수 있다.
또 다른 실시예에서, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 비휘발성 메모리 장치의 메모리 셀들의 상태들 중에서 독출 교란 특성에 취약한 적어도 하나의 독출 교란 취약 상태에 상응하는 메모리 셀들의 개수(NCD)를 모니터링함으로써 각 스트림 식별자에 대한 독출 교란 특성을 결정할 수 있다.
또 다른 실시예에서, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 복수의 독출 시퀀스들의 각각에 상응하는 복수의 평균 독출 레이턴시들(m(LAT))을 모니터링하고, 상기 복수의 독출 시퀀스들 중에서, 상기 복수의 평균 레이턴시들의 최소값에 상응하는 메인 독출 시퀀스를 스트림 동작 조건으로서 선택할 수 있다.
도 6에 도시된 특성 인자들은 예시적인 것으로서 이에 한정되는 것은 아니다. 예를 들어, 스트림 데이터 특성(STDC)은 비휘발성 메모리 장치에 데이터가 기입되는 시점의 프로그램 온도를 더 포함할 수 있다. 이 경우, 스트림 관리부(STMNG)는 상기 프로그램 온도 및 상기 기입된 데이터가 독출되는 시점의 독출 온도의 차이를 모니터링함으로써 복수의 스트림 식별자들의 각각에 대하여 상기 온도 차이에 적합한 스트림 동작 조건을 설정할 수 있다.
도 7은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 실시예를 나타내는 블록도이다.
도 7을 참조하면, 비휘발성 메모리 장치(30)는 메모리 셀 어레이(100), 어드레스 디코더(430), 페이지 버퍼 회로(410), 데이터 입출력 회로(420), 제어 회로(450) 및 전압 생성기(460)를 포함할 수 있다.
메모리 셀 어레이(100)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인(GSL)을 통해 어드레스 디코더(430)와 연결될 수 있다. 또한, 메모리 셀 어레이(100)는 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다.
메모리 셀 어레이(100)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)에 연결되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(100)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(100)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 수직 메모리 낸드 스트링들을 포함할 수 있다.
제어 회로(450)는 메모리 컨트롤러(20)로부터 커맨드 신호(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)에 기초하여 비휘발성 메모리 장치(30)의 동작에 필요한 워드 라인 전압들(VWL)을 생성할 수 있다. 전압 생성기(460)로부터 생성되는 워드 라인 전압들(VWL)은 어드레스 디코더(430)를 통해 복수의 워드 라인들(WL)에 구동 전압들로서 인가될 수 있다.
페이지 버퍼 회로(410)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(100)와 연결될 수 있다. 페이지 버퍼 회로(410)는 복수의 페이지 버퍼를 포함할 수 있다. 페이지 버퍼 회로(410)는 프로그램 동작시 선택된 페이지에 프로그램될 데이터 또는 기입 데이터를 임시로 저장하고, 독출 동작시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(420)는 데이터 라인들(DL)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다. 프로그램 동작시, 데이터 입출력 회로(420)는 호스트 장치(20)로부터 프로그램 데이터(DATA)를 수신하고, 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 프로그램 데이터(DATA)를 페이지 버퍼 회로(410)에 제공할 수 있다. 독출 동작시, 데이터 입출력 회로(420)는 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(410)에 저장된 독출 데이터(DATA)를 호스트 장치(20)에 제공할 수 있다.
제어 회로(450)는 본 발명의 실시예들에 따른 스트림 관리부(STMNG)를 포함할 수 있다. 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링하고, 모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정한다.
도 8은 도 7의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이를 나타내는 블록도이고, 도 9는 도 7의 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 8에 도시된 바와 같이, 메모리 셀 어레이(100)는 복수의 메모리 블록들(BLK1~BLKz)을 포함할 수 있다. 메모리 블록들(BLK1~BLKz)은 어드레스 디코더(430)에 의해 선택된다. 예를 들면, 어드레스 디코더(430)는 메모리 블록들(BLK1~BLKz) 중 블록 어드레스에 대응하는 메모리 블록을 선택할 수 있다.
도 9에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 방향(D1)으로 형성될 수 있다. 기판의 상면은 행 방향(D2) 및 열 방향(D3)과 수직할 수 있다. 도 9를 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 셀 스트링들, 즉 복수의 메모리 낸드 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 낸드 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 도 6에는 복수의 메모리 낸드 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 게이트 라인(GTL1, GTL2, ..., GTL8)에 연결될 수 있다. 게이트 라인(GTL1, GTL2, ..., GTL8)은 워드 라인들에 해당할 수 있으며, 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, GTL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다. 도 9에는 메모리 블록(BLK)이 여덟 개의 게이트 라인(GTL1, GTL2, ..., GTL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 제어 방법을 나타내는 순서도이다.
도 10을 참조하면, 호스트 장치와 멀티-스트림 데이터를 교환하는 비휘발성 메모리 장치를 포함하는 스토리지 장치에서, 복수의 스트림 식별자들의 각각에 대하여 데이터 리텐션 특성 및 독출 교란 특성을 모니터링한다(S110). 서로 다른 독출 전압 세트들 또는 서로 다른 독출 시간들을 갖는 복수의 독출 동작들의 서로 다른 조합들에 상응하는 복수의 독출 시퀀스들을 설정한다(S210). 상기 복수의 독출 시퀀스들 중에서, 상기 데이터 리텐션 특성이 열화된 경우에 상응하는 독출 전압 세트를 갖는 독출 동작을 가장 먼저 수행하는 리텐션 독출 시퀀스 또는 상기 독출 교란 특성이 열화된 경우에 상응하는 독출 전압 세트를 갖는 독출 동작을 가장 먼저 수행하는 디스터브 독출 시퀀스를 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건으로 설정한다(S310).
이하 도 11 내지 31을 참조하여 도 10의 방법에 대한 실시예들을 설명한다.
도 11 및 12는 메모리 셀들의 문턱 전압 분포의 변경을 설명하기 위한 도면들이다. 도 11에는 데이터 리텐션 특성의 열화에 따른 문턱 전압 분포의 변경이 도시되어 있고, 도 12에는 독출 교란 특성의 열화에 따른 문턱 전압 분포의 변경이 도시되어 있다. 도시의 편의상 도 11 및 12에는 서로 인접하는 2개의 문턱 전압 분포들, 즉 메모리 셀이 갖는 인접한 2개의 상태들(Si, Si+1) 및 상태들(Si, Si+1)을 판별하기 위한 1개의 독출 전압(Vr)만이 도시되어 있다. 일반적으로 메모리 셀들은 n비트에 상응하는 2^n개의 상태들을 가질 수 있으며, 이 경우 상기 상태들의 판별을 위해 n-1개의 독출 전압들이 필요하다. 이러한 n-1개의 독출 전압들을 독출 전압 세트라 칭할 수 있다.
도 11에 도시된 바와 같이, 메모리 셀들의 초기 분포들(Si, Si+1)은 데이터 보존과 관련된 리텐션 특성의 열화에 따라서 문턱 전압이 낮아지는 방향으로 쉬프트된 리텐션 열화 분포들(RSi, RSi+1)로 변경된다. 이 경우 초기 분포들(Si, Si+1)에 상응하는 독출 전압(VR)은 리텐션 열화 분포들(RSi, RSi+1)에 상응하는 독출 전압(VRr)으로 조절될 필요가 있다.
한편, 도 12에 도시된 바와 같이, 메모리 셀들의 초기 분포들(Si, Si+1)은 데이터 독출과 관련된 독출 교란 특성의 열화에 따라서 문턱 전압이 높아지는 방향으로 쉬프트된 독출 교란 열화 분포들(DSi, DSi+1)로 변경된다. 이 경우 초기 분포들(Si, Si+1)에 상응하는 독출 전압(VR)은 독출 교란 열화 분포들(DSi, DSi+1)에 상응하는 독출 전압(VRd)으로 조절될 필요가 있다.
도 13은 본 발명의 실시예들에 따른 독출 시퀀스들을 나타내는 도면이다.
도 13을 참조하면, 제1, 제2 및 제3 독출 시퀀스들(RSEQ1, RSEQ2, RSEQ3)은 복수의 독출 동작들(ROP1~ROP4)의 서로 다른 조합들에 상응할 수 있다. 예를 들어, 제1 독출 동작(ROP1)은 제1 독출 전압 세트를 가질 수 있고, 제2 독출 동작(ROP2)은 리텐션 특성 열화에 적합한 제2 독출 전압 세트를 가질 수 있고, 제3 독출 동작(ROP3)은 독출 교란 특성 열화에 적합한 제3 독출 전압 세트를 가질 수 있고, 제4 독출 동작(ROP4)은 온도 변동에 적합한 제4 독출 전압 세트를 가질 수 있다. 제1 독출 시퀀스(RSEQ1)은 기설정된 디폴트 독출 시퀀스일 수 있다.
예를 들어, 스트림 관리부(STMNG)가 데이터 리텐션 특성의 모니토링을 통하여 어느 스트림 식별자에 대하여 리텐션 특성 열화로 결정한 경우 제2 독출 시퀀스(RSEQ2)를 상기 스트림 식별자에 대한 스트림 동작 조건으로 결정할 수 있다. 이와 같이, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 데이터 리텐션 특성을 모니터링하고, 복수의 독출 시퀀스들(RSEQ1~RSEQ3) 중에서, 상기 데이터 리텐션 특성이 열화된 경우에 상응하는 독출 전압 세트를 갖는 제3 독출 동작(ROP)을 가장 먼저 수행하는 리텐션 독출 시퀀스, 즉 제2 독출 시퀀스(RSEQ2)를 상기 스트림 동작 조건으로서 선택할 수 있다.
예를 들어, 스트림 관리부(STMNG)가 독출 교란 특성의 모니토링을 통하여 어느 스트림 식별자에 대하여 독출 교란 특성 열화로 결정한 경우 제3 독출 시퀀스(RSEQ3)를 상기 스트림 식별자에 대한 스트림 동작 조건으로 결정할 수 있다. 이와 같이, 스트림 관리부(STMNG)는 복수의 스트림 식별자들의 각각에 대하여 독출 교란 특성을 모니터링하고, 복수의 독출 시퀀스들(RSEQ1~RSEQ3) 중에서, 상기 독출 교란 특성이 열화된 경우에 상응하는 독출 전압 세트를 갖는 제2 독출 동작(ROP2)을 가장 먼저 수행하는 디스터브 독출 시퀀스, 즉 제3 독출 시퀀스(RSEQ3)를 상기 스트림 동작 조건으로서 선택할 수 있다.
도 14는 호스트 장치에서 스토리지 장치로 전송되는 코맨드의 포맷의 일 실시예를 나타내는 도면이고, 도 15는 도 14의 코맨드에 포함되는 최하위 더블 워드의 포맷의 일 실시예를 나타내는 도면이다. 도 14 및 15의 포맷은 NVMe(non-volatile memory express) 표준에 정의된 스탠다드 코맨드들일 수 있다.
도 14를 참조하면, 각 코맨드는 일정한 사이즈, 예를 들어, 64 바이트의 사이즈를 가질 수 있다. 도 14에서 최하위 더블 워드(CDW0)는 모든 코맨드들에 대해서 공통될 수 있다. 여기서 더블 워드(double words)는 4 바이트(four bytes)에 상응한다. NSID(namespace identifier) 필드는 코맨드가 적용되는 명칭 공간(namespace)을 규정한다. 만약 코맨드가 모든 명칭 공간들에 적용되어야 하는 경우에는 NSID 필드는 0h의 값으로 소거될(cleared) 수 있다. 08 내지 15 바이트들은 유보될 수 있다(reserved). MPTR(metadata pointer) 필드는 코맨드가 메타 데이터를 포함할 때만 유효할 수 있다. PRP(physical region page) ENTRY 필드는 코맨드에서 사용되는 데이터를 규정할 수 있다. 상위 더블 워드들(CDW10~CDW15)은 각 코맨드들에 대해서 특정한 용도로 규정될 수 있다.
도 15를 참조하면, 오피코드(OPC, operation code) 필드는 도 3c에 도시된 바와 같이 실행되어야 할 코맨드의 동작 코드를 규정할 수 있다. FUSE 필드는 코맨드가 혼합된 동작(fused operation)의 일부분인지 아닌지를 규정할 수 있다. 10 내지 13 비트들은 유보될 수 있다(reserved). PSDT(PRP or SGL(scatter gather list) for data) 필드는 코맨드와 연관된 데이터 전송을 위해 PRP 또는 SGL이 사용되는지를 규정할 수 있다. CID 필드는 코맨드의 고유한 ID (unique identifier)를 규정할 수 있다.
도 15를 참조하면, 코맨드의 최하위 더블 워드(CDW0)는 32-비트 크기로 제공될 수 있다. 제1 바이트(BYTE=0)에 주요 정보들이 집중적으로 배치된다. 제1 바이트(BYTE=0)의 비트들(B0~B3)에는 액세스 요청된 어드레스 범위의 메모리 영역에 대한 액세스 빈도(Access frequency)(ACCFRQ)를 나타낸다. 즉, 비트들(B0~B3)에는 액세스 요청된 어드레스 영역에 대한 기입 요청의 빈도 또는 독출 요청의 빈도에 대한 정보가 포함될 수 있다. 제1 바이트(BYTE=0)의 비트들(B4~B5)에는 액세스 레이턴시(Access Latency)(ACCLAT) 정보가 포함된다. 비트들(B4~B5)의 값에 따라 액세스 요청된 데이터에 대한 액세스 레이턴시의 크기가 정의될 수 있다. 제1 바이트(BYTE=0)의 비트(B6=SEQR)에는 독출 또는 기입 요청되는 코맨드가 연속적인 독출 코맨드들 중 하나임을 나타낸다. 즉, 비트(B6)의 값이 '1'인 경우, 해당 코맨드는 연속적으로 제공되는 코맨드들 중 하나임을 나타내고, 비트(B6)의 값이 '0'인 경우, 해당 코맨드에 대한 연속성 정보가 존재하지 않음을 의미할 수 있다. 제1 바이트(BYTE=0)의 비트(B7=INCOMP)에는 액세스 요청되는 데이터가 압축된 데이터인지를 나타낸다. 즉, 비트(B7)의 값이 '1' 또는 '0'인지에 따라서, 액세스 데이터가 압축되지 않은 데이터임을 나타내거나 액세스 데이터에 대한 압축 정보는 존재하지 않음을 나타낸다.
일 실시예에서, 본 발명의 멀티-스트림 식별자(STID)는 제2 바이트(BYTE=1)에 포함될 수 있다. 실시예에 따라서, 멀티-스트림 식별자(STID)는 다른 유보된(Reserved) 제3 바이트(BYTE=2) 또는 제4 바이트(BYTE3)에 포함될 수도 있다.
일 실시예에서, 스트림 관리부(STMNG)는 호스트 장치로부터 비휘발성 메모리 장치로 제공되는 코맨드에 포함되는 액세스 정보(예를 들어, 액세스 빈도(ACCFRQ))에 기초하여 복수의 스트림 식별자들의 각각에 대하여 상기 스트림 데이터 특성을 설정할 수 있다.
도 16은 본 발명의 실시예들에 따른 독출 시퀀스를 나타내는 도면이다.
도 16을 참조하면, 각각의 독출 시퀀스(RSEQ)는 서로 다른 독출 시간들(tRD1~tRDk)을 갖는 복수의 독출 동작들(ROP1~ROPk)을 포함할 수 있다. 일반적으로 독출 시간과 독출 정밀도는 상보적인(trade-off) 관계에 있다. 다시 말해, 작은 독출 시간이 소요되는 독출 동작은 상대적으로 독출 실패의 가능성이 높고 큰 독출 시간이 소요되는 독출 동작은 상대적으로 독출 성공의 가능성이 높다. 따라서, 도 16에 도시된 바와 같이, 각각의 독출 시퀀스(RSEQ)는 상대적으로 작은 독출 시간을 갖는 독출 동작이 선순위로 수행되고 상대적으로 큰 독출 시간을 갖는 독출 동작이 후순위로 수행되도록 설정될 수 있다.
독출 레이턴시는 상기 유효한 데이터가 독출될 때까지 수행되는 독출 동작들의 독출 시간들의 합에 상응한다. 즉 제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)이 된다.
도 17은 도 16의 독출 시퀀스에 상응하는 독출 동작을 나타내는 순서도이다.
도 17을 참조하면, 설정된 독출 시퀀스(RSEQ)에 따라서 가장 선순위의 제1 독출 동작(ROP1)을 수행한다(S11). 각각의 독출 동작은 독출된 데이터에 대한 ECC 디코딩을 포함할 수 있다. ECC 디코딩에 의해 에러 정정이 가능한 경우(S12: YES), 제1 독출 동작(ROP1)의 독출 시간(tRD1)을 독출 레이턴시(tLAT1)로 결정한다(S13). 에러 정정이 가능한 경우 유효 데이터가 구해지고 설정된 독출 시퀀스(RSEQ)가 종료된다.
에러 정정이 불가능한 경우(S12: NO), 다음 순위의 제2 독출 동작(ROP2)을 수행한다(S21). ECC 디코딩에 의해 에러 정정이 가능한 경우(S22: YES), 제1 독출 동작(ROP1) 및 제2 독출 동작(ROP2)의 독출 시간들의 합(tRD1+tRD2)을 독출 레이턴시(tLAT2)로 결정한다(S23).
에러 정정이 불가능한 경우(S22: NO), 다음 순위의 제3 독출 동작(ROP3)을 수행한다(S31). ECC 디코딩에 의해 에러 정정이 가능한 경우(S32: YES), 제1 독출 동작(ROP1) 내지 제3 독출 동작(ROP3)의 독출 시간들의 합(tRD1+tRD2+tRD3)을 독출 레이턴시(tLAT3)로 결정한다(S33).
이와 같은 방식으로, 선순위의 모든 독출 동작들에 의해서도 유효 데이터가 구해지지 않는 경우, 마지막 순위의 제k 독출 동작(ROPk)을 수행한다(S41). ECC 디코딩에 의해 에러 정정이 가능한 경우(S42: YES), 제1 독출 동작(ROP1) 내지 제k 독출 동작(ROP3)의 독출 시간들의 합(tRD1+tRD2+tRD3+,..., +tRDk)을 독출 레이턴시(tLATk)로 결정한다(S43).
마지막 순위의 제k 독출 동작(ROPk)에 의해서도 유효 데이터가 구해지지 않는 경우(S42), 독출이 불가능하다는 판정을 하고(S50) 독출 시퀀스(RSEQ)를 종료한다.
비활성 메모리 장치의 동작 환경 또는 동작 상태가 양호한 경우에는, 대부분 제1 독출 동작(ROP1)에 의해 유효 데이터가 구해질 수 있고, 이 경우 독출 시간이 작은 독출 동작을 선순위로 배치함으로써 독출 레이턴시를 최소화할 수 있다. 그러나 동작 환경이 악화되어 제1 독출 동작(ROP1)보다 후순위의 독출 동작들이 수행되어야 하는 경우에는 오히려 독출 레이턴시가 증가할 수 있다.
본 발명의 실시예들에 따라서 서로 다른 동작 환경들에 상응하는 복수의 독출 시퀀스들을 설정하고 복수의 스트림 식별자들의 각각에 대하여 최적의 독출 시퀀스를 설정함으로써 비활성 메모리 장치의 성능을 향상시킬 수 있다.
도 18은 본 발명의 실시예들에 따른 복수의 독출 시퀀스들을 나타내는 도면이다.
도 18에는 복수의 독출 시퀀스들이 2개인 경우가 도시되어 있으나 실시예에 따라서 3개 이상의 독출 시퀀스들이 설정될 수도 있다. 도 16을 참조하여 전술한 바와 같이, 제1 독출 시퀀스(RSEQ1) 및 제2 독출 시퀀스(RSEQ2)의 각각은 상대적으로 작은 독출 시간을 갖는 독출 동작이 선순위로 수행되고 상대적으로 큰 독출 시간을 갖는 독출 동작이 후순위로 수행되도록 설정될 수 있다. 즉 제1 독출 시퀀스(RSEQ1)에 포함되는 독출 동작들(ROP11, ROP12, ROP13)의 각각의 독출 시간들은 tRD11<tRD12<tRD13의 관계를 만족하고, 제2 독출 시퀀스(RSEQ2)에 포함되는 독출 동작들(ROP21, ROP22, ROP23)의 각각의 독출 시간들은 tRD21<tRD22<tRD23의 관계를 만족할 수 있다.
일 실시예에서, 제1 독출 시퀀스(RSEQ1)는 제1 독출 시간(tRD11)을 갖는 제1 독출 동작(ROP11)을 가장 먼저 수행하도록 설정되고, 제2 독출 시퀀스(RSEQ2)는 제1 독출 시간(tRD11)보다 큰 제2 독출 시간(tRD21)을 갖는 제2 독출 동작(ROP21)을 가장 먼저 수행하도록 설정될 수 있다. 이 경우, 제1 독출 동작(ROP11)의 독출 성공 확률이 높을수록 제1 독출 시퀀스(RSEQ1)가 제2 독출 시퀀스(RSEQ2)보다 더 적합하고, 제1 독출 동작(ROP11)의 독출 성공 확률이 낮을수록 제2 독출 시퀀스(RSEQ2)가 제1 독출 시퀀스(RSEQ1)보다 더 적합하다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 독출 시퀀스 제어부의 일 실시예를 나타내는 블록도이다.
도 19를 참조하면, 독출 시퀀스 제어부(600)는 레이턴시 검출부(620), 평균 레이턴시 계산부(630), 시퀀스 선택 비율(SSR) 결정부(640), 독출 시퀀스(RSEQ) 선택부(650) 및 선택 넘버 제공부(660)를 포함할 수 있다.
레이턴시 검출부(620)는 스트림 식별자(STID) 및 타이밍 신호(TM)에 기초하여 수행이 완료된 독출 시퀀스의 현재의 독출 레이턴시(tLATj)를 제공할 수 있다. 예를 들어, 타이밍 신호(TM)는 최초의 독출 코맨드가 발생된 시점을 나타내는 신호 및 ECC 디코딩에 의해 독출 성공이 결정된 시점을 나타내는 신호를 포함할 수 있다.
평균 레이턴시 계산부(630)는 현재의 독출 레이턴시(tLATj) 및 선택 신호(SEL)에 기초하여 상응하는 독출 시퀀스의 평균 레이턴시(m(tLATj))를 제공할 수 있다. 선택 신호(SEL)에 기초하여 현재의 독출 레이턴시(tLATj)에 상응하는 독출 시퀀스를 판별하고, 상응하는 독출 시퀀스의 평균 레이턴시(m(tLATj))를 갱신하여 제공할 수 있다.
시퀀스 선택 비율 결정부(640)는 복수의 독출 시퀀스들에 각각 상응하는 복수의 평균 레이턴시들에 기초하여 시퀀스 선택 비율(SSRi)을 조절할 수 있다. 예를 들어, 3개의 독출 시퀀스들(RSEQ1, RSEQ2, RSEQ3)을 설정하는 경우에, 시퀀스 선택 비율 결정부(640)는 3개의 시퀀스 선택 비율들(SSR1, SSR2, SSR3)을 제공할 수 있다. 시퀀스 선택 비율 결정부(640)는 독출 시퀀스들(RSEQ1, RSEQ2, RSEQ) 중에서 평균 레이턴시들의 최소값에 상응하는 메인 독출 시퀀스를 결정하고, 다른 독출 시퀀스에 대한 시퀀스 선택 비율보다 상기 메인 독출 시퀀스에 대한 시퀀스 선택 비율을 크게 설정할 수 있다.
예를 들어, 비휘발성 메모리 장치의 사용 초기에는 제1 독출 시퀀스(RSEQ1)가 최소의 평균 레이턴시를 갖고 메인 독출 시퀀스로 결정될 수 있다. 이 경우, 독출 레이턴시들의 모니터링을 위해 필요한 최소값이 0.05 라고 가정하면, SSR1=0.90, SSR2=0.05, SSR=0.05 와 같이 시퀀스 선택 비율들이 결정될 수 있다. 이후 동작 환경의 변화로 인하여 제2 독출 시퀀스가 최소의 평균 레이턴시를 갖고, 메인 독출 시퀀스가 제1 독출 시퀀스(RSEQ1)에서 제2 독출 시퀀스(RSEQ2)로 변경되는 경우에는, SSR1=0.05, SSR2=0.90, SSR=0.05 와 같이 시퀀스 선택 비율들이 조절될 수 있다.
독출 시퀀스 선택부(650)는 시퀀스 선택 비율들(SSRi)에 기초하여 현재 수행될 독출 시퀀스를 나타내는 선택 신호(SEL)를 발생한다. 예를 들어, SSR1=0.90, SSR2=0.05, SSR=0.05 인 경우에, 독출 시퀀스 선택부(150)는 평균적으로 제1 독출 시퀀스(RSEQ1)는 100번 중 90번, 제2 독출 시퀀스(RSEQ2)는 100번 중 5번, 제3 독출 시퀀스(RSEQ3)는 100번 중 5번 선택되도록 선택 신호(SEL)를 발생할 수 있다. 선택 신호(SEL)는 전술한 스트림 관리부(STMNG)에 제공될 수 있고, 스트림 관리부(STMNG)는 선택 신호(SEL)에 응답하여 상응하는 스트림 식별자(STID)에 대한 적합한 독출 시퀀스를 선택할 수 있다.
일 실시예에서, 독출 시퀀스 선택부(150)는 난수(random number)(RN) 및 시퀀스 선택 비율들(SSRi)에 기초하여 불규칙적으로 독출 시퀀스들을 선택할 수 있다.
도 20은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 독출 시퀀스 제어 방법을 나타내는 순서도이다.
도 20을 참조하면, 설정된 복수의 독출 시퀀스들(RSEQ1,RSEQ2, RSEQ3)의 각각에 대한 시퀀스 선택 비율들(SSR1, SSR2, SSR3)을 초기화한다(S710). 초기화된 시퀀스 선택 비율들(SSR1, SSR2, SSR3)은 후술하는 바와 같이 하나의 독출 시퀀스가 수행될 때마다 동작 환경의 변화에 따라서 조절될 수 있다.
현재의 시퀀스 선택 비율들(SSR1, SSR2, SSR3)에 기초하여 하나의 독출 시퀀스가 선택되고(S310) 독출 시퀀스들 중에서 하나의 시퀀스가 선택적으로 수행된다(S320, S330, S340). 선택적으로 수행된 하나의 독출 시퀀스(RSEQj)에 대한 현재의 독출 레이턴시(tLATj)가 제공된다(S510). 현재의 독출 레이턴시(tLATj)를 반영하여 상응하는 독출 시퀀스(RSEQj)의 평균 레이턴시(m(tLATj))를 갱신한다(S520). 갱신 후의 평균 레이턴시들(m(tLAT1), m(tLAT2), m(tLAT3))에 기초하여 동작 환경이 변화되었는지 여부를 판단한다(S720). 동작 환경이 변화된 것으로 판단된 경우(S720: YES), 동작 환경의 변화에 부합하도록 시퀀스 선택 비율들(SSR1, SSR2, SSR3)을 조절한다. 동작 환경이 변화되지 않은 것으로 판단된 경우(S720: NO), 이전의 시퀀스 선택 비율들(SSR1, SSR2, SSR3)을 그대로 유지한다.
비휘발성 메모리 장치의 동작이 종료되는 경우(S910: YES)에는 현재의 시퀀스 선택 비율들(SSR1, SSR2, SSR3) 및 현재의 평균 레이턴시들(m(tLAT1), m(tLAT2), m(tLAT3))을 저장한다(S920). 동작 종료의 경우는 전원이 차단되는 경우 및/또는 절전 모드로 진입하는 경우를 포함할 수 있다. 이 경우 현재의 시퀀스 선택 비율들(SSR1, SSR2, SSR3) 및 현재의 평균 레이턴시들(m(tLAT1), m(tLAT2), m(tLAT3))은 메모리 콘트롤러 또는 비휘발성 메모리 장치 내의 비휘발성 저장 수단을 이용하여 저장될 수 있다. 동작이 종료되지 않는 경우(S910: NO), 후속의 독출 동작에서는 유지되거나 조절된 시퀀스 선택 비율들(SSR1, SSR2, SSR3)에 따라서 전술한 과정들이 반복된다.
이와 같이, 하나의 독출 시퀀스가 수행될 때마다 수행된 독출 시퀀스의 독출 레이턴시를 모니터링하고 모니터링 결과에 기초하여 시퀀스 선택 비율을 적응적으로 조절함으로써 비휘발성 메모리 장치의 성능을 향상시킬 수 있다.
도 21은 기설정된 독출 전압과 최적의 독출 전압의 관계를 설명하기 위한 도면이다.
도 21에는 플래시 메모리 셀들이 갖는 인접한 두 개의 상태들(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 디코딩에 의해 유효 데이터를 얻는 것이 불가능하게 된다. 기설정된 독출 전압에 기초한 선순위의 독출 동작들에 의해 유효한 데이터가 구해지지 않는 경우 최적의 독출 전압을 검출하기 위한 밸리 검색 동작을 수행하고, 상기 검출된 최적의 독출 전압에 기초하여 독출 동작을 수행할 수 있다. 이와 같이 밸리 검색 동작 및 검색된 최적의 독출 전압에 기초하여 독출 동작을 수행하는 것을 전압 보정 독출 동작이라 지칭할 수 있다. 일 실시예에서, 도 22 내지 24에 예시한 바와 같이, 독출 시퀀스들의 각각은 기설정된 독출 전압에 기초한 선순위의 독출 동작을 포함하고, 적어도 하나의 전압 보정 독출 동작을 후순위로 더 포함할 수 있다.
도 22, 23 및 24는 본 발명의 일 실시예에 따른 독출 시퀀스들을 나타내는 도면들이다.
도 22를 참조하면, 제1 독출 시퀀스(RSEQ1)는 우선순위에 따라 배치된 제1 내지 제6 독출 동작들(ROP11~ROP16)을 포함할 수 있다. 제1 내지 제3 독출 동작들(ROP11, ROP12, ROP13)은 기설정된 독출 전압을 이용한 독출 동작이고, 제4 내지 제6 독출 동작들(ROP14, ROP15, ROP16)은 전술한 전압 보정 독출 동작에 해당한다.
전술한 바와 같이, 상대적으로 작은 독출 시간을 갖는 독출 동작이 선순위로 수행되고 상대적으로 큰 독출 시간을 갖는 독출 동작이 후순위로 수행되도록 설정될 수 있다. 즉 가장 작은 제1 독출 시간(tRD11)을 갖는 제1 독출 동작(ROP11)이 가장 먼저 수행되고, 제1 독출 시간(tRD11)보다 큰 제2 독출 시간(tRD12)을 갖는 제2 독출 동작(ROP12)이 그 다음으로 수행되고, 이와 같은 방식으로 가장 큰 제6 독출 시간(tRD16)을 갖는 제6 독출 동작(ROP16)이 마지막으로 수행되도록 제1 독출 시퀀스(RSEQ1)가 설정될 수 있다.
제1 독출 동작(ROP11) 및 제2 독출 동작(ROP12)의 각각은 기설정된 독출 전압을 이용하여 경판정 데이터를 독출하고 상기 경판정 데이터에 기초한 ECC 디코딩(HD)을 수행하는 경판정 독출 동작에 해당한다. 도 25 및 도 26을 참조하여 후술하는 바와 같이, 제1 독출 동작(ROP11)은 기설정된 독출 전압을 이용한 빠른 독출(DEF(F))을 수행하고 제2 독출 동작(ROP12)은 기설정된 독출 전압을 이용한 통상의 독출(DEF(N))을 수행할 수 있다.
제3 독출 동작(ROP13)은 기설정된 독출 전압을 이용하여 경판정 데이터를 독출하고 상기 기설정된 독출 전압 주위의 복수의 독출 전압들을 이용하여 상기 경판정 데이터에 대한 신뢰성 정보를 제공하고 상기 경판정 데이터 및 상기 신뢰성 정보에 기초한 ECC 디코딩(SD)을 수행하는 연판정 독출 동작에 해당한다.
제4 내지 제6 독출 동작들(ROP14, ROP15, ROP16)은 최적의 독출 전압을 검출하기 위한 각각의 밸리 검색 동작들(VS1, VS2, VS3) 및 상기 검출된 최적의 독출 전압에 기초한 독출 동작을 수행하는 전압 보정 독출 동작에 해당한다. 밸리 검색 동작들(VS1, VS2, VS3)은 서로 다른 소요 시간과 정밀도를 갖도록 다양하게 구현될 수 있다.
도 23을 참조하면, 제2 독출 시퀀스(RSEQ2)는 우선순위에 따라 배치된 제1 내지 제4 독출 동작들(ROP21~ROP24)을 포함할 수 있다. 제1 및 제2 독출 동작들(ROP21, ROP22)은 기설정된 독출 전압을 이용한 독출 동작이고, 제3 및 제4 독출 동작들(ROP23, ROP24)은 전술한 전압 보정 독출 동작에 해당한다.
도 24를 참조하면, 제3 독출 시퀀스(RSEQ3)는 우선순위에 따라 배치된 제1 내지 제3 독출 동작들(ROP31, ROP32, ROP33)을 포함할 수 있다. 제1 독출 동작(ROP31)은 기설정된 독출 전압을 이용한 독출 동작이고, 제2 및 제3 독출 동작들(ROP32, ROP33)은 전술한 전압 보정 독출 동작에 해당한다.
예를 들어, 도 22의 제1 독출 시퀀스(RSEQ1)는 상대적으로 낮은 비트 에러율(BER)의 동작 환경에 적합하도록 설정되고, 도 23의 제2 독출 시퀀스(RSEQ2)는 보통의 비트 에러율의 동작 환경에 적합하도록 설정되고, 도 24의 제3 독출 시퀀스(RSEQ3)는 상대적으로 높은 비트 에러율의 동작 환경에 적합하도록 설정될 수 있다. 이와 같이, 서로 다른 동작 환경들에 각각 상응하는 복수의 독출 시퀀스들을 설정하고, 독출 레이턴시들의 모니터링 결과에 기초하여 전술한 시퀀스 선택 비율들을 적응적으로 조절함으로써 비휘발성 메모리 장치의 성능을 향상시킬 수 있다.
도 25는 저항성 메모리 장치의 데이터 독출 과정의 일 예를 나타내는 타이밍도이고, 도 26은 도 25의 데이터 독출 과정에 따른 독출 시간을 설명하기 위한 도면이다.
도 25를 참조하면, 방전 구간(t0-t1)에서 방전 신호(DIS)가 논리 하이로 활성화되면 비트라인의 전압(Vr)이 접지 전압으로 초기화된다. 프리차지 구간(t1-t2)에서 프리차지 신호(PRE)가 논리 로우로 활성화되면, 비트라인 전압(Vr)이 프리차지 전압(VPRE)으로 충전된다. 디벨롭 구간(t2-t3)에서 프리차지 신호(PRE)가 논리 하이로 비활성화되면 프리차지 전압(VPRE)이 차단되고 메모리 셀의 저항성 소자를 통하여 접지 전압과 연결된 비트라인의 전압이 강하한다. 이때 저항이 큰 오프 상태의 메모리 셀에 연결된 비트라인의 전압(VF1)은 서서히 강하하고 저항이 작은 온 상태의 메모리 셀에 연결된 비트라인의 전압(VF0)은 비교적 빠르게 강하한다.
센싱 구간(t3-t4)에서는 독출 인에이블 신호(REN)가 논리 로우로 비활성화되고 이 때의 비트라인의 전압(V1 또는 V0)과 독출 전압(VRD)을 비교함으로써 메모리 셀에 저장된 데이터 비트가 독출될 수 있다.
도 26에는 도 22를 참조하여 전술한 빠른 독출(DEF(F)) 및 통상의 독출(DEF(N))의 일 예가 도시되어 있다. 데이터 독출 과정의 소요 시간은 방전 시간(tDIS), 프리차지 시간(tPRE), 디벨롭 시간(tDEV) 및 래치 또는 센싱 시간(tSEN)을 포함할 수 있다. 일반적으로 프리차지 시간(tPRE) 또는 디벨롭 시간(tDEV)을 증가할수록 독출 시간은 증가하지만 독출 데이터의 정밀도 또는 신뢰도를 높일 수 있다. 도 26에 도시된 바와 같이, 도 22의 제1 독출 동작(ROP11)의 프리차지 시간(tPRE(F))과 디벨롭 시간(tDEV(F))의 합은 제2 독출 동작(ROP12)의 프리차지 시간(tPRE(N))과 디벨롭 시간(tDEV(N))의 합보다 작게 설정될 수 있다.
도 27, 28 및 29는 본 발명의 실시예들에 따른 밸리 검색 방법들을 나타내는 도면들이다.
도 27을 참조하면, 테스트 과정 등을 통하여 메모리 셀들의 상태들의 쉬프트 경향을 분석함으로써 도 27에 도시된 바와 같은 오프셋 테이블이 제공될 수 있다. 제1 밸리 검색 방법(VS1)은 이러한 오프셋 테이블을 참조하여 최적의 독출 전압, 즉 밸리가 될 확률이 높은 독출 전압들(V1~V4)을 블라인드 서치 방식으로 테스트함으로써 최적의 독출 전압을 구하는 방식으로 수행될 수 있다.
도 28을 참조하면, 제2 밸리 검색 방법은 복수의 독출 전압들(V1~V5)을 이용하여 밸리 주변의 모양을 파악한 후 2차식(MD)으로 모델링하는 방식으로 수행될 수 있다. 상기 2차식(MD)의 꼭지점(OP)에 상응하는 전압을 최적의 독출 전압으로 결정할 수 있다.
도 29를 참조하면, 제3 밸리 검색 방법은 밸리 주변을 비교적 작은 전압 간격의 독출 전압들(V1~V8)을 이용하여 전압 간격들에 각각 속하는 메모리 셀들의 개수들을 구하는 방식으로 수행될 수 있다. 최소의 셀 개수에 상응하는 전압을 최적의 독출 전압으로 결정할 수 있다.
제1 밸리 검색 방법(VS1)은 가장 짧은 소요 시간이 요구되지만 상대적으로 정밀도가 낮다. 한편 제3 밸리 검색 방법(VS3)은 가장 큰 소요 시간이 요구되지만 상대적으로 정밀도가 높다. 이와 같이 서로 다른 소요 시간 및 정밀도를 갖는 밸리 검색 방법들(VS1, VS2, VS3)을 이용하여 도 22 내지 도 24를 참조하여 설명한 바와 같은 독출 시퀀스들(RSEQ1, RSEQ2, RSEQ3)을 설정할 수 있다.
도 30은 2-비트 연판정 독출 동작의 일 예를 설명하기 위한 도면이고, 도 31은 3-비트 연판정 독출 동작의 일 예를 설명하기 위한 도면이다.
예를 들어, 도 30에 도시된 바와 같이, 비휘발성 메모리 셀들에 대하여 2-비트 연판정 독출 동작을 수행할 수 있다. 상기 2-비트 연판정 독출 동작은 일정한 간격을 가지는 세 개의 전압들(V1, V2, V3)을 이용하는 세 개의 독출 동작들을 포함할 수 있다. 예를 들어, 세 개의 전압들(V1, V2, V3)은 데이터 “1”에 상응하는 제1 상태(Si)와 데이터 “0”에 상응하는 제2 상태(Si+1)의 구분을 위한 소정의 기준 레벨을 가지는 제1 전압(V1), 제1 전압(V1)보다 소정의 레벨만큼 낮은 제2 전압(V2), 및 제1 전압(V1)보다 상기 소정의 레벨만큼 높은 제3 전압(V3)을 포함할 수 있다. 한 편, 상기 기준 레벨을 가지는 제1 전압(V1)을 이용하여 독출되는 데이터(710)는 경판정 독출 동작에 의해 독출된 경판정 데이터(710)일 수 있고, 상기 2-비트 연판정 독출 동작은 상기 기준 레벨을 가지는 제1 전압(V1)의 인가 없이 상기 경판정 독출 동작에 의해 독출된 경판정 데이터(710)를 활용할 수 있다. 상기 2-비트 연판정 독출 동작은 제2 전압(V2)을 이용하여 독출된 데이터 및 제3 전압(V3)을 이용하여 독출된 데이터에 소정의 논리 연산(예를 들어, XNOR 연산(730))(또는 인코딩(Encoding))을 수행하여 경판정 데이터(710)에 대한 신뢰성 정보를 가지는 연판정 데이터(720)를 생성할 수 있다. 연판정 데이터(720)의 각 비트는 경판정 데이터(710)의 상응하는 비트의 신뢰성의 정도를 나타낼 수 있고, 예를 들어, 값이 “1”인 연판정 데이터(720)의 비트는 경판정 데이터(710)의 상응하는 비트가 높은(Strong(S)) 신뢰성을 가짐을 나타내고, 값이 “0”인 연판정 데이터(720)의 비트는 경판정 데이터(710)의 상응하는 비트가 낮은(Weak(W)) 신뢰성을 가짐을 나타낼 수 있다.
다른 예에서, 도 31에 도시된 바와 같이, 비휘발성 메모리 셀들에 대하여 3-비트 연판정 독출 동작을 수행할 수 있다. 상기 3-비트 연판정 독출 동작은 일정한 간격을 가지는 일곱 개의 전압들(V1, V2, V3, V4, V5, V6, V7)을 이용하는 일곱 개의 독출 동작들을 포함할 수 있다. 예를 들어, 일곱 개의 전압들(V1, V2, V3, V4, V5, V6, V7)은 상기 2-비트 연판정 독출 동작에서 이용되는 세 개의 전압들(V1, V2, V3)과 함께 제2 전압(V2)보다 낮은 제4 전압(V4), 제2 전압(V2)과 제1 전압(V1) 사이의 제5 전압(V5), 제1 전압(V1)과 제3 전압(V3) 사이의 제6 전압(V6), 및 제3 전압(V3)보다 높은 제7 전압(V7)을 포함할 수 있다. 제1 전압(V1)을 이용하여 독출되는 데이터(710)는 상기 경판정 독출 동작에 의해 독출된 경판정 데이터(710)일 수 있다. 또한, 제2 및 제3 전압들(V2, V3)을 이용하여 독출되는 데이터(720)는 상위 비트(MSB) 연판정 데이터(720)로서 상기 2-비트 연판정 독출 동작에 의해 독출되는 연판정 데이터(720)에 상응할 수 있다. 상기 3-비트 연판정 독출 동작은 제4 전압(V4), 제5 전압(V5), 제6 전압(V6) 및 제7 전압(V7)을 이용하여 독출된 데이터들에 소정의 논리 연산(예를 들어, XNOR 연산(750))(또는 인코딩(Encoding))을 수행하여 하위 비트(LSB) 연판정 데이터(740)를 생성할 수 있다. 두 개의 비트들을 가지는 각 연판정 데이터(720, 740)는 상응하는 경판정 데이터(710)의 신뢰성의 정도를 나타낼 수 있고, 예를 들어, 값이 “11”인 각 연판정 데이터(720, 740)는 상응하는 경판정 데이터(710)가 매우 높은(Very Strong(VS)) 신뢰성을 가짐을 나타내고, 값이 “10”인 각 연판정 데이터(720, 740)는 상응하는 경판정 데이터(710)가 높은(Strong(S)) 신뢰성을 가짐을 나타내며, 값이 “00”인 각 연판정 데이터(720, 740)는 상응하는 경판정 데이터(710)가 낮은(Weak(W)) 신뢰성을 가짐을 나타내고, 값이 “01”인 각 연판정 데이터(720, 740)는 상응하는 경판정 데이터(710)가 매우 낮은(Very Weak(VW)) 신뢰성을 가짐을 나타낼 수 있다.
도 32는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 스트림 관리부의 셀 특성 테이블의 일 실시예를 나타내는 도면이다.
도 32를 참조하면, 셀 특성 테이블(CCT)은 비휘발성 메모리 장치의 물리 주소(PHYADD) 및 메모리 셀들의 열화 특성(MCLC)의 매핑 관계를 나타낸다. 여기서 물리 주소(PHYADD)는 소거 동작의 단위가 되는 메모리 블록의 주소 또는 기입 동작과 독출 동작의 단위가 되는 페이지의 주소일 수 있다.
스트림 관리부(STMNG)는 물리 주소들(PA1, PA2)의 각각에 대해 메모리 셀들의 열화 특성(MCLC)을 모니터링하고, 모니터링된 상기 메모리 셀들의 열화 특성(CCH1, CCH2)에 기초하여 전술한 복수의 스트림 식별자들(STID=1,2)의 각각에 상응하는 스트림 동작 조건을 조절할 수 있다. 일 실시예에서, 열화 특성(CCH1, CCH2)은 물리 주소들(PA1, PA2)의 프로그램-소거 사이클일 수 있다.
도 33은 본 발명의 실시예들에 따른 프로그램 동작 조건들을 설명하기 위한 도면이고, 도 34는 본 발명의 실시예들에 따른 소거 동작 조건들을 설명하기 위한 도면이다.
전술한 복수의 동작 조건들은 프로그램 동작 조건들 및/또는 소거 동작 조건들을 포함할 수 있다.
도 33을 참조하면, 서로 다른 프로그램 동작 조건들에 따라서 메모리 셀들의 문턱 전압 분포들, 즉 상태들이 달라질 수 있다. 서로 다른 프로그램 동작 조건들은 서로 다른 프로그램 전압들, 서로 다른 프로그램 검증 전압들 또는 서로 다른 프로그램 시간들을 가질 수 있다.
도 33에서 제1 경우(CS1)는 데이터 리텐션 특성의 열화, 독출 교란 특성의 열화, 프로그램-소거 사이클에 의한 열화 등의 동작 환경에 따른 열화가 상대적으로 큰 스트림 식별자에 상응하고 제2 경우는 동작 환경에 따른 열화가 상대적으로 작은 스트림 식별자에 상응한다. 예를 들어, 열화가 상대적으로 큰 경우에는 상대적으로 큰 간격의 프로그램 검증 전압들(VPV11~VPV14)을 사용하여 상대적으로 큰 독출 마진을 갖는 상태들(S11~S14)을 프로그램할 수 있다. 반면에 열화가 상대적으로 작은 경우에는 상대적으로 작은 간격의 프로그램 검증 전압들(VPV21~VPV24)를 사용하여 상대적으로 작은 독출 마진을 갖는 상태들(S21~S24)을 프로그램할 수 있다.
도 34를 참조하면, 서로 다른 소거 동작 조건들에 따라서 메모리 셀들의 소거 상태의 문턱 전압 분포가 달라질 수 있다. 서로 다른 소거 동작 조건들은 서로 다른 소거 전압들, 서로 다른 소거 검증 전압들 또는 서로 다른 소거 시간들을 가질 수 있다.
도 34에서 제1 경우(CS1)는 데이터 리텐션 특성의 열화, 독출 교란 특성의 열화, 프로그램-소거 사이클에 의한 열화 등의 동작 환경에 따른 열화가 상대적으로 작은 스트림 식별자에 상응하고 제2 경우는 동작 환경에 따른 열화가 상대적으로 큰 스트림 식별자에 상응한다. 예를 들어, 열화가 상대적으로 작은 경우에는 상대적으로 높은 소거 검증 전압(VERS1)을 사용하여 상대적으로 낮은 문턱 전압 분포의 소거 상태를 구현할 수 있다. 반면에 열화가 상대적으로 큰 경우에는 상대적으로 낮은 소거 검증 전압(VERS2)을 사용하여 상대적으로 낮은 문턱 전압 분포의 소거 상태를 구현할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법은, 스트림 데이터 특성에 따라서 적합한 스트림 동작 조건을 설정함으로써 비휘발성 메모리 장치 및 이를 포함하는 스토리지 장치의 성능을 향상시킬 수 있다.
본 발명의 실시예들은 멀티-스트리밍을 지원하는 장치 및 이를 포함하는 시스템에 유용하게 이용될 수 있다.
특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(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 (10)

  1. 호스트 장치와 멀티-스트림 데이터를 교환하는 비휘발성 메모리 장치를 포함하는 스토리지 장치에서, 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링하는 단계;
    서로 다른 동작 환경들에 각각 상응하는 복수의 동작 조건들을 설정하는 단계; 및
    모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정하는 단계를 포함하는 비휘발성 메모리 장치의 동작 제어 방법.
  2. 제1 항에 있어서,
    상기 스트림 데이터 특성을 모니터링하는 단계는,
    상기 복수의 스트림 식별자들의 각각에 대하여 데이터 리텐션 특성을 모니터링하는 단계; 및
    상기 복수의 스트림 식별자들의 각각에 대하여 독출 교란 특성을 모니터링하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  3. 제2 항에 있어서,
    상기 데이터 리텐션 특성을 모니터링하는 단계는,
    상기 복수의 스트림 식별자들의 각각에 대하여 상기 비휘발성 메모리 장치에 데이터가 기입되는 프로그램 시점부터 상기 기입된 데이터가 독출되는 독출 시점 사이의 프로그램-독출 간격 시간을 모니터링하는 단계; 및
    상기 복수의 스트림 식별자들의 각각에 대하여 상기 비휘발성 메모리 장치의 메모리 셀들의 상태들 중에서 상기 데이터 리텐션 특성에 취약한 적어도 하나의 리텐션 취약 상태에 상응하는 메모리 셀들의 개수를 모니터링하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  4. 제2 항에 있어서,
    상기 독출 교란 특성을 모니터링하는 단계는,
    상기 복수의 스트림 식별자들의 각각에 대하여 데이터가 독출되는 횟수를 나타내는 독출 카운트를 모니터링하는 단계; 및
    상기 복수의 스트림 식별자들의 각각에 대하여 상기 비휘발성 메모리 장치의 메모리 셀들의 상태들 중에서 상기 독출 교란 특성에 취약한 적어도 하나의 독출 교란 취약 상태에 상응하는 메모리 셀들의 개수를 모니터링하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  5. 제1 항에 있어서,
    상기 스트림 데이터 특성을 모니터링하는 단계는,
    상기 호스트 장치로부터 상기 비휘발성 메모리 장치로 제공되는 코맨드에 포함되는 액세스 정보에 기초하여 상기 복수의 스트림 식별자들의 각각에 대하여 상기 스트림 데이터 특성을 설정하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  6. 제1 항에 있어서,
    상기 복수의 동작 조건들을 설정하는 단계는,
    서로 다른 독출 전압 세트들 또는 서로 다른 독출 시간들을 갖는 복수의 독출 동작들의 서로 다른 조합들에 상응하는 복수의 독출 시퀀스들을 설정하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  7. 제6 항에 있어서,
    상기 스트림 데이터 특성을 모니터링하는 단계는,
    상기 복수의 스트림 식별자들의 각각에 대하여 상기 복수의 독출 시퀀스들의 각각에 상응하는 복수의 평균 독출 레이턴시들을 모니터링하는 단계를 포함하고,
    상기 스트림 동작 조건을 설정하는 단계는,
    상기 복수의 독출 시퀀스들 중에서, 상기 복수의 평균 레이턴시들의 최소값에 상응하는 메인 독출 시퀀스를 상기 스트림 동작 조건으로서 선택하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  8. 제1 항에 있어서,
    소거 동작의 단위가 되는 메모리 블록들 또는 기입 동작과 독출 동작의 단위가 되는 페이지들의 각각에 대해 메모리 셀들의 열화 특성을 모니터링하는 단계; 및
    모니터링된 상기 메모리 셀들의 열화 특성에 기초하여 상기 스트림 동작 조건을 조절하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  9. 제1 항에 있어서,
    상기 복수의 동작 조건들을 설정하는 단계는,
    서로 다른 프로그램 전압들, 서로 다른 프로그램 검증 전압들 또는 서로 다른 프로그램 시간들을 갖는 복수의 프로그램 동작 조건들을 설정하는 단계; 및
    서로 다른 소거 전압들, 서로 다른 소거 검증 전압들 또는 서로 다른 소거 시간들을 갖는 복수의 소거 동작 조건들을 설정하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 제어 방법.
  10. 호스트 장치와 멀티-스트림 데이터를 교환하는 스토리지 장치로서,
    복수의 비휘발성 메모리 셀들이 배열된 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치; 및
    서로 다른 동작 환경들에 각각 상응하도록 설정된 복수의 동작 조건들을 저장하고, 복수의 스트림 식별자들의 각각에 대하여 스트림 데이터 특성을 모니터링하고, 모니터링된 상기 스트림 데이터 특성에 기초하여, 상기 복수의 동작 조건들 중에서 상기 복수의 스트림 식별자들의 각각에 상응하는 스트림 동작 조건을 설정하는 콘트롤러를 포함하는 스토리지 장치.
KR1020190071596A 2019-06-17 2019-06-17 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법 KR20200143912A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190071596A KR20200143912A (ko) 2019-06-17 2019-06-17 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법
US16/729,719 US11314452B2 (en) 2019-06-17 2019-12-30 Storage device supporting multi-streaming and method of controlling operation of nonvolatile memory device
CN202010278114.8A CN112102871A (zh) 2019-06-17 2020-04-10 存储系统和控制非易失性存储器设备的操作的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190071596A KR20200143912A (ko) 2019-06-17 2019-06-17 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법

Publications (1)

Publication Number Publication Date
KR20200143912A true KR20200143912A (ko) 2020-12-28

Family

ID=73745533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071596A KR20200143912A (ko) 2019-06-17 2019-06-17 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법

Country Status (3)

Country Link
US (1) US11314452B2 (ko)
KR (1) KR20200143912A (ko)
CN (1) CN112102871A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220125895A (ko) * 2021-03-05 2022-09-15 동국대학교 산학협력단 Ssd 멀티스트림 운용을 위한 스트림 분할 방법
WO2023034710A1 (en) * 2021-08-31 2023-03-09 Micron Technology, Inc. Memory traffic monitoring

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100851853B1 (ko) * 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
JP2008287404A (ja) * 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
EP2077559B1 (en) 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Refresh method of a flash memory
JP2009230475A (ja) 2008-03-24 2009-10-08 Nec Personal Products Co Ltd 不揮発性半導体記憶部を含む記憶システム
KR102120823B1 (ko) * 2013-08-14 2020-06-09 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
KR102074329B1 (ko) 2013-09-06 2020-02-06 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
KR20150044753A (ko) 2013-10-17 2015-04-27 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
KR102435873B1 (ko) * 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
KR102512448B1 (ko) 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
CN107452421B (zh) * 2016-05-31 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及其状态预测方法
US10031689B2 (en) 2016-09-15 2018-07-24 Western Digital Technologies, Inc. Stream management for storage devices
US9881682B1 (en) * 2016-11-23 2018-01-30 Seagate Technology Llc Fine grained data retention monitoring in solid state drives
JP2018088137A (ja) 2016-11-29 2018-06-07 東芝メモリ株式会社 半導体記憶装置
US11048624B2 (en) 2017-04-25 2021-06-29 Samsung Electronics Co., Ltd. Methods for multi-stream garbage collection
CN111104245B (zh) * 2018-10-29 2023-07-14 建兴储存科技(广州)有限公司 固态存储装置的读取重试方法
US11037637B2 (en) * 2018-12-10 2021-06-15 Micron Technology, Inc. Defect detection in memories with time-varying bit error rate

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220125895A (ko) * 2021-03-05 2022-09-15 동국대학교 산학협력단 Ssd 멀티스트림 운용을 위한 스트림 분할 방법
WO2023034710A1 (en) * 2021-08-31 2023-03-09 Micron Technology, Inc. Memory traffic monitoring

Also Published As

Publication number Publication date
US20200393992A1 (en) 2020-12-17
CN112102871A (zh) 2020-12-18
US11314452B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR101934892B1 (ko) 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
TWI574270B (zh) 記憶體裝置之平均抹寫
US10930358B2 (en) Memory system and method of operating the same
KR102470726B1 (ko) 비휘발성 메모리 장치
US9019770B2 (en) Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same
US9275740B2 (en) Method and apparatus for improving data integrity using threshold voltage recalibration
CN109308931B (zh) 存储装置及其操作方法
US8856621B2 (en) Memory controller for nonvolatile memory device, memory system comprising memory controller, and related methods of operation
KR20140072697A (ko) 메모리 장치, 메모리 시스템 및 이의 동작 방법
KR20160050393A (ko) 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR20160050392A (ko) 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US11487448B2 (en) Storage device using unsupervised learning scheme and memory management method thereof
KR20210145073A (ko) 반도체 기억장치 및 판독 방법
CN110648708A (zh) 半导体存储器装置、其操作方法以及存储器系统
KR20200143912A (ko) 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법
US10936421B2 (en) Memory system having storage device and memory controller and operating method thereof
US11216208B1 (en) Memory system, memory controller, and operation method of memory system
KR20140118555A (ko) 메모리 시스템 및 그것의 액세스 성능 조절 방법
CN113066517A (zh) 存储器系统及其操作方法
KR20220049397A (ko) 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
TWI677880B (zh) 半導體記憶裝置及記憶體系統
CN116403629A (zh) 存储装置
CN114144756B (zh) 使用写入事务数据选择读取电压
US11061615B2 (en) Memory system, memory controller and operating method thereof
US10978161B2 (en) Memory system, memory controller and memory device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal