KR20210018615A - 스토리지 장치 및 이를 포함하는 스토리지 시스템 - Google Patents

스토리지 장치 및 이를 포함하는 스토리지 시스템 Download PDF

Info

Publication number
KR20210018615A
KR20210018615A KR1020190095757A KR20190095757A KR20210018615A KR 20210018615 A KR20210018615 A KR 20210018615A KR 1020190095757 A KR1020190095757 A KR 1020190095757A KR 20190095757 A KR20190095757 A KR 20190095757A KR 20210018615 A KR20210018615 A KR 20210018615A
Authority
KR
South Korea
Prior art keywords
memory device
read
memory
information
error bits
Prior art date
Application number
KR1020190095757A
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 KR1020190095757A priority Critical patent/KR20210018615A/ko
Priority to US16/810,559 priority patent/US11380405B2/en
Priority to CN202010729765.4A priority patent/CN112349324A/zh
Publication of KR20210018615A publication Critical patent/KR20210018615A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-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/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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/76Array using an access device for each cell which being not a transistor and not a diode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 실시예에 따른 스토리지 장치는, 복수의 메모리 블록들 및 상기 복수의 메모리 블록들 각각에 포함되는 복수의 페이지들을 포함하는 제1 메모리 장치, 상기 제1 메모리 장치의 제1 열화 정보를 저장하는 제2 메모리 장치, 및 소정의 주기 마다 제1 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제1 리드 동작을 수행함으로써 상기 제1 열화 정보를 획득하고, 상기 제1 열화 정보에 기초하여 산출되는 제2 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제2 리드 동작을 수행하는 컨트롤러를 포함하고, 상기 제2 리드 전압은 상기 제1 열화 정보를 이용하여 예측되는 상기 제1 메모리 장치의 제2 열화 정보를 이용하여 산출되고, 상기 제1 열화 정보 및 상기 제2 열화 정보 각각은 상기 복수의 페이지들 각각의 에러 비트 개수를 포함할 수 있다.

Description

스토리지 장치 및 이를 포함하는 스토리지 시스템{STORAGE DEVICE AND STORAGE SYSYSTEM INCLUDING THE SAME}
본 발명은 스토리지 장치 및 이를 포함하는 스토리지 시스템에 관한 것이다.
메모리 장치는 리텐션 시간의 증가, 리드 디스터브(read disturb) 발생, P/E 사이클(Program/Erasure cycle) 증가로 인한 내구성(endurance) 저하 등 다양한 요인들로 인해 성능 열화가 발생할 수 있다. 메모리 장치의 집적도가 증가함에 따라 리드 마진이 감소하고 있으며, 메모리 장치의 성능 열화가 심해질수록 리드 마진의 감소 폭은 커지게 되므로, 데이터 신뢰성을 높이기 위한 기술이 매우 중요해지고 있다. 이에 따라, 빠른 시간 내에 최적의 리드 전압을 탐색하는 방법에 대한 연구가 활발히 진행되고 있다.
본 발명의 기술적 사상이 이루고자 하는 기술적 과제 중 하나는, 이종의 메모리 장치에 저장된 열화 정보를 이용하여 리드 전압을 효과적으로 제어할 수 있는 스토리지 장치를 제공하는 것이다.
본 발명의 실시예들에 따른 스토리지 장치는, 복수의 메모리 블록들 및 상기 복수의 메모리 블록들 각각에 포함되는 복수의 페이지들을 포함하는 제1 메모리 장치, 상기 제1 메모리 장치의 제1 열화 정보를 저장하는 제2 메모리 장치, 및 소정의 주기 마다 제1 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제1 리드 동작을 수행함으로써 상기 제1 열화 정보를 획득하고, 상기 제1 열화 정보에 기초하여 산출되는 제2 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제2 리드 동작을 수행하는 컨트롤러를 포함하고, 상기 제2 리드 전압은, 상기 제1 열화 정보를 이용하여 예측되는 상기 제1 메모리 장치의 제2 열화 정보를 이용하여 산출되고, 상기 제1 열화 정보 및 상기 제2 열화 정보 각각은, 상기 복수의 페이지들 각각의 에러 비트 개수를 포함할 수 있다.
본 발명의 실시예들에 따른 스토리지 장치는, 호스트가 요청한 데이터를 저장하는 제1 메모리 장치, 상기 제1 메모리 장치의 제1 열화 정보를 페이지 단위로 저장하는 제2 메모리 장치, 및 소정의 주기 마다 제1 리드 전압을 이용하여 상기 제1 메모리 장치에 대해 제1 리드 동작을 수행하고, 상기 제1 리드 동작에 따라 리드된 데이터에 포함된 에러 비트 개수를 상기 제1 열화 정보로서 획득하는 컨트롤러를 포함하고, 상기 호스트의 요청에 따른 상기 제1 메모리 장치에 대한 제2 리드 동작은, 상기 제1 열화 정보에 기초하여 산출되는 제2 리드 전압을 이용하여 수행되고, 상기 제2 리드 전압은 상기 제1 리드 전압보다 작을 수 있다.
본 발명의 실시예들에 따른 스토리지 장치는, 메모리 장치의 열화 정보를 이용하여 최적의 리드 전압을 산출함으로써, 리드 페일의 발생을 방지할 수 있다.
본 발명의 실시예들에 따른 스토리지 장치는, 이종의 메모리 장치를 결합한 하이브리드 구조를 가짐으로써, 리드 전압의 레벨을 효과적으로 제어할 수 있다.
본 발명의 다양하면서도 유익한 장점 및 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시예를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 스토리지 시스템을 나타낸 도면이다.
도 2 내지 도 5b는 본 발명의 일 실시예에 따른 스토리지 장치에 포함되는 메모리 장치를 설명하기 위한 도면들이다.
도 6은 도 1의 제1 메모리 장치에 포함된 메모리 셀들의 열화도에 따른 문턱전압 산포 변화를 나타내는 도면이다.
도 7 내지 도 15b는 본 발명의 일 실시예에 따른 스토리지 장치를 설명하기 위한 도면들이다.
도 16 및 도 17은 본 발명의 일 실시예에 따른 스토리지 장치를 설명하기 위한 도면들이다.
도 18 및 도 19는 본 발명의 일 실시예에 따른 스토리지 장치를 설명하기 위한 도면들이다.
도 20은 본 발명의 일 실시예에 따른 스토리지 장치를 포함하는 전자 기기를 간단하게 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들에 대해 상세하게 설명한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대한 중복된 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 스토리지 시스템을 나타낸 도면이다.
도 2 내지 도 5b는 본 발명의 일 실시예에 따른 스토리지 장치에 포함되는 메모리 장치를 설명하기 위한 도면들이다.
도 1을 참조하면, 스토리지 시스템(1)은 스토리지 장치(10) 및 호스트(20)를 포함할 수 있다.
스토리지 장치(10)는 호스트(20)의 요청에 응답하여 동작하며, 호스트(20)에 의해 액세스되는 데이터를 저장할 수 있다.
스토리지 장치(10)는 각종 데이터를 저장하는 메모리 장치(100)와, 상기 메모리 장치(100)의 전반적인 동작을 제어하는 컨트롤러(200)를 포함할 수 있다.
메모리 장치(100)는 제1 메모리 장치(110) 및 제2 메모리 장치(120)를 포함할 수 있다.
제1 메모리 장치(110)는 호스트(20)에 의해 액세스되는 데이터를 저장할 수 있다. 일부 예에서, 제1 메모리 장치(110)는 비휘발성 메모리(Non Volatile Memory: NVM)를 포함할 수 있다. 예컨대, 제1 메모리 장치(110)는 낸드 플래시 메모리(NAND Flash memory), 노어 플래시 메모리(NOR Flash memory), 또는 두 종류 이상의 메모리들이 혼합된 하이브리드 구조를 갖는 플래시 메모리 등을 포함할 수 있다.
도 2를 참조하면, 제1 메모리 장치(110)는 전압생성기(111), 어드레스 디코더(113), 컨트롤 로직(115), 메모리 셀 어레이(117), 및 데이터 입출력 회로(119)를 포함할 수 있다.
컨트롤 로직(115)은 컨트롤러(200)로부터 각종 커맨드 및 어드레스 신호를 수신하고, 리드 동작, 프로그램 동작 등을 수행하기 위해 어드레스 디코더(113) 및 데이터 입출력 회로(119)를 제어할 수 있다. 또한, 컨트롤 로직(115)은 컨트롤러(200)로부터 전압제어신호를 수신하고, 리드 전압, 프로그램 전압 등을 생성하기 위해 전압생성기(111)를 제어할 수 있다.
전압생성기(111)는 제1 메모리 장치(110)를 구동하기 위한 복수의 전압들을 생성할 수 있다. 예컨대, 전압생성기(111)는 복수의 리드 전압, 복수의 프로그램 전압, 복수의 패스 전압 등을 생성할 수 있다.
어드레스 디코더(113)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WL1-WLN), 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(117)에 연결될 수 있다. 어드레스 디코더(113)는 컨트롤러(200)로부터 수신된 어드레스 신호를 디코딩하고, 디코딩된 어드레스 신호에 따라 선택되는 적어도 하나의 워드 라인(WL1-WLN)에 리드 전압을 인가할 수 있다.
데이터 입출력 회로(119)는 리드 전압이 인가된 워드 라인(WL1-WLN)에 연결된 복수의 메모리 셀들로부터, 복수의 비트 라인들(BL1-BLM)을 통해 데이터를 수신할 수 있다. 데이터 입출력 회로(119)는 메모리 셀 어레이(117)로부터 리드된 데이터 및 메모리 셀 어레이(117)에 프로그램될 데이터를 임시 저장하기 위한 페이지 버퍼(PB)를 포함할 수 있다. 일부 예에서, 페이지 버퍼(PB)는 복수의 데이터 래치들로 구현될 수 있다.
메모리 셀 어레이(117)는 복수의 메모리 블록들(BLK1-BLKn)을 포함할 수 있다. 또한, 각각의 메모리 블록(BLK1-BLKn)은 복수의 페이지들(PAGE1-PAGEm)을 포함할 수 있다. 각각의 페이지(PAGE1-PAGEm)는 복수의 메모리 셀들을 포함하며, 복수의 메모리 셀들은 복수의 워드라인들(WL1-WLN)에 연결될 수 있다. 메모리 셀은, 저장할 수 있는 데이터의 비트 수에 따라, 1 비트 데이터를 저장하는 싱글 레벨 셀(Single Level Cell: SLC) 및 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(Multi Level Cell: MLC)을 포함할 수 있다.
도 3은 제1 메모리 장치(110)에 포함되는 복수의 메모리 블록들(BLK1-BLKn)의 일 예를 나타내는 도면이다. 도 3을 참조하면, 복수의 메모리 블록들(BLK1-BLKn) 각각은 복수의 비트 라인들(BL1-BLM)에 각각 연결되는 복수의 셀 스트링(SS)들을 포함할 수 있다. 각각의 셀 스트링(SS)은 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)에 각각 연결되는 선택 트랜지스터들(SST, GST)과, 서로 다른 워드 라인(WL1-WLN)에 연결되는 복수의 메모리 셀 트랜지스터들(MC1-MCN)을 포함할 수 있다. 동일한 워드 라인(WL1-WLN)에 연결되는 복수의 메모리 셀 트랜지스터들은 하나의 페이지를 구성할 수 있다.
복수의 메모리 블록들(BLK1-BLKn)은, 복수의 메모리 셀 트랜지스터들(MC1-MCN)이 기판에 평행한 방향으로 배치되어 2차원 어레이 구조를 가질 수 있다. 또한, 복수의 메모리 블록들(BLK1-BLKn)은, 복수의 메모리 셀 트랜지스터들(MC1-MCN)이 기판에 수직한 방향으로 적층되어 도 4에 도시한 바와 같이 제1 내지 제3 방향(DIR1-DIR3) 방향으로 각각 연장되는 3차원 어레이 구조를 가질 수도 있다.
제2 메모리 장치(120)는 제1 메모리 장치(110)의 열화 정보를 저장할 수 있다. 일 실시예에서, 제2 메모리 장치(120)는 제1 메모리 장치(110)에서 검출되는 에러 비트들의 개수 정보를 저장할 수 있다. 또한, 제2 메모리 장치(120)는 제1 메모리 장치(110)의 온도 정보, P/E 사이클 정보, 소거 상태와 프로그램 상태 사이의 인터벌 정보 등을 더 저장할 수 있다.
제2 메모리 장치(120)에 저장된 열화 정보는, 제1 메모리 장치(110)에 대한 리드 전압을 조절하는 데 이용할 수 있다. 예컨대, 제1 메모리 장치(110)는, 제2 메모리 장치(120)에 저장된 에러 비트 개수들 중에서 적어도 하나를 이용하여, 리드 동작을 수행할 경우 발생할 수 있는 에러 비트 개수를 예측할 수 있다. 그리고, 제1 메모리 장치(110)는, 예측된 에러 비트 개수로부터 최적의 리드 레벨을 갖는 리드 전압을 산출한 후, 산출된 리드 전압을 이용하여 리드 동작을 수행할 수 있다.
일 실시예에서, 제2 메모리 장치(120)는 DRAM(dynamic RAM), SRAM(static RAM) 등과 같은 휘발성 메모리 장치, 및 Z-NAND 플래시 메모리 등과 같은 차세대 비휘발성 메모리 장치를 포함할 수 있다.
일 실시예에서, 제2 메모리 장치(120)는 제1 메모리 장치(110)보다 프로그램 및 리드 동작 단위가 작은 메모리 장치로서, PRAM(phase change RAM), MRAM(magnetic RAM), RRAM(resistive RAM) 등과 같은 저항성 메모리 장치를 포함할 수 있다. 저항성 메모리 장치는, 페이지 단위로 프로그램 및 리드 동작을 수행하는 NAND 플래시 메모리와 달리, 바이트 단위로 프로그램 및 리드 동작을 수행할 수 있기 때문에, 주기적으로 검출되는 비교적 작은 크기의 열화 정보를 저장하기에 적합할 수 있다. 또한, 저항성 메모리 장치는 액세스 속도가 빠르므로, 리드 동작이 지연되는 것을 방지할 수 있다. 제2 메모리 장치(120)의 일 예는 도 5a 및 도 5b에 도시된 바와 같다.
도 5a를 참조하면, 제2 메모리 장치(500)는, 제1 방향(DIR1)으로 연장되는 워드 라인(510), 제1 방향(DIR1)과 수직한 제2 방향(DIR2)으로 연장되는 비트 라인(530), 및 워드 라인(510)과 비트 라인(530) 사이에 배치되는 메모리 셀(520)을 포함할 수 있다.
메모리 셀(520)은 워드 라인(510)과 연결되는 제1 전극(521), 비트 라인(530)과 연결되는 제2 전극(522), 제1 전극(521)과 제2 전극(522) 사이에 배치되는 제3 전극(523)을 포함할 수 있다. 또한, 메모리 셀(520)은 제1 전극(521)과 제3 전극(523) 사이에 배치되는 저장성 소자층(524), 및 제3 전극(523)과 제2 전극(522) 사이에 배치되는 선택성 소자층(525)을 포함할 수 있다.
저장성 소자층(524)은 데이터를 저장하기 위한 소자로서 이용되며, 가변 저항값을 갖는 물질을 포함할 수 있다. 예컨대, 저장성 소자층(524)은 비정질 상태(armophous state) 및 결정질 상태(crystaline state)에서 서로 다른 저항값을 갖는 Ge-Sb-Te 등의 상변화 물질(phase change material)을 포함할 수 있다.
선택성 소자층(525)은 메모리 셀(520)을 선택하기 위한 소자로서 이용되며, OTS(Ovonic Threshold Switch) 물질을 포함할 수 있다.
도 5b를 참조하면, 제2 메모리 장치(600)는 제1 방향(DIR1)으로 연장되고 제1 방향(DIR1)과 수직한 제3 방향(DIR3)으로 이격되는 제1 워드 라인(610) 및 제2 워드 라인(630), 제1 워드 라인(610)과 제2 워드 라인(630) 사이에 배치되고 제1 방향(DIR1) 및 제3 방향(DIR3)과 수직한 제2 방향(DIR2)으로 연장되는 비트 라인(650)을 포함할 수 있다. 또한, 제2 메모리 장치(600)는 제1 워드 라인(610)과 비트 라인(650) 사이에 배치되는 제1 메모리 셀(620), 및 비트 라인(650)과 제2 워드 라인(630) 사이에 배치되는 제2 메모리 셀(640)을 포함할 수 있다.
제1 메모리 셀(620)과 제2 메모리 셀(640)은 도 5a를 참조하여 전술한 메모리 셀과 동일한 구조를 가질 수 있다. 예컨대, 제1 메모리 셀(620)은 제1 내지 제3 전극들(621-623), 제1 전극(621)과 제3 전극(623) 사이에 배치되는 저장성 소자층(624), 및 제3 전극(623)과 제2 전극(622) 사이에 배치되는 선택성 소자층(625)를 포함할 수 있다.
설명의 편의를 위해 도 1을 다시 참조하면, 컨트롤러(200)는 호스트 인터페이스(210)를 통해 호스트(20)와 연결되어 리드 요청, 프로그램 요청 등을 수신하고 데이터를 교환할 수 있다. 예컨대, 컨트롤러(200)는 호스트 인터페이스(210)를 통해 호스트(20)로부터 리드 요청을 수신하고, 이에 따라 메모리 장치(100)에 대한 리드 동작을 제어할 수 있다. 호스트 인터페이스(210)는 USB(Universal Serial Bus), MMC(Multi-Media Card), PCI-E(Peripheral Component Interconnect-Express), SAS(Serial-attached SCSI), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 이용하여 호스트(20)와 통신하도록 구성될 수 있다.
컨트롤러(200)는 메모리 인터페이스(220)를 통해 메모리 장치(100)와 연결되어 호스트(20)의 각종 요청을 처리하고 데이터를 교환할 수 있다. 예컨대, 컨트롤러(200)는 호스트(20)의 요청에 응답하여, 데이터를 리드하거나 프로그램하도록 메모리 장치(100)를 제어할 수 있다.
컨트롤러(200)는 프로세서(230), 전원관리유닛(240), ECC 유닛(250) 및 메모리(260)를 포함할 수 있다.
프로세서(230)는 메모리 장치(100)의 전반적인 동작을 제어하며, 마이크로프로세서, 중앙처리장치(CPU) 등을 포함할 수 있다. 프로세서(230)는 메모리 장치(100)를 제어하기 위해 플래시 변환 계층(Flash Translation Layer: FTL) 등과 같은 펌웨어를 구동할 수 있다.
프로세서(230)는 메모리 장치(100)의 리텐션 특성 등에 따른 성능 열화 및 리드 페일 발생 등을 방지하기 위하여, 메모리 장치(100)에 포함된 복수의 메모리 블록에 대한 리드 동작을 제어할 수 있다. 이하, 이와 같은 리드 동작을 호스트(200)의 요청에 따른 리드 동작과 구별하기 위해, 패트롤 리드 동작으로 지칭하기로 한다.
프로세서(230)는 호스트(20)의 리드 요청을 수신하지 않고, 자체적으로 리드 커맨드 및 어드레스를 발행하여 패트롤 리드 동작을 수행할 수 있다. 패트롤 리드 동작은 호스트(20)의 리드 요청에 따라 포어 그라운드(foreground)에서 실행되는 리드 동작과 달리, 백그라운드에서 수행될 수 있다. 또한, 패트롤 리드 동작은 프로세서(230)의 제어 하에 주기적으로 수행될 수 있다. 패트롤 리드 동작의 주기는 메모리 장치(130)의 저장 용량, P/E 사이클(Program/Erasure cycle) 등에 기초하여 미리 설정될 수 있다. 일부 예에서, 패트롤 리드 동작의 주기는 12 시간일 수 있다.
패트롤 리드 동작의 수행 결과로서 제1 메모리 장치(110)에서 리드된 데이터에 포함되는 에러 비트들의 개수는, 제1 메모리 장치(110)의 열화 정보로서 제2 메모리 장치(120)에 저장될 수 있다.
전원관리유닛(240)은 컨트롤러(200)의 각 구성요소에 전원을 공급하고 관리할 수 있다.
ECC 유닛(250)은 메모리 장치(100)로부터 리드된 데이터에 포함되는 에러를 검출 및 정정할 수 있다. 예컨대, ECC 유닛(250)은 호스트(20)로부터 수신한 데이터에 대해 ECC 인코딩을 수행할 수 있다. ECC 유닛(250)은 메모리 장치(100)로부터 리드된 데이터에 대해 ECC 디코딩을 수행하고, ECC 디코딩의 수행 결과 검출된 에러 비트들의 개수가 소정의 임계치 미만인 경우 해당 에러 비트들을 정정할 수 있다. ECC 유닛(250)은 LDPC(Low Density Parity Check) 코드, BCH(Bose, Chaundhri, Hocquenghem) 코드, 터보 코드 등을 이용하여 에러 정정을 수행할 수 있다.
메모리(260)는 동작 메모리로서, 펌웨어 코드 등과 같이 컨트롤러(200)의 구동에 필요한 데이터를 저장할 수 있다. 또한, 메모리(260)는 버퍼 메모리로서, 메모리 장치(100)로부터 리드된 데이터 또는 메모리 장치(100)에 프로그램할 데이터를 저장할 수 있다. 일부 예에서, 메모리(260)는 DRAM, SRAM 등과 같은 휘발성 메모리를 포함할 수 있다.
도 6은 도 1의 제1 메모리 장치에 포함된 메모리 셀들의 열화도에 따른 문턱전압 산포 변화를 나타내는 도면이다. 도 6에서 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낼 수 있다.
도 6의 (a)는 메모리 셀들에 대한 프로그램 동작이 완료된 후 소정의 시간 이내의 문턱전압 산포(초기 상태)를 나타낼 수 있고, 도 6의 (b) 내지 (d)는 메모리 셀들에 대한 프로그램 동작이 완료된 후 소정의 시간 이후의 문턱전압 산포를 나타낼 수 있다.
도 6의 (b)는 열화도가 상대적으로 작은 그룹으로 분류된 메모리 셀들의 문턱전압 산포를 나타내고, 도 6의 (c)는 열화도가 상대적으로 중간인 그룹으로 분류된 메모리 셀들의 문턱전압 산포를 나타내며, 도 6의 (d)는 열화도가 상대적으로 큰 그룹으로 분류된 메모리 셀들의 문턱전압 산포를 나타낸다.
우선 도 6의 (b)를 참조하면, 메모리 셀들의 에러 비트 개수가 40 개 이상이고 80 개 미만인 경우, 해당 메모리 셀들을 열화도가 상대적으로 작은 제1 그룹으로 분류할 수 있다. 제1 그룹의 메모리 셀들에서, 문턱전압 산포는 초기 상태(도 6의 (a))에 비해 제1 값(△Vth1) 만큼 변할 수 있다.
도 6의 (c)를 참조하면, 메모리 셀들의 에러 비트 개수가 80 개 이상이고 120 개 미만인 경우, 해당 메모리 셀들을 열화도가 상대적으로 중간인 제2 그룹으로 분류할 수 있다. 제2 그룹의 메모리 셀들에서, 문턱전압 산포는 초기 상태(도 6의 (a))에 비해, 제1 값(△Vth1) 보다 큰 제2 값(△Vth2) 만큼 변할 수 있다.
도 6의 (d)를 참조하면, 메모리 셀들의 에러 비트 개수가 120 개 이상인 경우, 해당 메모리 셀들을 열화도가 상대적으로 큰 제3 그룹으로 분류할 수 있다. 제3 그룹의 메모리 셀들에서, 문턱전압 산포는 초기 상태(도 6의 (a))에 비해, 제2 값(△Vth2) 보다 큰 제3 값(△Vth3) 만큼 변할 수 있다.
메모리 셀들은 리텐션 시간의 증가, 리드 디스터브(read disturb) 발생, P/E 사이클(Program/Erasure cycle) 증가로 인한 내구성(endurance) 저하 등 다양한 요인들로 인해 열화될 수 있다. 메모리 셀들의 열화도는 프로그램 및 리드 동작 단위인 페이지별로 달라질 수 있다. 그런데, 페이지별 열화도를 고려하지 않고 복수의 페이지들을 포함하는 메모리 블록 단위로 리드 전압을 조절할 경우, 상대적으로 열화도가 작은 페이지들이 상대적으로 열화도가 큰 페이지들과 함께 방어코드에 진입할 수 있다. 이 경우, 방어코드 진입 후 복구된 데이터들은 리드 리클레임 동작을 통해 다른 메모리 블록으로 복사될 수 있으므로, 쓰기 증폭 인자(Write Amplification Factor: WAF)가 증가하게 되는 문제가 발생한다.
이러한 문제를 해결하기 위하여, 본 발명의 일 실시예에 따른 스토리지 장치는, 패트롤 리드 동작을 수행하여 페이지별 에러 비트 개수를 검출하고, 검출된 에러 비트 개수를 이용하여 각 페이지의 열화도를 분류할 수 있다. 예컨대, 메모리 장치의 제1 페이지에서 검출된 에러 비트 개수가 50 개인 경우, 스토리지 장치는 제1 페이지를 제1 그룹으로 분류할 수 있다. 메모리 장치의 제2 페이지에서 검출된 에러 비트 개수가 100 개인 경우, 스토리지 장치는 제2 페이지를 제2 그룹으로 분류할 수 있다. 또한, 메모리 장치의 제3 페이지에서 검출된 에러 비트 개수가 120 개 인 경우, 스토리지 장치는 제3 페이지를 제3 그룹으로 분류할 수 있다.
스토리지 장치는, 페이지 별로 설정된 복수의 열화도 그룹들 각각에 대해 서로 다른 리드 전압 값을 매핑시킬 수 있다. 예컨대, 상대적으로 열화도가 작은 제1 그룹에 대해서는 제1 리드 전압 값을 매핑하고, 상대적으로 열화도가 큰 제3 그룹에 대해서는 상기 제1 리드 전압 값 보다 큰 제3 리드 전압 값을 매핑시킬 수 있다. 그리고, 스토리지 장치는, 특정 페이지에 대해 리드 동작을 수행하는 경우, 해당 페이지가 속하는 그룹에 매핑된 리드 전압 값을 이용하여 리드 전압을 가변한 후, 가변된 리드 전압을 이용하여 해당 페이지에 대해 리드 동작을 수행할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 스토리지 장치는, 페이지별 열화도를 고려하여 리드 전압 값을 다르게 조절함으로써, 열화도가 낮은 페이지가 메모리 블록 단위의 일률적인 리드 리트라이 동작을 통해 방어코드에 진입하게 되는 문제를 해결할 수 있다.
도 7은 본 발명의 일 실시예에 따른 스토리지 장치를 나타낸 도면이고, 도 8은 도 7의 열화 정보 저장부의 일 예를 나타낸 도면이다.
도 9a 내지 도 12는 도 7의 리드 레벨 연산부가 열화 정보를 예측하는 방법을 설명하기 위한 도면들이고, 도 13a 내지 도 14b는 도 7의 리드 레벨 연산부가 리드 전압을 산출하는 방법을 설명하기 위한 도면들이다.
우선 도 7을 참조하면, 본 발명의 일 실시예에 따른 스토리지 장치(10A)는 메모리 장치(100A) 및 컨트롤러(200A)를 포함할 수 있다.
메모리 장치(100A)는 호스트가 요청한 데이터를 저장하는 제1 메모리 장치(110A), 및 제1 메모리 장치(110A)의 열화 정보를 저장하는 제2 메모리 장치(120A)를 포함할 수 있다. 제1 메모리 장치(110A)는 1 비트 데이터를 저장하는 싱글 레벨 셀(SLC) 및 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(Multi Level Cell: MLC)을 포함할 수 있다. 일 실시예에서, 제1 메모리 장치(110A)는 하나의 메모리 셀에 4 비트 이상의 데이터를 저장할 수 있는 쿼드 레벨 셀(Quad Level Cell: QLC)을 포함할 수 있다.
일 실시예에서, 제2 메모리 장치(120A)는 제1 메모리 장치(110A)와 프로그램 단위가 다른 메모리 장치로서, PRAM, MRAM, RRAM 등과 같은 저항성 메모리 장치를 포함할 수 있다. 이 경우, 제2 메모리 장치(120A)는 바이트 단위의 액세스가 가능하고 액세스 속도가 빠르기 때문에, 메모리 장치의 열화 정보를 페이지 단위로 저장하고 관리하는 데 적합할 수 있다.
또한, 일 실시예에서, 제2 메모리 장치(120A)는 제1 메모리 장치(110A)에 비해 액세스 속도가 빠른 메모리 장치로서, Z-NAND 플래시 메모리 등과 같은 차세대 메모리 장치를 포함할 수 있다. 이 경우, 제2 메모리 장치(120A)는 액세스 속도가 빠르기 때문에, 리드 전압 제어로 인한 지연을 최소화할 수 있다.
한편, 제2 메모리 장치(120A)는 제1 메모리 장치(110A)의 열화 정보를 저장하기 위한 열화 정보 저장부(HS)를 포함할 수 있다. 일 실시예에서, 제2 메모리 장치(120A)에 저장되는 열화 정보는, 제1 메모리 장치(110A)의 에러 비트 개수, 온도 정보, P/E 사이클 정보, 소거 상태와 프로그램 상태 사이의 인터벌 정보 등을 포함할 수 있다.
열화 정보 저장부(HS)의 구체적인 일 예는 도 8에 도시한 바와 같다. 도 8을 참조하면, 열화 정보 저장부(HS)는 열화도 그룹 정보(e.g., 제1 그룹 내지 제3 그룹) 및 에러 비트 개수의 히스토리 정보를 페이지 별로 저장할 수 있다. 에러 비트 개수는 리드 페일이 발생하기 전까지 소정의 제1 리드 전압을 이용하여 패트롤 리드 동작을 수행함으로써 획득될 수 있다. 일 실시예에서, 제1 리드 전압은 호스트의 요청에 따른 리드 동작을 수행하는 데 이용되는 제2 리드 전압 보다 클 수 있다. 한편, 패트롤 리드 동작에 따라 리드 페일이 발생한 경우, 제1 리드 전압보다 낮은 전압을 이용하여 패트롤 리드 동작을 계속해서 수행할 수 있다.
컨트롤러(200A)는 제1 메모리 장치(110A)의 열화 정보를 이용하여 현재 리드 동작에 적합한 리드 전압을 산출하기 위한 리드 전압 제어부(RC)를 더 포함할 수 있다.
리드 전압 제어부(RC)는 리드 레벨 연산부(201) 및 룩업 테이블(202)을 포함할 수 있다.
리드 레벨 연산부(201)는 리드 동작을 수행하고자 하는 타겟 페이지의 기존 열화 정보를 열화 정보 저장부(HS)로부터 수신하고, 수신된 기존 열화 정보를 이용하여 타겟 페이지의 열화 정보를 예측할 수 있다. 예컨대, 리드 레벨 연산부(201)는, 타겟 페이지가 속하는 열화도 그룹 및 타겟 페이지에서 발생된 기존 에러 비트 개수들을 열화 정보 저장부(HS)로부터 수신할 수 있다. 그리고, 리드 레벨 연산부(201)는 기존 열화 정보를 이용하여, 타겟 페이지에 대해 리드 동작을 수행할 경우 타겟 페이지에서 발생할 수 있는 에러 비트 개수를 예측할 수 있다. 이와 같은 예측 과정에서, 리드 레벨 연산부(201)는 1차 다항식을 이용할 수 있다.
일 실시예에서, 리드 레벨 연산부(201)는 타겟 페이지의 열화 속도에 따라 기존 에러 비트 개수의 참조 수를 달리할 수 있다. 예컨대, 도 9a를 참조하면, 에러 비트 개수의 변화율(S1)이 소정의 임계치(Sth) 미만인 경우, 타겟 페이지의 열화 속도가 느린 것으로 간주할 수 있다. 이 경우, 리드 레벨 연산부(201)는, 연산 속도를 높이기 위해, 가장 최근의 에러 비트 개수(Nm)를 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 반대로 도 9b를 참조하면, 에러 비트 개수의 변화율(S2)이 소정의 임계치(Sth) 이상인 경우, 타겟 페이지의 열화 속도가 빠른 것으로 간주할 수 있다. 이 경우, 리드 레벨 연산부(201)는, 예측 정확도를 높이기 위해, 최근 두 개 이상의 에러 비트 개수들(Nm, Nm-1)을 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다.
타겟 페이지의 열화 속도는 복수의 단계들로 구분될 수 있으며, 각각의 단계 별로 기존 에러 비트 개수의 참조 수가 달라질 수 있다. 예컨대, 도 10을 참조하면, 에러 비트 개수의 변화율(S)이 제1 임계치(Sth1) 이상인 경우, 타겟 페이지의 열화 속도를 제1 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 최근 세 개의 에러 비트 개수들(Nm,Nm-1,Nm-2)를 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 에러 비트 개수의 변화율(S)이 제2 임계치(Sth2) 이상이고 제1 임계치(Sth) 미만인 경우, 타겟 페이지의 열화 속도를 제2 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 최근 두 개의 에러 비트 개수들(Nm, Nm-1)을 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 에러 비트 개수의 변화율(S)이 제2 임계치(Sth2) 미만인 경우, 타겟 페이지의 열화 속도를 제3 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 가장 최근의 에러 비트 개수(Nm)를 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다.
일 실시예에서, 리드 레벨 연산부(201)는 타겟 페이지의 UECC(Uncorrectable ECC) 발생 가능성에 따라 기존 에러 비트 개수의 참조 수를 달리할 수도 있다. 예컨대, 도 11a를 참조하면, 가장 최근의 에러 비트 개수(Nm)가 소정의 임계치(Nth) 이상인 경우, 타겟 페이지의 UECC 발생 가능성이 높은 것으로 간주할 수 있다. 이 경우, 리드 레벨 연산부(201)는, 리드 전압을 보다 정밀하게 조절하기 위해, 최근 두 개 이상의 에러 비트 개수들(Nm, Nm-1)을 이용하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 반대로 도 11b를 참조하면, 가장 최근의 에러 비트 개수(Nm)가 소정의 임계치(Nth) 보다 작은 경우, 타겟 페이지의 UECC 발생 가능성이 낮은 것으로 간주할 수 있다. 이 경우, 리드 레벨 연산부(201)는, 리드 전압을 보다 빠르게 조절하기 위해, 가장 최근의 에러 비트 개수(Nm)를 이용하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다.
타겟 페이지의 UECC 발생 가능성은 복수의 단계들로 구분될 수 있으며, 각각의 단계 별로 기존 에러 비트 개수의 참조 수가 달라질 수 있다. 예컨대, 도 12를 참조하면, 가장 최근의 에러 비트 개수(Nm)가 제1 임계치(Nth1) 이상인 경우, 타겟 페이지의 UECC 발생 가능성을 제1 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 최근 세 개의 에러 비트 개수들(Nm, Nm-1, Nm-2)을 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 가장 최근의 에러 비트 개수(Nm)가 제2 임계치(Nth2) 이상이고 제1 임계치(Nth) 미만인 경우, 타겟 페이지의 UECC 발생 가능성을 제2 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 최근 두 개의 에러 비트 개수들(Nm, Nm-1)을 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다. 또한, 가장 최근의 에러 비트 개수(Nm)가 제2 임계치(Sth2) 미만인 경우, 타겟 페이지의 UECC 발생 가능성을 제3 단계로 분류할 수 있다. 이 경우, 리드 레벨 연산부(201)는 가장 최근의 에러 비트 개수(Nm)를 참조하여, 리드 동작 수행 이후의 에러 비트 개수(Nm+1)를 예측할 수 있다.
리드 레벨 연산부(201)는 룩업 테이블(203)을 이용하여, 에러 비트 개수로부터 타겟 페이지에 대한 리드 전압을 산출할 수 있다. 예컨대, 리드 레벨 연산부(201)는 룩업 테이블(203)에 저장된 에러 비트 정보와 리드 전압 보정값 사이의 매핑 정보를 이용하여 타겟 페이지에 대한 리드 전압을 산출할 수 있다. 룩업 테이블(203)의 일 예는 도 13a 내지 도 13c에 도시한 바와 같다.
도 13a를 참조하면, 일 실시예에 따른 룩업 테이블(203A)은, 타겟 페이지에 대해 리드 동작을 수행할 경우 발생하는 에러 비트 개수(Nm+1)와 리드 전압 보정값(△VREAD) 사이의 매핑 정보를, 열화도 그룹 별로 저장할 수 있다. 이 경우, 리드 레벨 연산부(201)는 룩업 테이블(203A)을 참조하여, 타겟 페이지의 예측된 에러 비트 개수(Nm+1)로부터 리드 전압 보정값(△VREAD)을 획득할 수 있다.
예컨대, 타겟 페이지가 열화도 제1 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 10 개인 경우, 리드 레벨 연산부(201)는 룩업 테이블(203A)을 참조하여, 타겟 페이지에 대한 리드 전압(VREAD)을 -0.125 V 만큼 조절할 수 있다. 또한, 타겟 페이지가 열화도 제2 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 40 개인 경우, 리드 레벨 연산부(201)는 룩업 테이블(203A)을 참조하여, 타겟 페이지에 대한 리드 전압(VREAD)을 -0.25 V 만큼 조절할 수 있다. 열화도 그룹은 도 5를 참조하여 전술한 바와 같이, 에러 비트 개수에 기초하여 미리 설정될 수 있다. 예컨대, 에러 비트 개수가 40 개 이상이고 80 개 미만인 페이지는 열화도가 상대적으로 작은 제1 그룹으로 분류될 수 있다. 에러 비트 개수가 80 개 이상이고 120 개 미만인 페이지는 열화도가 상대적으로 중간인 제2 그룹으로 분류될 수 있다. 또한, 120 개 이상의 에러 비트 개수를 갖는 페이지는 열화도가 상대적으로 큰 제3 그룹으로 분류될 수 있다. 다만, 이는 예시적인 것이므로, 열화도 그룹의 분류 기준은 메모리 장치의 저장 용량이나 시스템 정책 등에 기초하여 다양하게 설정될 수 있다.
일 실시예에서, 룩업 테이블(203A)에서 타겟 페이지에 대한 매핑 정보를 획득할 수 없는 경우, 리드 레벨 연산부(201)는 룩업 테이블(203A)에서 획득할 수 있는 적어도 하나의 열화 정보 및 이에 매핑된 리드 전압 보정값(△VREAD)을 이용하여 리드 전압(VREAD)을 산출할 수 있다. 예컨대, 리드 레벨 연산부(201)는 타겟 페이지에 대해 예측된 에러 비트 개수(Nm+1)를 룩업 테이블(203A)에서 발견하지 못한 경우, 룩업 테이블(203A)의 매핑 정보 중에서 예측된 에러 비트 개수(Nm+1)와 가장 가까운 두 개의 매핑 정보를 이용하여 리드 전압(VREAD)을 산출할 수 있다.
도 13a의 예에서, 타겟 페이지가 제1 열화도 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 170 개인 경우, 리드 레벨 연산부(201)는 에러 비트 개수(Nm+1)가 80 개인 경우의 리드 전압 보정값(△VREAD), 및 에러 비트 개수(Nm+1)가 120 개인 경우의 리드 전압 보정값(△VREAD)을 이용하여 1차 다항식 연산을 수행함으로써, 에러 비트 개수(Nm+1)가 170 개인 경우의 리드 전압 보정값(△VREAD)을 산출할 수 있다. 이는 도 14a에 도시한 바와 같다.
도 13a의 예에서, 타겟 페이지가 제1 열화도 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 100 개인 경우, 리드 레벨 연산부(201)는 에러 비트 개수(Nm+1)가 80 개인 경우의 리드 전압 보정값(△VREAD), 및 에러 비트 개수(Nm+1)가 120 개인 경우의 리드 전압 보정값(△VREAD)을 이용하여 1차 다항식 연산을 수행함으로써, 에러 비트 개수(Nm+1)가 100 개인 경우의 리드 전압 보정값(△VREAD)을 산출할 수 있다. 이는 도 14b에 도시한 바와 같다.
다음으로 도 13b를 참조하면, 일 실시예에 따른 룩업 테이블(203B)은, 타겟 페이지에 대해 리드 동작을 수행할 경우 발생하는 에러 비트 개수의 증가량(△N=Nm+1-Nm)과 리드 전압 보정값(△VREAD) 사이의 매핑 정보를, 열화도 그룹 별로 저장할 수 있다. 이 경우, 리드 레벨 연산부(201)는 룩업 테이블(203B)을 참조하여, 타겟 페이지의 에러 비트 개수의 증가량(△N)으로부터 리드 전압 보정값(△VREAD)을 획득할 수 있다. 예컨대, 타겟 페이지가 열화도 제1 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수의 증가량(△N)이 30 개인 경우, 리드 레벨 연산부(201)는 룩업 테이블(203B)을 참조하여, 타겟 페이지에 대한 리드 전압(VREAD)을 -0.05 V 만큼 조절할 수 있다. 또한, 타겟 페이지가 열화도 제2 그룹에 속하고 타겟 페이지에 대해 예측된 에러 비트 개수의 증가량(△N)이 20 개인 경우, 리드 레벨 연산부(201)는 룩업 테이블(203B)을 참조하여, 타겟 페이지에 대한 리드 전압(VREAD)을 -0.03 V 만큼 조절할 수 있다.
룩업 테이블(203B)에서 타겟 페이지에 대한 매핑 정보를 획득할 수 없는 경우, 도 13a, 도 14a 및 도 14b를 참조하여 전술한 바와 같이, 리드 레벨 연산부(201)는 룩업 테이블(203B)에서 획득할 수 있는 적어도 하나의 열화 정보 및 이에 매핑된 리드 전압 보정값(△VREAD)을 이용하여 리드 전압(VREAD)을 산출할 수 있다. 예컨대, 리드 레벨 연산부(201)는, 룩업 테이블(203B)의 매핑 정보 중에서 예측된 에러 비트 개수(Nm+1)의 증가량(△N)과 가장 가까운 두 개의 매핑 정보를 이용하여 1차 다항식 연산을 수행함으로써, 리드 전압(VREAD)을 산출할 수 있다.
도 13c를 참조하면, 일 실시예에 따른 룩업 테이블(203C)은, 타겟 페이지에 대해 리드 동작을 수행할 경우 발생하는 에러 비트 개수(Nm+1)에 관한 그룹 정보와 리드 전압 보정값(△VREAD) 사이의 매핑 정보를, 열화도 그룹 별로 저장할 수 있다. 도 13c의 룩업 테이블(203C)은, 도 13a의 룩업 테이블(203A)과 달리, 에러 비트 개수(Nm+1)를 소정의 범위로 그룹핑하고, 이에 따른 복수의 그룹들 각각에 리드 전압 보정값(△VREAD)을 매핑시킨 매핑 정보 저장할 수 있다. 이 경우, 리드 레벨 연산부(201)는 룩업 테이블(203C)을 참조하여, 타겟 페이지의 예측된 에러 비트 개수(Nm+1)로부터 리드 전압 보정값(△VREAD)을 획득할 수 있다. 예컨대, 타겟 페이지가 열화도 제1 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 40 개인 경우 타겟 페이지의 에러 비트 개수(Nm+1)가 A1 그룹에 속하므로, 리드 레벨 연산부(201)는 타겟 페이지에 대한 리드 전압(VREAD)을 -0.4 V 만큼 조절할 수 있다. 또한, 타겟 페이지가 열화도 제2 그룹에 속하고 타겟 페이지에서 예측된 에러 비트 개수(Nm+1)가 60 개인 경우 타겟 페이지의 에러 비트 개수(Nm+1)가 B2 그룹에 속하므로, 리드 레벨 연산부(201)는 타겟 페이지에 대한 리드 전압(VREAD)을 -0.5 V 만큼 조절할 수 있다.
본 발명의 일 실시예에 따른 스토리지 장치(10A)는, 제1 메모리 장치(110A)에 포함되는 메모리 셀들의 열화 정보를 바이트 단위의 접근이 가능하고 액세스 속도가 빠른 제2 메모리 장치(120A)에 저장하고, 해당 열화 정보를 이용하여 제1 메모리 장치(110A)에 대한 리드 전압을 산출함으로써, 빈번한 리드 리클레임 동작에 따른 쓰기 증폭 인자(WAF)의 증가를 방지할 수 있다. 또한, 스토리지 장치(10A)는, 제2 메모리 장치(120A)에 저장된 페이지별 열화 정보를 이용하여 최적의 리드 전압을 산출함으로써, 리드 페일을 방지할 수 있다. 이하, 도 15a 및 도 15b를 참조하여, 본 발명의 일 실시예에 따른 스토리지 장치(10A)의 동작 방법을 설명하기로 한다.
도 15a 및 도 15b는 도 7의 스토리지 장치의 동작 방법을 설명하기 위한 도면들이다.
우선, 도 15a를 참조하면, 컨트롤러(200A)는 제1 메모리 장치(110A)로 제1 리드 동작 커맨드 및 어드레스 신호를 전송할 수 있다(S111). 일 실시예에서, 제1 리드 동작은 제1 메모리 장치(110A)의 에러 비트 정보를 획득하기 위해 백그라운드로 실행되는 패트롤 리드 동작일 수 있다.
제1 메모리 장치(110A)는 제1 리드 동작 명령에 응답하여 제1 리드 동작을 수행한 후 리드 데이터를 컨트롤러(200A)로 전송할 수 있다(S112).
컨트롤러(200A)는 수신한 리드 데이터에 대해 ECC 디코딩을 수행하여 해당 리드 데이터에 포함되는 에러 비트들의 개수를 검출할 수 있다(S113). 이후, 컨트롤러(200A)는 ECC 디코딩 결과로서 리드 데이터에서 검출된 에러 비트들의 개수를 제2 메모리 장치(120A)로 전송할 수 있다(S114). 제2 메모리 장치(120A)는 수신된 에러 비트 개수에 기초하여 해당 페이지의 열화도 그룹을 설정하고, 에러 비트 개수를 해당 열화도 그룹 정보와 함께, 제1 메모리 장치(110A)의 열화 정보로서 저장할 수 있다(S115). 일 실시예에서, 제2 메모리 장치(120A)에 저장되는 열화 정보에는 제1 메모리 장치(110A)의 에러 비트 개수 이외에도, 온도 정보, P/E 사이클 정보, 소거 상태와 프로그램 상태 사이의 인터벌 정보 등을 더 포함할 수 있다.
다음으로, 도 15b를 참조하면, 컨트롤러(200A)는 호스트로부터 제2 리드 동작 요청을 수신할 수 있다(S121). 제2 리드 동작은 제1 메모리 장치(110A)에 저장된 데이터에 대한 리드 동작일 수 있다.
컨트롤러(200A)는 제2 리드 동작을 위한 리드 전압을 설정하기 위하여, 열화 정보에 대한 리드 동작 명령을 제2 메모리 장치(120A)로 전송할 수 있다(S122). 이에 응답하여, 제2 메모리 장치(120A)는 제2 리드 동작을 수행하려는 타겟 페이지의 기존 에러 비트 개수 및 열화도 그룹에 관한 정보를 컨트롤러(200A)로 전송할 수 있다(S123).
컨트롤러(200A)는 수신된 열화 정보를 이용하여 타겟 페이지에 대한 제2 리드 동작을 수행하는 데 적합한 제2 리드 전압을 산출할 수 있다(S124). 예를 들어, 컨트롤러(200A)는 수신된 열화 정보를 이용하여 타겟 페이지에 대해 제2 리드 동작을 수행할 경우 발생할 수 있는 에러 비트 개수를 예측할 수 있다. 컨트롤러(200A)는 예측된 에러 비트 개수를 이용하여 제2 리드 전압을 산출할 수 있다.
컨트롤러(200A)는 산출된 제2 리드 전압을 이용한 제2 리드 동작 커맨드 및 어드레스 신호를 제1 메모리 장치(110A)에 전송할 수 있다(S125). 그리고, 이에 응답하여, 제1 메모리 장치(110A)는 제2 리드 동작을 수행하여 리드된 데이터를 컨트롤러(200A)로 전송할 수 있다(S126).
한편, 컨트롤러(200A)가 예측한 에러 비트의 개수가 소정의 임계치를 초과하는 경우, 컨트롤러(200A)는 리드 리클레임 동작을 수행하여 방어코드에 진입할 수 있다. 일 실시예에서, 상기 임계치는 제1 메모리 장치(110A)가 멀티 레벨 셀(MLC)인 경우 100 보다 크고 160 보다 작은 값으로 미리 설정될 수 있다.
도 16은 본 발명의 일 실시예에 따른 스토리지 장치를 나타낸 도면이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 스토리지 장치(10B)는 메모리 장치(100B) 및 컨트롤러(200B)를 포함할 수 있다.
메모리 장치(100B)는 호스트가 요청한 데이터를 저장하는 제1 메모리 장치(110B), 및 상기 제1 메모리 장치(110B)의 열화 정보를 저장하는 제2 메모리 장치(120B)를 포함할 수 있다. 제1 메모리 장치(110B)는 1 비트 데이터를 저장하는 싱글 레벨 셀(SLC) 및 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(Multi Level Cell: MLC)을 포함할 수 있다. 일 실시예에서, 제1 메모리 장치(110B)는 하나의 메모리 셀에 4 비트 이상의 데이터를 저장할 수 있는 쿼드 레벨 셀(Quad Level Cell: QLC)을 포함할 수 있다.
일 실시예에서, 제2 메모리 장치(120B)는 제1 메모리 장치(110B)와 프로그램 및 리드 동작 단위가 다른 메모리 장치로서, PRAM, RRAM, MRAM 등과 같은 저항성 메모리 장치를 포함할 수 있다. 또한, 일 실시예에서, 제2 메모리 장치(120B)는 제1 메모리 장치(110B)에 비해 액세스 속도가 빠른 메모리 장치로서, Z-NAND 플래시 메모리 등과 같은 차세대 메모리 장치를 포함할 수 있다.
제2 메모리 장치(120B)는 제1 메모리 장치(110B)의 열화 정보를 저장하기 위한 열화 정보 저장부(HS)를 포함할 수 있다. 일 실시예에서, 제2 메모리 장치(120B)에 저장되는 열화 정보에는, 제1 메모리 장치(110B)의 에러 비트 개수, 온도 정보, P/E 사이클 정보, 소거 상태와 프로그램 상태 사이의 인터벌 정보 등을 포함할 수 있다. 열화 정보 저장부(HS)의 구체적인 일 예는 도 8을 참조하여 전술한 바와 같다.
제2 메모리 장치(120B)는 제1 메모리 장치(110B)의 열화 정보를 이용하여 타겟 페이지에 대한 리드 전압을 조절하기 위한 리드 전압 제어부(RC)를 더 포함할 수 있다.
리드 전압 제어부(RC)는 리드 레벨 연산부(121) 및 룩업 테이블(123)을 포함할 수 있다.
리드 레벨 연산부(121)는 열화 정보 저장부(HS)로부터 기존 열화 정보를 수신하고, 이를 이용하여 리드 동작을 수행할 경우 발생할 수 있는 새로운 열화 정보를 예측할 수 있다. 일 실시예에서, 리드 레벨 연산부(121)는 리드 동작을 수행하고자 하는 타겟 페이지의 열화 속도에 따라, 에러 비트 개수의 예측에 이용되는 기존 에러 비트 개수의 참조 수를 달리 할 수 있다. 예컨대, 도 9a를 참조하여 전술한 바와 같이 현재 페이지의 열화 속도가 느린 경우, 가장 최근의 에러 비트 개수를 이용하여 에러 비트 개수를 예측할 수 있다. 반대로, 도 9b를 참조하여 전술한 바와 같이 현재 페이지의 열화 속도가 빠른 경우, 리드 레벨 연산부(121)는 최근 2 개의 에러 비트 개수들을 이용하여 에러 비트 개수를 예측할 수 있다.
리드 레벨 연산부(121)는 예측된 에러 비트 개수를 이용하여 룩업 테이블(122)을 참조함으로써, 리드 동작에 적합한 리드 전압을 산출할 수 있다. 룩업 테이블(122)의 구체적인 일 예는 도 13a 내지 도 13c를 참조하여 전술한 바와 같다.
도 17은 도 16의 스토리지 장치의 동작 방법을 설명하기 위한 도면이다.
도 17을 참조하면, 컨트롤러(200B)는 호스트로부터 제2 리드 동작 요청을 수신할 수 있다(S221). 제2 리드 동작은 제1 메모리 장치(110B)에 저장된 데이터에 대한 리드 동작일 수 있다.
컨트롤러(200B)는 호스트가 요청한 제2 리드 동작을 수행하기 위하여 제2 메모리 장치(120B)에 제2 리드 전압을 산출할 것을 요청할 수 있다(S222). 이에 응답하여, 제2 메모리 장치(120B)는 제2 리드 동작을 수행하려는 현재 페이지에 대한 기존 에러 비트 개수 및 열화도 그룹에 관한 정보를 이용하여 제2 리드 전압을 산출할 수 있다(S223). 예컨대, 제2 메모리 장치(120B)는 수신한 열화 정보를 이용하여 타겟 페이지에 대해 제2 리드 동작을 수행할 경우 발생할 수 있는 에러 비트 개수를 예측할 수 있다. 제2 메모리 장치(120B)는 예측된 에러 비트 개수를 이용하여 룩업 테이블을 참조함으로써 제2 리드 전압을 산출할 수 있다.
제2 메모리 장치(120B)는 산출된 제2 리드 전압을 컨트롤러(200B)에 전송할 수 있다(S224). 이 후, 컨트롤러(200B)가 수신된 제2 리드 전압에 따라 제2 리드 동작 커맨드 및 어드레스 신호를 제1 메모리 장치(110B)로 전송하면(S225), 제1 메모리 장치(110B)는 이에 응답하여 제2 리드 동작에 의한 리드 데이터를 컨트롤러(200B)로 전송할 수 있다(S226).
한편, 제2 메모리 장치(120B)가 예측한 에러 비트의 개수가 소정의 임계치를 초과하는 경우, 컨트롤러(200B)는 리드 리트라이 동작을 통해 방어코드에 진입할 수 있다. 일 실시예에서, 상기 임계치는 제1 메모리 장치(110B)가 멀티 레벨 셀(MLC)인 경우 100 보다 크고 160 보다 작은 값으로 미리 설정될 수 있다
도 18은 본 발명의 일 실시예에 따른 스토리지 장치를 나타낸 도면이다.
도 18을 참조하면, 본 발명의 일 실시예에 따른 스토리지 장치(10C)는 메모리 장치(100C) 및 컨트롤러(200C)를 포함할 수 있다.
메모리 장치(100C)는 호스트가 요청한 데이터를 저장하는 제1 메모리 장치(110C), 및 제1 메모리 장치(110C)의 열화 정보를 저장하는 제2 메모리 장치(120C)를 포함할 수 있다. 제1 메모리 장치(110C)는 1 비트 데이터를 저장하는 싱글 레벨 셀(SLC) 및 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(Multi Level Cell: MLC)을 포함할 수 있다. 일 실시예에서, 제1 메모리 장치(110C)는 하나의 메모리 셀에 4 비트 이상의 데이터를 저장할 수 있는 쿼드 레벨 셀(Quad Level Cell: QLC)을 포함할 수 있다.
일 실시예에서, 제2 메모리 장치(120C)는 제1 메모리 장치(110C)와 프로그램 및 리드 동작의 단위가 다른 메모리 장치로서, PRAM, RRAM, MRAM 등과 같은 저항성 메모리 장치를 포함할 수 있다. 또한, 일 실시예에서, 제2 메모리 장치(120C)는 제1 메모리 장치(110C) 보다 액세스 속도가 빠른 메모리 장치로서, Z-NAND 플래시 메모리 등과 같은 차세대 메모리 장치를 포함할 수 있다.
제2 메모리 장치(120C)는 제1 메모리 장치(110C)의 열화 정보를 저장하기 위한 열화 정보 저장부(HB)를 포함할 수 있다. 일 실시예에서, 제2 메모리 장치(120C)에 저장되는 열화 정보에는, 패트롤 리드 동작에 따른 획득되는 제1 메모리 장치(110C)의 에러 비트 개수, 온도 정보, P/E 사이클 정보, 소거 상태와 프로그램 상태 사이의 인터벌 정보 등을 포함할 수 있다.
제1 메모리 장치(110C)는 열화 정보를 이용하여 타겟 페이지에 대한 리드 동작에 적합한 리드 전압을 조절하기 위한 리드 전압 제어부(RC)를 포함할 수 있다.
리드 전압 제어부(RC)는 리드 레벨 연산부(111) 및 룩업 테이블(113)을 포함할 수 있다.
리드 레벨 연산부(111)는 열화 정보 저장부(HS)로부터 기존 열화 정보를 수신하고, 이를 이용하여 리드 동작을 수행할 경우 발생할 수 있는 새로운 열화 정보를 예측할 수 있다. 일 실시예에서, 리드 레벨 연산부(111)는 리드 동작을 수행하고자 하는 타겟 페이지의 열화 속도에 따라, 에러 비트 개수의 예측에 이용되는 기존 에러 비트 개수의 참조 수를 다르게 할 수 있다.
리드 레벨 연산부(111)는 예측된 에러 비트 개수를 이용하여 룩업 테이블(112)을 참조함으로써, 리드 동작에 적합한 리드 전압을 산출할 수 있다.
도 19은 도 18의 스토리지 장치의 동작 방법을 설명하기 위한 도면이다.
도 19를 참조하면, 컨트롤러(200C)는 호스트로부터 제2 리드 동작 요청을 수신할 수 있다(S321). 제2 리드 동작은 제1 메모리 장치(110C)에 저장된 데이터에 대한 리드 동작일 수 있다.
컨트롤러(200C)는 호스트가 요청한 제2 리드 동작을 수행하기 위하여, 열화 정보에 대한 리드 동작 명령을 제2 메모리 장치(120C)로 전송할 수 있다.(S322). 이에 응답하여, 제2 메모리 장치(120C)는 제2 리드 동작을 수행하려는 타겟 페이지에 대한 기존 에러 비트 개수 및 열화도 그룹에 관한 정보를 컨트롤러(200C)로 전송할 수 있다(S323).
컨트롤러(200C)는 제2 메모리 장치(120C)로부터 수신된 열화 정보를 타겟 페이지에 대한 제2 리드 동작 커맨드 및 어드레스 신호와 함께 제1 메모리 장치(110C)로 전송할 수 있다(S324). 이에 응답하여, 제1 메모리 장치(110C)는 수신된 열화 정보를 이용하여 타겟 페이지에 대한 제2 리드 전압을 산출할 수 있다(S325). 그리고, 제1 메모리 장치(110C)는 산출된 제2 리드 전압을 이용하여 현재 페이지에 대한 제2 리드 동작을 수행하고, 그 결과로서 리드 데이터를 컨트롤러(200C)로 전송할 수 있다(S326).
한편, 제1 메모리 장치(110C)가 예측한 에러 비트의 개수가 소정의 임계치를 초과하는 경우, 컨트롤러(200C)는 리드 리트라이 동작을 통해 방어코드에 진입할 수 있다. 일 실시예에서, 상기 임계치는 제1 메모리 장치(110C)가 멀티 레벨 셀(MLC)인 경우 100 보다 크고 160 보다 작은 값으로 미리 설정될 수 있다
도 20은 본 발명의 일 실시예에 따른 스토리지 장치를 포함하는 전자 기기를 간단하게 나타낸 블록도이다.
도 20에 도시한 실시예에 따른 전자 기기(700)는 디스플레이(710), 통신부(720), 스토리지 장치(730), 프로세서(740), 및 입출력부(750) 등을 포함할 수 있다. 디스플레이(710), 통신부(720), 스토리지 장치(730), 프로세서(740), 및 입출력부(750) 등의 구성 요소들은 버스(760)를 통해 서로 통신할 수 있다. 상기 도시한 구성 요소들 외에, 전자 기기(700)는 전원 장치, 포트 등을 더 포함할 수 있다.
프로세서(740)는 특정 연산이나 명령어 및 태스크 등을 수행할 수 있다. 프로세서(740)는 중앙 처리 장치(CPU), 마이크로프로세서 유닛(MCU), 또는 애플리케이션 프로세서(AP) 등일 수 있으며, 버스(760)를 통해 디스플레이(710), 스토리지 장치(730), 입출력부(750) 등의 다른 구성 요소들과 통신할 수 있다.
도 20에 도시한 전자 기기(700)가 포함하는 스토리지 장치(730)는, 본 발명의 다양한 실시예들에 따른 스토리지 장치를 포함할 수 있다. 일 예로, 스토리지 장치(730)는 도 1 내지 도 19을 참조하여 설명한 다양한 실시예들에 따라 동작할 수 있다. 예컨대, 스토리지 장치(730)는 서로 다른 종류의 제1 메모리 장치 및 제2 메모리 장치를 포함하는 하이브리드 구조를 가질 수 있다. 스토리지 장치(730)는 바이트 단위의 액세스가 가능하고 액세스 속도가 빠른 제2 메모리 장치에 제1 메모리 장치의 각종 열화 정보를 저장 및 관리할 수 있다. 스토리지 장치(730)는 제1 메모리 장치에 대한 리드 요청이 있는 경우, 제2 메모리 장치에 저장된 열화 정보를 참조하여 최적의 리드 전압을 산출한 후, 이를 이용하여 제1 메모리 장치에 대한 리드 동작을 수행할 수 있다.
본 발명은 상술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.

Claims (10)

  1. 복수의 메모리 블록들 및 상기 복수의 메모리 블록들 각각에 포함되는 복수의 페이지들을 포함하는 제1 메모리 장치;
    상기 제1 메모리 장치의 제1 열화 정보를 저장하는 제2 메모리 장치; 및
    소정의 주기 마다 제1 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제1 리드 동작을 수행함으로써 상기 제1 열화 정보를 획득하고, 상기 제1 열화 정보에 기초하여 산출되는 제2 리드 전압을 이용하여 상기 제1 메모리 장치에 대한 제2 리드 동작을 수행하는 컨트롤러;를 포함하고,
    상기 제2 리드 전압은, 상기 제1 열화 정보를 이용하여 예측되는 상기 제1 메모리 장치의 제2 열화 정보를 이용하여 산출되고,
    상기 제1 열화 정보 및 상기 제2 열화 정보 각각은, 상기 복수의 페이지들 각각의 에러 비트 개수를 포함하는,
    스토리지 장치.
  2. 제1항에 있어서,
    상기 컨트롤러는,
    상기 제1 열화 정보에 포함되는 에러 비트 개수의 증가율에 기초하여, 상기 제2 열화 정보를 산출하는 데 이용되는 에러 비트 개수의 양을 달리하는,
    스토리지 장치.
  3. 제1항에 있어서,
    상기 컨트롤러는,
    상기 복수의 페이지들 중에서 상기 제2 리드 동작을 수행하고자 하는 타겟 페이지에 존재하는 UECC(Uncorrectable ECC) 발생 가능성에 기초하여, 상기 제2 열화 정보를 산출하는 데 이용되는 에러 비트 개수의 양을 달리하는,
    스토리지 장치.
  4. 제1항에 있어서,
    상기 제2 메모리 장치는,
    상기 제1 메모리 장치의 데이터 처리 단위보다 작은 단위로 데이터를 처리하는 저항형 메모리 장치를 포함하는,
    스토리지 장치.
  5. 제1항에 있어서,
    상기 컨트롤러는,
    상기 제2 열화 정보와 리드 전압 보정값 사이의 매핑 정보가 저장된 룩업 테이블을 이용하여 상기 제2 리드 전압을 산출하는,
    스토리지 장치.
  6. 제1항에 있어서,
    상기 제2 메모리 장치는,
    제1 방향으로 연장되고, 상기 제1 방향과 수직한 제3 방향으로 서로 이격되는 제1 워드 라인 및 제2 워드 라인;
    상기 제1 워드 라인과 상기 제2 워드 라인 사이에 배치되고, 상기 제1 및 제3 방향들과 수직한 제2 방향으로 연장되는 비트 라인;
    상기 제1 워드 라인 및 상기 비트 라인 사이에 배치되는 제1 메모리 셀; 및
    상기 비트 라인 및 상기 제2 워드 라인 사이에 배치되는 제2 메모리 셀;을 포함하고,
    상기 제1 및 제2 메모리 셀들 각각은,
    제1 내지 제3 전극들;
    상기 제1 전극과 상기 제2 전극 사이에 배치되고, 저항값에 따라 서로 다른 데이터를 저장하는 저장성 소자층;
    상기 제2 전극과 상기 제3 전극 사이에 배치되고, OTS(Ovonic Threshold Switch) 물질을 포함하는 선택성 소자층;을 포함하는,
    스토리지 장치.
  7. 호스트가 요청한 데이터를 저장하는 제1 메모리 장치;
    상기 제1 메모리 장치의 제1 열화 정보를 페이지 단위로 저장하는 제2 메모리 장치; 및
    소정의 주기 마다 제1 리드 전압을 이용하여 상기 제1 메모리 장치에 대해 제1 리드 동작을 수행하고, 상기 제1 리드 동작에 따라 리드된 데이터에 포함된 에러 비트 개수를 상기 제1 열화 정보로서 획득하는 컨트롤러;를 포함하고,
    상기 호스트의 요청에 따른 상기 제1 메모리 장치에 대한 제2 리드 동작은, 상기 제1 열화 정보에 기초하여 산출되는 제2 리드 전압을 이용하여 수행되고,
    상기 제2 리드 전압은 상기 제1 리드 전압보다 작은,
    스토리지 장치.
  8. 제7항에 있어서,
    상기 제2 메모리 장치는,
    상기 제2 리드 동작을 수행하는 경우에 있어 상기 제1 메모리 장치의 제2 열화 정보를 상기 제1 열화 정보를 이용하여 예측하고, 상기 제2 열화 정보를 이용하여 상기 제2 리드 전압을 산출하는,
    스토리지 장치.
  9. 제7항에 있어서,
    상기 제1 메모리 장치는,
    상기 제2 리드 동작을 수행하는 경우에 있어 상기 제1 메모리 장치의 제2 열화 정보를 상기 제1 열화 정보를 이용하여 예측하고, 상기 제2 열화 정보를 이용하여 상기 제2 리드 전압을 산출하는,
    스토리지 장치.
  10. 제7항에 있어서,
    상기 제2 메모리 장치는,
    상변화에 따라 저항값이 변하는 메모리 소자를 포함하는,
    스토리지 장치.
KR1020190095757A 2019-08-06 2019-08-06 스토리지 장치 및 이를 포함하는 스토리지 시스템 KR20210018615A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190095757A KR20210018615A (ko) 2019-08-06 2019-08-06 스토리지 장치 및 이를 포함하는 스토리지 시스템
US16/810,559 US11380405B2 (en) 2019-08-06 2020-03-05 Storage device calculating optimal read voltage using degradation information
CN202010729765.4A CN112349324A (zh) 2019-08-06 2020-07-27 使用退化信息计算最优读取电压的存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190095757A KR20210018615A (ko) 2019-08-06 2019-08-06 스토리지 장치 및 이를 포함하는 스토리지 시스템

Publications (1)

Publication Number Publication Date
KR20210018615A true KR20210018615A (ko) 2021-02-18

Family

ID=74358235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190095757A KR20210018615A (ko) 2019-08-06 2019-08-06 스토리지 장치 및 이를 포함하는 스토리지 시스템

Country Status (3)

Country Link
US (1) US11380405B2 (ko)
KR (1) KR20210018615A (ko)
CN (1) CN112349324A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11960359B2 (en) 2021-11-17 2024-04-16 SK Hynix Inc. Memory system, memory controller and operating method of memory system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023023483A (ja) * 2021-08-05 2023-02-16 キオクシア株式会社 メモリシステム
TWI808596B (zh) * 2022-01-04 2023-07-11 群聯電子股份有限公司 讀取電壓準位校正方法、記憶體儲存裝置及記憶體控制電路單元
CN114708898A (zh) 2022-04-07 2022-07-05 合肥兆芯电子有限公司 表格管理方法、存储器存储装置及存储器控制电路单元
EP4310847A3 (en) * 2022-07-20 2024-03-27 Samsung Electronics Co., Ltd. Storage controller

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101856136B1 (ko) * 2011-11-15 2018-06-21 삼성전자주식회사 비휘발성 메모리 장치의 동작 제어방법, 그 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US8902667B2 (en) * 2012-07-25 2014-12-02 Freescale Semiconductor, Inc. Methods and systems for adjusting NVM cell bias conditions for program/erase operations to reduce performance degradation
US9142315B2 (en) * 2012-07-25 2015-09-22 Freescale Semiconductor, Inc. Methods and systems for adjusting NVM cell bias conditions for read/verify operations to compensate for performance degradation
KR101934892B1 (ko) 2012-10-17 2019-01-04 삼성전자 주식회사 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US20150074492A1 (en) 2013-09-11 2015-03-12 Kabushiki Kaisha Toshiba Memory system and memory controller
KR102233074B1 (ko) * 2014-10-08 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 신뢰성 검증 방법
US9552171B2 (en) * 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
KR102277521B1 (ko) * 2015-01-23 2021-07-16 삼성전자주식회사 저장 장치 및 그것의 리드 리클레임 및 읽기 방법
US9928138B2 (en) 2015-02-17 2018-03-27 Toshiba Memory Corporation Memory system
US9947721B2 (en) * 2016-04-01 2018-04-17 Micron Technology, Inc. Thermal insulation for three-dimensional memory arrays
US10373656B2 (en) * 2016-09-26 2019-08-06 Toshiba Memory Corporation Memory system that carries out temperature-based access to a memory chip
KR102643916B1 (ko) 2016-10-18 2024-03-08 삼성전자주식회사 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법
KR20180053027A (ko) * 2016-11-11 2018-05-21 삼성전자주식회사 스토리지 장치 및 그 동작 방법
KR102659651B1 (ko) * 2017-01-09 2024-04-22 삼성전자주식회사 비휘발성 메모리 장치의 고전압 스위치 회로 및 비휘발성 메모리 장치
US10971241B2 (en) 2017-01-30 2021-04-06 Toshiba Memory Corporation Performance based method and system for patrolling read disturb errors in a memory unit
JP2018160065A (ja) 2017-03-22 2018-10-11 東芝メモリ株式会社 メモリシステム
KR102347184B1 (ko) * 2017-05-23 2022-01-04 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP2019053415A (ja) 2017-09-13 2019-04-04 東芝メモリ株式会社 メモリシステム、その制御方法及びプログラム
KR102070307B1 (ko) * 2018-05-28 2020-01-23 에센코어 리미티드 저장 장치의 구동 방법
US11763906B2 (en) * 2018-12-20 2023-09-19 Micron Technology, Inc. Degradation signaling for a memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11960359B2 (en) 2021-11-17 2024-04-16 SK Hynix Inc. Memory system, memory controller and operating method of memory system

Also Published As

Publication number Publication date
US11380405B2 (en) 2022-07-05
CN112349324A (zh) 2021-02-09
US20210043261A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US11061787B2 (en) Custom error recovery in selected regions of a data storage device
KR20210018615A (ko) 스토리지 장치 및 이를 포함하는 스토리지 시스템
US11842772B2 (en) Voltage bin boundary calibration at memory device power up
US11847317B2 (en) Managing bin placement for block families of a memory device based on trigger metric valves
US11727994B2 (en) Performing threshold voltage offset bin selection by package for memory devices
US11615854B2 (en) Identify the programming mode of memory cells during reading of the memory cells
US20230268005A1 (en) Adaptively Programming Memory Cells in Different Modes to Optimize Performance
WO2023028347A1 (en) Monitoring memory device health according to data storage metrics
US11693767B2 (en) Performing a media management operation based on changing a write mode of a data block in a cache
US11514983B2 (en) Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells
US20190332322A1 (en) Memory system including resistive variable memory device and operating method thereof
US11994942B2 (en) Raw bit error rate based trim level adjustments for memory
US11705208B2 (en) Read level calibration in memory devices using embedded servo cells
KR20220035577A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US11977774B2 (en) Charge loss mitigation throughout memory device lifecycle by proactive window shift
US12002516B2 (en) Memory block characteristic determination
US11941290B2 (en) Managing distribution of page addresses and partition numbers in a memory sub-system
US11983067B2 (en) Adjustment of code rate as function of memory endurance state metric
US11967384B2 (en) Algorithm qualifier commands
US11922041B2 (en) Threshold voltage bin calibration at memory device power up
US20240087655A1 (en) Read level compensation for partially programmed blocks of memory devices
US11687248B2 (en) Life time extension of memory device based on rating of individual memory units
US11756612B2 (en) All levels dynamic start voltage programming of a memory device in a memory sub-system
US20240096433A1 (en) Weighted wear leveling for improving uniformity
US20230019189A1 (en) Automatic wordline status bypass management

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal