KR20200142761A - 비휘발성 메모리 장치 및 그 프로그램 방법 - Google Patents

비휘발성 메모리 장치 및 그 프로그램 방법 Download PDF

Info

Publication number
KR20200142761A
KR20200142761A KR1020190070018A KR20190070018A KR20200142761A KR 20200142761 A KR20200142761 A KR 20200142761A KR 1020190070018 A KR1020190070018 A KR 1020190070018A KR 20190070018 A KR20190070018 A KR 20190070018A KR 20200142761 A KR20200142761 A KR 20200142761A
Authority
KR
South Korea
Prior art keywords
cells
data
program
spo
monitoring
Prior art date
Application number
KR1020190070018A
Other languages
English (en)
Other versions
KR102632690B1 (ko
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 KR1020190070018A priority Critical patent/KR102632690B1/ko
Priority to US16/746,413 priority patent/US11127456B2/en
Priority to CN202010528328.6A priority patent/CN112086111A/zh
Publication of KR20200142761A publication Critical patent/KR20200142761A/ko
Priority to US17/408,414 priority patent/US11699485B2/en
Application granted granted Critical
Publication of KR102632690B1 publication Critical patent/KR102632690B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • 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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital 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 trapping in an insulator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • 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
    • 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
    • G11C2029/1202Word line control

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)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 장치 및 방법이 제공된다. 비휘발성 메모리 장치는, 제1 워드 라인을 포함하는 복수의 워드 라인과, 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하되, 복수의 메모리 셀은 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀을 포함하는 비휘발성 메모리, 및 비휘발성 메모리를 제어하는 컨트롤러를 포함하되, 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고, SPO 검출기는 복수의 메모리 셀 중 복수의 데이터 셀을 제외한 나머지를 복수의 모니터링 셀로 정의하고, 복수의 모니터링 셀에 검출 프로그램을 인가한다.

Description

비휘발성 메모리 장치 및 그 프로그램 방법{Nonvolatile memory device and the method for programing the same}
본 발명은 비휘발성 메모리 장치 및 그 프로그램 방법에 관한 것이다.
비휘발성 메모리 장치는 전원의 공급이 중단되더라도 저장된 데이터가 소멸되지 않는 메모리 장치로서, 예를 들어, PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically EPROM), 플래시 메모리 장치(Flash Memory Device) 등이 있다. 이 중, 플래시 메모리 장치는 다양한 형태의 메모리 셀로 구성될 수 있으며, 셀 어레이 구조에 따라 크게 낸드형(NAND type)과 노어형(NOR type)으로 구분할 수 있다.
한편, 비휘발성 메모리 장치의 메모리 셀에 데이터를 프로그램하는 동안, 장치에 순간적인 전원 차단(sudden power off)이 발생할 수 있다. 이렇게 프로그램 동작 중 전원 차단이 발생하게 되면, 메모리 셀에 프로그램된 데이터의 신뢰성을 보장할 수 없게 된다. 따라서, 메모리 셀에 데이터를 프로그램하는 도중 순간적인 전원 차단이 발생했는지 여부를 파악할 수 있는 여러 방법이 연구되고 있다.
본 발명이 해결하고자 하는 기술적 과제는, 비휘발성 메모리 장치의 성능에 미치는 영향을 최소화하면서, 메모리 셀에 데이터를 프로그램하는 도중 순간적인 전원 차단이 발생했는지 여부를 탐지할 수 있는 비휘발성 메모리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또다른 기술적 과제는, 비휘발성 메모리 장치의 성능에 미치는 영향을 최소화하면서, 메모리 셀에 데이터를 프로그램하는 도중 순간적인 전원 차단이 발생했는지 여부를 탐지할 수 있는 비휘발성 메모리 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치는, 제1 워드 라인을 포함하는 복수의 워드 라인과, 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하되, 복수의 메모리 셀은 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀을 포함하는 비휘발성 메모리, 및 비휘발성 메모리를 제어하는 컨트롤러를 포함하되, 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고, SPO 검출기는 복수의 메모리 셀 중 복수의 데이터 셀을 제외한 나머지를 복수의 모니터링 셀로 정의하고, 복수의 모니터링 셀에 검출 프로그램을 인가한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치는, 제1 워드 라인을 포함하는 복수의 워드 라인과, 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하되, 복수의 메모리 셀은 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀과 복수의 모니터링 셀을 포함하는 비휘발성 메모리, 및 비휘발성 메모리를 제어하는 컨트롤러를 포함하되, 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고, SPO 검출기는 복수의 모니터링 셀에 검출 프로그램을 인가한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치는, 제1 워드 라인을 포함하는 복수의 워드 라인과, 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하는 비휘발성 메모리, 및 복수의 메모리 셀 중 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀에 제1 프로그램을 인가하는 컨트롤러를 포함하되, 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고, SPO 검출기는 복수의 메모리 셀 중 N 개의 데이터 셀을 제외한 나머지를 복수의 모니터링 셀로 정의하여, 복수의 모니터링 셀에 제1 프로그램과 다른 검출 프로그램을 인가한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치를 포함하는 데이터 처리 시스템을 설명하는 예시적인 블록도이다.
도 2는 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치를 설명하는 예시적인 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치에 검출 프로그램이 인가된 문턱 전압 분포를 도시한 그래프이다.
도 4는 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다.
도 5 및 도 6은 도 4를 설명하기 위한 예시적인 도면들이다.
도 7은 본 발명의 몇몇 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다.
도 8 내지 도 12는 도 7을 설명하기 위한 예시적인 도면들이다.
도 13은 본 발명의 몇몇 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다.
도 14 내지 도 19는 도 13을 설명하기 위한 예시적인 도면들이다.
도 1은 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치를 포함하는 데이터 처리 시스템을 설명하는 예시적인 블록도이다.
도 1을 참조하면, 데이터 처리 시스템(100)은 호스트(102) 및 메모리 시스템(110)을 포함한다.
호스트(102)는 전자 장치, 예컨대 휴대폰, MP3 플레이어, 랩탑 컴퓨터 등과 같은 휴대용 전자 장치들, 또는 데스크탑 컴퓨터, 게임기, TV, 프로젝터 등과 같은 전자 장치들과 같은 유무선 전자 장치들을 포함할 수 있으나 이에 제한되지 않는다.
또한, 호스트(102)는, 적어도 하나의 운영 시스템(OS; Operating System)을 포함할 수 있으며, 운영 시스템은 호스트(102)의 기능 및 동작을 전반적으로 관리 및 제어하고, 데이터 처리 시스템(100) 또는 메모리 시스템(110)을 사용하는 사용자와 호스트(102) 간에 상호 동작을 제공할 수 있다. 여기서, 운영 시스템은 사용자의 사용 목적 및 용도에 상응한 기능 및 동작을 지원할 수 있다. 예컨대, 호스트(102)의 이동성(mobility)에 따라 일반 운영 시스템과 모바일 운영 시스템으로 구분할 수 있다. 또한, 운영 시스템에서의 일반 운영 시스템은 사용자의 사용 환경에 따라 개인용 운영 시스템과 기업용 운영 시스템으로 구분할 수 있다. 예를 들어, 개인용 운영 시스템은 일반 사용자를 위한 서비스 제공 기능을 지원하도록 특성화된 시스템으로, 윈도우(windows) 및 크롬(chrome) 등을 포함할 수 있다. 또다른 예를 들어, 기업용 운영 시스템은 고성능을 확보 및 지원하도록 특성화된 시스템으로, 윈도우 서버(windows server), 리눅스(linux) 및 유닉스(unix) 등을 포함할 수 있다. 이때, 호스트(102)는 복수의 운영 시스템들을 포함할 수 있으며, 또한 사용자의 요청에 상응한 메모리 시스템(110)과의 동작 수행을 위해 운영 시스템을 실행할 수 있다.
또한, 메모리 시스템(110)은, 호스트(102)의 요청에 응답하여 동작하며, 히 호스트(102)에 의해서 액세스되는 데이터를 저장한다. 다시 말해, 메모리 시스템(110)은, 호스트(102)의 주 기억 장치 또는 보조 기억 장치로 사용될 수 있다. 여기서, 메모리 시스템(110)은 호스트(102)와 연결되는 호스트 인터페이스 프로토콜에 따라, 다양한 종류의 저장 장치들 중 어느 하나로 구현될 수 있다. 예를 들면, 메모리 시스템(110)은, 솔리드 스테이트드라이브(SSD: Solid State Drive), MMC, eMMC(embedded MMC), mini-SD, micro-SD 형태의 시큐어 디지털(SD: Secure Digital) 카드, 중 어느 하나로 구현될 수 으나 이에 제한되지 않는다.
아울러, 메모리 시스템(110)을 구현하는 저장 장치들은, DRAM(Dynamic Random Access Memory), SRAM(Static RAM) 등과 같은 휘발성 메모리 장치와, ROM(Read Only Memory), MROM(Mask ROM), PROM(Programmable ROM), EPROM(Erasable ROM), EEPROM(Electrically Erasable ROM), FRAM(Ferromagnetic ROM), PRAM(Phase change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), 플래시 메모리 등과 같은 비휘발성 메모리 장치로 구현될 수 있다.
그리고, 메모리 시스템(110)은, 호스트(102)에 의해서 액세스되는 데이터를 저장할 수 있는 비휘발성 메모리 장치(150), 및 비휘발성 메모리 장치(150)로의 데이터 저장을 제어할 수 있는 컨트롤러(130)를 포함할 수 있다.
여기서, 컨트롤러(130) 및 비휘발성 메모리 장치(150)는 하나의 반도체 장치로 집적될 수 있다. 일 예로, 컨트롤러(130) 및 비휘발성 메모리 장치(150)는 하나의 반도체 장치로 집적되어 SSD를 구성할 수 있다. 메모리 시스템(110)이 SSD로 이용되는 경우, 메모리 시스템(110)에 연결되는 호스트(102)의 동작 속도는 보다 개선될 수 있다. 아울러, 컨트롤러(130) 및 비휘발성 메모리 장치(150)는, 하나의 반도체 장치로 집적되어 메모리 카드를 구성할 수도 있으며, 일 예로 PC 카드(PCMCIA: Personal Computer Memory Card International Association), 컴팩트 플래시 카드(CF), 유니버설 플래시 기억 장치(UFS) 등과 같은 메모리 카드를 구성할 수 있으나 이에 제한되지 않는다.
또한, 다른 일 예로, 메모리 시스템(110)은, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 데이터 센터를 구성하는 스토리지, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성 하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트 워크를 구성하는 다양한 전자 장치들 중 하나, RFID(radio frequency identification) 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등을 구성할 수 있으나 이에 제한되지 않는다.
비휘발성 메모리 장치(150)는, 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있으며, 특히 라이트(write) 동작을 통해 호스트(102)로부터 제공된 데이터를 저장하고, 리드(read) 동작을 통해 저장된 데이터를 호스트(102)로 제공한다. 여기서, 비휘발성 메모리 장치(150)는, 복수의 메모리 블록(memory block)들(152,154,156)을 포함하며, 각각의 메모리 블록들(152,154,156)은, 복수의 페이지들(pages)을 포함하며, 또한 각각의 페이지들은, 복수의 워드 라인(WL: Word Line)들이 연결된 복수의 메모리 셀들을 포함할 수 있다. 또한, 비휘발성 메모리 장치(150)는, 복수의 메모리 블록들(152,154,156)이 각각 포함된 복수의 플래인들(plane)을 포함하며, 특히 복수의 플래인들이 각각 포함된 복수의 메모리 다이(memory die)들을 포함할 수 있다. 아울러, 비휘발성 메모리 장치(150)는, 플래시 메모리가 될 수 있으며, 이때 플래시 메모리는 3차원(dimension) 입체 스택(stack) 구조가 될 수 있다.
메모리 시스템(110)에서의 컨트롤러(130)는, 호스트(102)로부터의 요청에 응답하여 메모리 장치(150)를 제어할 수 있다. 예컨대, 컨트롤러(130)는, 메모리 장치(150)로부터 리드된 데이터를 호스트(102)로 제공하고, 호스트(102)로부터 제공된 데이터를 비휘발성 메모리 장치(150)에 저장하며, 이를 위해 컨트롤러(130)는, 비휘발성 메모리 장치(150)의 리드, 라이트, 프로그램(program), 소거(erase) 등의 동작을 제어할 수 있다. 보다 구체적으로 설명하면, 컨트롤러(130)는, 호스트 인터페이스(Host I/F) 유닛(132), 프로세서(Processor)(134), 에러 정정 코드(ECC: Error Correction Code) 유닛(138), 파워 관리 유닛(PMU: Power Management Unit)(140), 낸드 플래시 컨트롤러(NFC: NAND Flash Controller)(142), 및 메모리(Memory)(144)를 포함할 수 있다. 컨트롤러(130) 내부의 구성은 이에 제한되지 않는다.
또한, 호스트 인터페이스 유닛(132)은, 호스트(102)의 커맨드(command) 및 데이터를 처리하며, USB(Universal Serial Bus), IDE(Integrated Drive Electronics), MIPI(Mobile Industry Processor Interface) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(102)와 통신하도록 구성될 수 있으나, 이에 제한되지 않는다.
아울러, ECC 유닛(138)은, 비휘발성 메모리 장치(150)에 저장된 데이터를 리드할 경우, 메모리 장치(150)로부터 리드된 데이터에 포함되는 에러를 검출 및 정정할 수 있다. 다시 말해, ECC 유닛(138)은, 비휘발성 메모리 장치(150)로부터 리드한 데이터에 대하여 에러 정정 디코딩을 수행한 후, 에러 정정 디코딩의 성공 여부를 판단하고, 판단 결과에 따라 지시 신호, 예컨대 에러 정정 성공(success)/실패(fail) 신호를 출력하며, ECC 인코딩 과정에서 생성된 패리티(parity) 비트를 사용하여 리드된 데이터의 에러 비트를 정정할 수 있다. 이때, ECC 유닛(138)은, 에러 비트 개수가 정정 가능한 에러 비트 한계치 이상 발생하면, 에러 비트를 정정할 수 없으며, 에러 비트를 정정하지 못함에 상응하는 에러 정정 실패 신호를 출력할 수 있다.
여기서, ECC 유닛(138)은, LDPC(low density parity check) code, BCH(Bose, Chaudhri, Hocquenghem) code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러 정정을 수행할 수 있으나, 이에 한정되는 것은 아니다. 또한, ECC 유닛(138)는 오류 정정을 위한 회로, 모듈, 시스템, 또는 장치를 모두 포함할 수 있다.
그리고, PMU(140)는, 컨트롤러(130)의 파워, 즉 컨트롤러(130)에 포함된 구성 요소들의 파워를 제공 및 관리할 수 있다.
또한, NFC(142)는, 컨트롤러(130)가 호스트(102)로부터의 요청에 응답하여 비휘발성 메모리 장치(150)를 제어하기 위해, 컨트롤러(130)와 비휘발성 메모리 장치(150)간의 인터페이싱을 수행하는 메모리/스토리지(storage) 인터페이스로서, 프로세서(134)의 제어에 따라, 비휘발성 메모리 장치(150)의 제어 신호를 생성하고 데이터를 처리할 수 있다. 여기서, NFC(142)는, 컨트롤러(130)와 비휘발성 메모리 장치(150)간의 커맨드 및 데이터를 처리하는 인터페이스의 동작을 수행할 수 있으며, 특히 컨트롤러(130)와 비휘발성 메모리 장치(150)간 데이터 입출력을 지원할 수 있다.
아울러, 메모리(144)는, 메모리 시스템(110) 및 컨트롤러(130)의 동작 메모리로서, 메모리 시스템(110) 및 컨트롤러(130)의 구동을 위한 데이터를 저장할 수 있다. 보다 구체적으로 설명하면, 메모리(144)는, 컨트롤러(130)가 호스트(102)로부터의 요청에 응답하여 비휘발성 메모리 장치(150)를 제할 수 있다. 예컨대 컨트롤러(130)가, 비휘발성 메모리 장치(150)로부터 리드된 데이터를 호스트(102)로 제공하고, 호스트(102)로부터 제공된 데이터를 비휘발성 메모리 장치(150)에 저장할 수 있다. 이를 위해 컨트롤러(130)가, 비휘발성 메모리 장치(150)의 리드, 라이트, 프로그램, 소거(erase) 등의 동작을 제어할 수 있다.
여기서, 메모리(144)는, 휘발성 메모리로 구현될 수 있으며, 예컨대 정적 랜덤 액세스 메모리(SRAM: Static Random Access Memory), 또는 동적 랜덤 액세스 메모리(DRAM: Dynamic Random Access Memory) 등으로 구현될 수 있다. 아울러, 메모리(144)는, 도 1에서 도시한 바와 같이, 컨트롤러(130)의 내부에 존재하거나, 또는 컨트롤러(130)의 외부에 존재할 수 있으며, 이때 메모리 인터페이스를 통해 컨트롤러(130)로부터 데이터가 입출력되는 외부 휘발성 메모리로 구현될 수도 있다.
또한, 메모리(144)는, 전술한 바와 같이, 호스트(102)와 비휘발성 메모리 장치(150)간 데이터 라이트 및 리드 등의 동작을 수행하기 위해 필요한 데이터, 및 데이터 라이트 및 리드 등의 동작 수행 시의 데이터를 저장할 수 있다. 이러한 데이터 저장을 위해, 프로그램 메모리, 데이터 메모리, 라이트 버퍼(buffer)/캐시(cache), 리드 버퍼/캐시, 데이터 버퍼/캐시, 맵(map) 버퍼/캐시 등을 포함할 수 있다.
SPO(Sudden Power Off) 검출기(146)는 비휘발성 메모리 장치(150)에서 SPO가 발생했는지 안 했는 지를 검출할 수 있다. 비휘발성 메모리 장치(150)에 SPO가 발생했을 경우, 비휘발성 메모리 장치(150)에 저장된 데이터 등에 오류가 발생할 수 있기 때문에, SPO 발생을 정확히 검출하여, 해당 데이터들을 제거할 필요가 있다.
예를 들어, 비휘발성 메모리 장치(150)의 메모리 용량을 증가시키는 방법들 중 하나인 멀티 레벨 셀(MLC; Multi Level Cell) 방식을 예를 들어 설명한다. 멀티 레벨 셀 방식은 하나의 메모리 셀에 다수의 비트들을 저장하는 방식이다. 그러나, 멀티 레벨 셀 방식에 의한 프로그램 방법은 메모리 셀에 이미 기입되어 있는 하위 비트의 데이터가 해당 메모리 셀에 입력되는 상위 비트의 데이터와 섞여서 손실되는 것과 같은 오류를 유발할 수 있다. 예를 들어, 상위 비트의 프로그램 중에 SPO가 발생할 경우, 기존 메모리 셀에 기입되어 있던 하위 비트의 데이터가 해당 메모리 셀에 입력되는 상위 비트의 데이터의 영향을 받아 값이 변하는 문제가 발생할 수 있다.
따라서, SPO 검출기(146)가 비휘발성 메모리 장치(150)의 성능에 미치는 영향을 최소화하면서, 메모리 셀에 SPO가 발생했는지 여부를 정확히 판단하여 SPO 발생에 의해 오류가 발생한 메모리 셀의 데이터를 제거할 수 있다. SPO 검출기(146)의 자세한 작동을 이하의 도면들을 통해 자세히 설명한다.
도 2는 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치를 설명하는 예시적인 도면이다.
도 2를 참조하면, 비휘발성 메모리 장치(150)의 복수의 메모리 블록들에서 각 메모리 블록(334)이 메모리 셀 어레이로 구현되어 복수의 비트 라인들(BL0 내지 BLm-1)에 각각 연결된 복수의 셀 스트링(375)들을 포함할 수 있다. 각 열(column)의 각각의 셀 스트링(375)은, 적어도 하나의 그라운드 선택 트랜지스터(GST; Ground Select Transistor)와, 적어도 하나의 스트링 선택 트랜지스터(SST; String Select Transistor)를 포함할 수 있다. 그라운드 선택 트랜지스터(GST)와 스트링 선택 트랜지스터(SST) 사이에는, 복수의 메모리 셀들(MC0 내지 MCn-1)이 직렬로 연결될 수 있다.
스트링 선택 트랜지스터(SST)들 각각은 드레인 선택 라인(DSL; Drain Select Line)에 전기적으로 연결되어, 드레인 선택 라인(DSL)을 통해 전기적인 신호를 받아 켜지거나 꺼질 수 있다. 그라운드 선택 트랜지스터(GST)들은 소오스 선택 라인(SSL; Source Select Line)에 전기적으로 연결되어, 소오스 선택 라인(SSL)을 통해 전기적인 신호를 받아 켜지거나 꺼질 수 있다. 드레인 선택 라인(DSL)와 소오스 선택 라인(SSL)은 전압 발생기(310)에 의해 제어될 수 있다.
복수의 메모리 셀들(MC0 내지 MCn-1) 각각은 셀 당 단일 비트의 데이터 정보를 저장하는 단일 레벨 셀(SLC; Single Level Cell), 혹은 셀 당 복수의 비트들의 데이터 정보를 저장하는 멀티 레벨 셀 또는 트리플 레벨 셀(Triple Level Cell) 또는 쿼드 레벨 셀(QLC; Quad Level Cell)로 구성될 수 있으나, 이에 제한되지 않는다. 각각의 셀 스트링(375)들은 각각에 대응하는 복수의 비트 라인들(BL0 내지 BLm-1)에 전기적으로 연결될 수 있다.
복수의 비트 라인들(BL0 내지 BLm-1)은 짝수(even) 비트 라인(예를 들어, BL0, BL2, BL4, ??)끼리 연결되고, 홀수(odd) 비트 라인(예를 들어, BL1, BL3, BL5, ??)끼리 연결되어 각각의 짝수 비트 라인들끼리 혹은 홀수 비트 라인들끼리 프로그램될 수 있다. 이하에서는 설명의 편의를 위해 짝수 비트 라인 및 홀수 비트 라인으로 나눠지지 않은 것으로 설명한다.
도 2는, 낸드 플래시 메모리 셀로 구성된 각 메모리 블록(334)을 몇몇 실시예 중 하나로 도시하고 있으나, 낸드 플래시 메모리에만 국한되지 않고 노어 형 플래시 메모리(NOR-Type Flash memory), 적어도 두 종류 이상의 메모리 셀들이 혼합된 하이브리드 플래시 메모리, 메모리 칩 내에 컨트롤러가 내장된 One-NAND 플래시 메모리 등으로도 구현될 수 있다. 아울러, 몇몇 실시예에 따른 비휘발성 메모리 장치(150)는, 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(CTF; Charge Trap Flash) 메모리 장치 등으로도 구현될 수 있다.
비휘발성 메모리 장치(150)의 전압 발생기(310)는, 동작 모드에 따라서 각각의 워드 라인들(WL0 내지 WLn-1)로 공급될 워드 라인 전압(예를 들어, 프로그램 전압, 리드 전압, 패스 전압 등)과, 복수의 메모리 셀들(MC0 내지 MCn-1)이 형성된 벌크(예를 들어, 웰 영역)로 공급될 전압을 제공할 수 있다. 이때, 전압 발생기(310)의 전압 발생 동작은 도 1의 컨트롤러(130)에 의해 제어되어 수행될 수 있다. 특히, 도 1의 컨트롤러(130) 내 SPO 검출기(146)가 전압 발생기(310)를 제어하여, 전압 발생기(310)에 연결된 복수의 워드 라인들(WL0 내지 WLn-1)에 SPO가 발생하였는 지 여부를 검출할 수 있다. 또한, 전압 발생기(310)는 다수의 리드 데이터를 생성하기 위해 복수의 가변 리드 전압들을 생성할 수 있으며, 복수의 워드 라인들(WL0 내지 WLn-1) 중 하나를 선택할 수 있다.
또한, 비휘발성 메모리 장치(150)는 리드/라이트(read/write) 회로(320)에 의해 제어될 수 있다. 리드/라이트 회로(320)는 동작 모드에 따라 감지 증폭기(sense amplifier) 또는 라이트 드라이버(write driver)로 동작할 수 있다. 예를 들어, 검증 또는 정상 리드 동작의 경우에 리드/라이트 회로(320)는, 메모리 셀 어레이로부터 데이터를 리드하기 위한 감지 증폭기로 동작할 수 있다. 또한, 프로그램 동작의 경우에 리드/라이트 회로(320)는 메모리 셀 어레이에 저장될 데이터에 따라 복수의 비트 라인들(BL0 내지 BLm-1)을 구동하는 라이트 드라이버로서 동작할 수 있다. 리드/라이트 회로(320)는, 프로그램 동작 시 메모리 셀 어레이에 라이트될 데이터를 버퍼(도시되지 않음)로부터 수신할 수 있고, 입력된 데이터에 따라 복수의 비트 라인들(BL0 내지 BLm-1)을 구동할 수 있다. 이를 위해, 리드/라이트 회로(320)는 열(column)들(또는 비트 라인들) 또는 열쌍(column pair)(또는 비트 라인 쌍들)에 각각 대응되는 복수의 페이지 버퍼(page buffer)들(322, 324, 326, 328, 330, 및 332)을 포함할 수 있으며, 각각의 페이지 버퍼들(322, 324, 326, 328, 330, 및 332)에는 복수의 래치들을 포함할 수 있다. 페이지 버퍼들(322, 324, 326, 328, 330, 및 332)의 개수는 복수의 비트 라인들(BL0 내지 BLm-1) 개수와 같을 수 있으며, 비트 라인들(BL0 내지 BLm-1)의 수와 페이지 버퍼들(322, 324, 326, 328, 330, 및 332)의 수는 이에 제한되지 않는다.
비휘발성 메모리 장치(150)의 메모리 셀 어레이 내에 복수의 워드 라인들(WL0 내지 WLn-1),과 복수의 비트 라인들(BL0 내지 BLm-1)이 교차하는 지점에 복수의 메모리 셀들(MC0 내지 MCn-1)이 정의될 수 있다. 몇몇 실시예에 따른, 복수의 메모리 셀들(MC0 내지 MCn-1)은 P(여기서, P는 자연수) 비트 데이터를 저장할 수 있다.
한편, 복수의 워드 라인들(WL0 내지 WLn-1)을 공유하는 복수의 메모리 셀들(MC0 내지 MCn-1) 중에서, 일부를 P 비트 데이터를 저장하는 복수의 데이터 셀(DC)로 정의하고, 나머지 일부를 복수의 데이터 셀(DC) 각각이 연결된 복수의 워드 라인들(WL0 내지 WLn-1) 각각에 SPO가 발생되었는지 여부를 검출하기 위한 모니터링 셀(MTC)로 정의할 수 있다. 다시 말해, 복수의 데이터 셀(DC)과 복수의 모니터링 셀(MTC)은 복수의 워드 라인들(WL0 내지 WLn-1) 각각을 공유할 수 있다.
몇몇 실시예에 따른 비휘발성 메모리 장치(150)는 낸드형(NAND-Type) 플래시 메모리의 메모리 셀 어레이가 도 2에 예시적으로 도시되어 있으나, 본 발명이 도 2에 도시된 것에만 국한되는 것은 아니다. 몇몇 실시예에 따른 비휘발성 메모리 장치(150)는, 도 2에 도시된 것과 달리 노어형(NOR-Type) 플래시 메모리, 상변화메모리(Phase Change Memory), 저항성메모리(Resistive Memory)가 될 수도 있다.
도 3은 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치에 검출 프로그램이 인가된 문턱 전압 분포를 도시한 그래프이다.
도 2 및 도 3을 참조하면, SPO 검출기(146)는 복수의 모니터링 셀(MTC)에 검출 프로그램(DP; Detect Program)을 인가할 수 있다. 이때, 검출 프로그램(DP) 펄스는 1회만 복수의 모니터링 셀(MTC)에 인가할 수 있다.
도 3의 그래프에 따라 멀티 레벨 셀을 예로 들면, 비휘발성 메모리 장치(150)에 프로그램 동작이 완료된 복수의 워드 라인 중 일부의 복수의 데이터 셀(DC)에는 이레이즈 상태(E) 및 프로그램 상태들(PV1 내지 PV7) 중 어느 하나의 상태로 프로그램될 수 있다.
문턱 전압이 제1 리드 전압(RV1) 미만인 복수의 데이터 셀들(DC) 중 일부는 이레이즈 상태(E)로 평가될 수 있으며, 문턱 전압이 제1 리드 전압(RV1)을 초과하고 제2 리드 전압(RV2) 미만인 복수의 데이터 셀들(DC) 중 다른 일부는 제1 프로그램 상태(PV1)로 평가될 수 있다. 그리고, 문턱 전압이 제2 리드 전압(RV2)을 초과하고 제3 리드 전압(RV3) 미만인 복수의 데이터 셀들(DC) 중 다른 일부는 제2 프로그램 상태(PV2)로 평가될 수 있다. 마찬가지로, 복수의 데이터 셀들(DC) 중 나머지는 제3 리드 전압(RV3) 내지 제7 리드 전압(RV7)에 의해 제3 프로그램 상태(PV3) 내지 제7 프로그램 상태(PV7)로 평가될 수 있다.
SPO 검출기(146)는 복수의 데이터 셀(DC) 각각에 연결된 복수의 워드 라인들(WL0 내지 WLn-1)에 SPO 발생 여부 검출을 위해 복수의 모니터링 셀(MTC)에 검출 프로그램(DP)을 인가할 수 있다. 복수의 모니터링 셀(MTC)에 인가되는 검출 프로그램(DP)은 비휘발성 메모리 장치(150)에 프로그램되는 예를 들어, 제1 프로그램 인가시의 제1 프로그램 펄스의 인가 횟수와는 다를 수 있다. 즉, 앞서 복수의 데이터 셀(DC)에 제1 프로그램을 인가할 때에는, 다수회에 걸쳐 크기가 점점 증가하는 제1 프로그램 펄스를 복수의 데이터 셀(DC)에 인가하였다. 하지만 SPO 검출기(146)는 검출 프로그램(DP)을 복수의 모니터링 셀(MTC)에 검출 프로그램(DP) 펄스를 1회만 모니터링 셀(MTC)에 인가할 수 있다.
이를 통해, 비휘발성 메모리 장치(150)의 전체적인 프로그램 시간에는 영향을 주지 않을 수 있다. 또한, 향후 복수의 모니터링 셀(MTC)을 소정 전압 레벨의 검출 전압으로 리드(read)해보면, 해당 복수의 모니터링 셀(MTC)이 연결된 워드 라인에 SPO가 발생하였는지 여부를 알 수 있다. 다시 말해, 복수의 데이터 셀(DC)이 순간적인 전원 차단(SPO) 없이 정상적으로 프로그램되었는지 여부를 알 수 있다. 이하에서, 흐름도와 함께 자세한 검출 방법을 살펴본다.
도 4는 본 발명의 몇몇 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다. 도 5 및 도 6은 도 4를 설명하기 위한 예시적인 도면들이다.
먼저 도 4를 참조하면, 몇몇 실시예에 따른 비휘발성 메모리 장치의 복수의 데이터 셀(DC)에 제1 프로그램을 인가한다(S110). 구체적으로, 복수의 모니터링 셀(MTC)을 인히빗(inhibit)시킨 상태에서, 복수의 데이터 셀(DC)을 제1 프로그램할 수 있다. 이하, 도 5를 참조하여 보다 구체적으로 설명한다.
도 5를 참조하면, 도 5는 도 2의 A영역에 대한 개념 블록도를 도시한 도면이다. 앞서 설명한 바와 같이, 복수의 데이터 셀(DC)은 다수개가 존재할 수 있으며, 각각은 1비트 데이터를 저장할 수 있다. 복수의 모니터링 셀(MTC)은 복수의 데이터 셀(MC0)과 제1 워드 라인(WL0)을 공유하는 1개의 메모리 셀(MC0)일 수 있다. 즉, 복수의 모니터링 셀(MTC)은 단수개가 될 수도 있으며, 그 개수는 도 2에 제한되지 않는다.
복수의 모니터링 셀(MTC)을 인히빗시킨다는 것의 의미는, 복수의 모니터링 셀(MTC)에 연결된 워드 라인(예를 들어, WL0)과 비트 라인(예를 들어, BLm-1)에 소정의 전압을 인가하여, 인접한 복수의 데이터 셀(DC)에는 1비트 데이터가 프로그램되더라도 복수의 모니터링 셀(MTC)은 1비트 데이터가 프로그램되지 않게 하는 것을 의미한다. 따라서, 복수의 모니터링 셀(MTC)을 인히빗시킨 상태에서 복수의 데이터 셀(DC)에 1비트 데이터를 프로그램할 경우, 복수의 데이터 셀(DC)은 1비트 데이터로 프로그램되나, 복수의 모니터링 셀(MTC)은 1비트 데이터가 프로그램되지 않을 수 있다.
예를 들어, 3개의 복수의 데이터 셀(DC)과 1개의 모니터링 셀(MTC)이 제1 워드 라인(WL0)을 공유하고 있다고 가정한다. 그리고, 3개의 데이터 셀(DC)에는 '110'이 저장되어 있고, 모니터링 셀(MTC)에는 '1'이 저장되어 있다고 한다. 이때, 모니터링 셀(MTC)을 인히빗시킨 상태에서 3개의 데이터 셀(DC)을 모두 '0'으로 프로그램하면(더욱 구체적으로는, 3개의 데이터 셀(DC) 중 첫번째 및 두번째 데이터 셀(DC)의 데이터를 '0'으로 프로그램하게 되면), 3개의 데이터 셀(DC)에는 '000'이 저장되게 되나, 모니터링 셀(MTC)은 데이터 셀(DC)이 프로그램될 동안 인히빗되었으므로 여전히 '1'이 저장되어 있을 수 있다.
이때, 복수의 데이터 셀(DC)에 제1 프로그램을 인가하는 데에는, 예를 들어, ISPP(Incremental Step Pulse Program)가 이용될 수 있다. 즉, 도 5에 도시된 것과 같이, 그 크기가 점점 증가하는 제1 프로그램 펄스를 다수회에 걸쳐 복수의 데이터 셀(DC)에 인가함으로써, 복수의 데이터 셀(DC)에 제1 프로그램을 인가하여 1비트 데이터를 프로그램할 수 있다.
다시, 도 4를 참조하면, SPO 검출기가 복수의 모니터링 셀에 검출 프로그램을 인가한다(S120). 구체적으로, 데이터 셀을 인히빗시킨 상태에서 모니터링 셀에 제1 프로그램과 다른 검출 프로그램을 인가한다. 이하, 도 6을 통해 구체적으로 설명하도록 한다.
도 6을 참조하면, 복수의 데이터 셀(DC)을 인히빗시킨 상태에서 복수의 모니터링 셀(MTC)에 검출 프로그램을 인가한다. 여기서, 복수의 모니터링 셀(MTC)에 검출 프로그램을 인가하는 것과, 복수의 데이터 셀(DC)에 제1 프로그램을 인가하는 것의 차이는 프로그램 펄스의 인가 횟수일 수 있다. 즉, 앞서 복수의 데이터 셀(DC)에 제1 프로그램을 인가할 때에는, 복수회에 걸쳐 크기가 점점 증가하는 프로그램 펄스를 복수의 데이터 셀(DC)에 인가하였으나, 복수의 모니터링 셀(MTC)에 검출 프로그램을 인가할 때에는 검출 프로그램 펄스를 1회만 복수의 모니터링 셀(MTC)에 인가할 수 있다.
이러한 방법에 따라 몇몇 실시예에 따른 비휘발성 메모리 장치에 SPO 검출기가 검출 프로그램을 인가하고, 향후 복수의 모니터링 셀(MTC)을 소정 전압 레벨의 검출 전압으로 리드(read)해보면, 복수의 데이터 셀(DC) 각각이 연결된 각각의 워드 라인에 프로그램되는 동안 순간적인 전원 차단(즉, SPO)가 발생하였는지 여부를 알 수 있다. 다시 말해, 복수의 데이터 셀(DC)이 SPO 없이 정상적으로 프로그램되었는지 여부를 알 수 있다.
그 이유는 다음과 같을 수 있다. 만약, 복수의 데이터 셀(DC)이 프로그램되는 동안 SPO가 발생하였다면, 그 후에 프로그램되는 복수의 모니터링 셀(MTC)도 검출 프로그램이 프로그램되지 않을 것이다. 따라서, 복수의 모니터링 셀(MTC)을 검출 전압으로 리드해보면 복수의 모니터링 셀(MTC)이 정상적으로 프로그램되지 않은 것으로 결과가 나올 수 있다. 하지만, 복수의 데이터 셀(DC)이 프로그램되는 동안 SPO가 발생하지 않았다면, 그 후에 프로그램되는 복수의 모니터링 셀(MTC)도 검출 프로그램이 프로그램되지 않을 것이다. 따라서, 이 경우 복수의 모니터링 셀(MTC)을 검출 전압으로 리드해보면, 복수의 모니터링 셀(MTC)에 검출 프로그램이 정상적으로 프로그램된 것으로 결과가 나올 수 있다.
정리하면, 앞서 설명한 프로그램 동작(예를 들어, 제1 프로그램 및 검출 프로그램)이 모두 완료된 후, 복수의 모니터링 셀(MTC)을 검출 전압으로 리드한 결과 복수의 모니터링 셀(MTC)이 정상적으로 프로그램되었다면, 복수의 데이터 셀(DC)이 연결된 워드 라인에 SPO가 발생하지 않은 것이다. 따라서, 복수의 모니터링 셀(MTC)과 워드 라인을 공유하는 복수의 데이터 셀(DC)에는 정상적으로 데이터가 프로그램되었다고 판단할 수 있다.
하지만, 복수의 모니터링 셀(MTC)을 검출 전압으로 리드한 결과 복수의 모니터링 셀(MTC)이 정상적으로 프로그램되지 않았다면, 복수의 모니터링 셀(MTC)이 공유하는 워드 라인에 SPO가 발생했음을 검출할 수 있다. 따라서, 이 경우에는 복수의 모니터링 셀(MTC)과 워드 라인을 공유하는 복수의 데이터 셀(DC)의 데이터에 대한 추가적인 조치(예를 들어, 데이터 복구 혹은 제거 등)가 필요할 수 있다.
한편, 몇몇 실시예에 따른 비휘발성 메모리 장치에서, 복수의 데이터 셀(DC)에 제1 프로그램을 인가할 때에는 서로 다른 크기의 프로그램 펄스를 다수회 인가하여 복수의 데이터 셀(DC)에 제1 프로그램을 프로그램하나, 복수의 모니터링 셀(MTC)에 검출 프로그램을 인가할 때에는 하나의 프로그램 펄스를 1회 인가하여 복수의 모니터링 셀(MTC)에 검출 프로그램을 프로그램할 수 있다. 즉, 복수의 모니터링 셀(MTC)에 검출 프로그램을 프로그램하는데에 별도의 추가 시간이 거의 소요되지 않을 수 있다. 따라서, 몇몇 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 복수의 모니터링 셀(MTC)에 추가적으로 검출 프로그램을 수행함에도 불구하고, 몇몇 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법 과정에서 전체 프로그램 시간(예를 들어, tPROG)에 영향을 주지 않을 수 있고 몇몇 실시예에 따른 비휘발성 메모리 장치의 전체 성능에 크게 영향을 주지 않을 수 있다. 즉, 몇몇 실시예에 따른 비휘발성 메모리 장치의 성능에 미치는 영향을 최소화하면서, 복수의 데이터 셀(DC)에 데이터를 프로그램하는 도중 SPO가 발생했는지 여부를 SPO 검출기가 검출할 수 있게 되는 것이다.
도 7은 본 발명의 몇몇 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다. 도 8 내지 도 12는 도 7을 설명하기 위한 예시적인 도면들이다.
먼저, 도 7을 참조하면, 몇몇 실시예에 따른 비휘발성 메모리 장치에 제1 프로그램을 인가한다(S210).
여기서, 몇몇 실시예에 따른 비휘발성 메모리 장치의 메모리 셀 어레이의 기본 구성은 도 2와 동일할 수 있다. 하지만, 본 도면에서의 몇몇 실시예에 따른 비휘발성 메모리 장치의 복수의 데이터 셀(DC) 및 복수의 모니터링 셀(MTC)은 각각 2비트의 데이터를 저장할 수 있다고 가정한다. 여기서 2비트 데이터는 제1 프로그램에 의해 프로그램되는 제1 비트 데이터와 제2 프로그램에 의해 프로그램되는 제2 비트 데이터를 포함할 수 있다. 제1 비트 데이터는 예를 들어, LSB 데이터일 수 있고, 제2 비트 데이터는 예를 들어, MSB 데이터일 수 있다.
또한, 도 4 내지 도 6에서는 복수의 데이터 셀(DC)과 워드 라인을 공유하는 복수의 모니터링 셀(MTC)이 1개 존재하는 것을 예로써 설명하였으나, 본 실시예에서는 복수의 모니터링 셀(MTC1, MTC2)이 존재하는 것을 예로써 설명한다. 구체적으로, 복수의 데이터 셀(DC)과 워드 라인을 공유하는 복수의 모니터링 셀(MTC1, MTC2)은 2K(여기서, K는 자연수)개가 존재할 수 있으며, 이 중 K개의 모니터링 셀(MTC1)은 복수의 데이터 셀(DC)에 LSB 데이터가 프로그램되는 동안 SPO 발생 여부를 검출하는 셀이고, 나머지 K개의 모니터링 셀(MTC2)은 복수의 데이터 셀(DC)에 MSB 데이터가 프록램되는 동안 SPO 발생 여부를 검출하는 셀로 SPO 검출기가 정의할 수 있다.
다시 도 7 및 도 8을 참조하면, 복수의 데이터 셀(DC)에 제1 프로그램을 인가한다(S210). 구체적으로, 2K개의 모니터링 셀(MTC1, MTC2)을 인히빗시킨 상태에서 복수의 데이터 셀(DC)에 제1 프로그램을 인가할 수 있다. 이때, 복수의 데이터 셀(DC)에 제1 프로그램을 인가하는 방법으로는 예를 들어, ISPP(Incremental Step Pulse Program)가 이용될 수 있다.
다음 도 7 및 도 9를 참조하면, SPO 검출기가 K개의 모니터링 셀(MTC1)에 검출 프로그램을 인가한다(S220). 구체적으로, 복수의 데이터 셀(DC)과 아직 검출 프로그램이 프로그램되지 않은 나머지 K개의 모니터링 셀(MTC2)을 인히빗시킨 상태에서, K개의 모니터링 셀(MTC1)에 검출 프로그램을 인가할 수 있다. 즉, K개의 모니터링 셀(MTC1)에 검출 프로그램이 프로그램되는 동안, 제1 프로그램이 프로그램된 복수의 데이터 셀(DC)과 나머지 K개의 모니터링 셀(MTC2)는 인히빗 상태로 유지시킬 수 있다.
한편, 여기서 K개의 모니터링 셀(MTC1)에 검출 프로그램을 인가하는 것은, 앞서 설명한 바와 같이 검출 프로그램을 하나의 프로그램 펄스로 K개의 모니터링 셀(MTC1)에 1회 인가하는 것일 수 있다.
다음 도 7 및 도 10을 참조하면, 복수의 데이터 셀(DC)에 제2 프로그램을 인가한다(S230). 구체적으로, 2K개의 모니터링 셀(MTC1, MTC2)을 인히빗시킨 상태에서, 복수의 데이터 셀(DC)에 제2 프로그램을 인가할 수 있다. 이 때에도 마찬가지로, 복수의 데이터 셀(DC)에 제2 프로그램을 인가하는 방법으로는 예를 들어, ISPP(Incremental Step Pulse Program)가 이용될 수 있다.
다음 도 7 및 도 11을 참조하면, K개의 모니터링 셀(MTC2)에 검출 프로그램을 인가한다(S240). 구체적으로, 복수의 데이터 셀(DC)과 이미 검출 프로그램이 프로그램된 나머지 K개의 모니터링 셀(MTC1)을 인히빗시킨 상태에서, K개의 모니터링 셀(MTC2)에 검출 프로그램을 인가한다. 다시 말해, K개의 모니터링 셀(MTC2)에 검출 프로그램이 인가되는 동안, 제2 프로그램이 프로그램된 복수의 데이터 셀(DC)과 나머지 K개의 모니터링 셀(MTC1)은 인히빗 상태로 유지될 수 있다.
여기서 SPO 검출기가 K개의 모니터링 셀(MTC2)에 검출 프로그램을 프로그램하는 것도 역시, 하나의 프로그램 펄스를 K개의 모니터링 셀(MTC2)에 1회 인가하는 것일 수 있다.
이러한 방법에 따라 몇몇 실시예에 따른 비휘발성 메모리 장치를 프로그램하고, 향후 모니터링 셀(MTC1, 2)을 소정 전압 레벨의 검출 전압으로 리드해보면, 복수의 데이터 셀(DC)과 공유하는 워드 라인에 SPO가 발생하였는지 여부를 검출할 수 있다.
이때, 앞서 설명한 제1, 제2, 및 검출 프로그램 동작이 종료된 후, 먼저 K개의 모니터링 셀(MTC1)을 검출 전압으로 리드해 본다. 여기서 검출 전압의 전압 레벨은 모니터링 셀(MTC1) 자체의 디스터번스(disturbance) 특성을 고려하여 결정될 수 있다. 이하의 도 12를 통해 구체적으로 설명한다.
도 12를 참조하면, 제1 곡선(Vth_dis)은 K개의 모니터링 셀(MTC1)에 검출 프로그램이 프로그램되지 않은 상태에서, 자체 디스터번스에 의해 변화될 수 있는 문턱 전압(threshold voltage)의 산포를 나타낸 곡선이다. 그리고 제2 곡선(Vth_pro)은 K개의 모니터링 셀(MTC1)이 1회의 프로그램 펄스를 인가받아 검출 프로그램이 프로그램된 문턱 전압의 산포를 나타낸 곡선이다. 몇몇 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서 K개의 모니터링 셀(MTC1)에 대해 1회의 프로그램 펄스를 인가하기 때문에, 도시된 것과 같이 프로그램에 의한 문턱 전압 산포 곡선(Vth_pro)이 넓게 퍼져서 형성될 수 있다.
이때, K개의 모니터링 셀(MTC1)을 리드하는 검출 전압(DV)은, K개의 모니터링 셀(MTC1)이 자체 디스터번스에 의해 변화될 수 있는 문턱 전압의 최대값(MAX)보다 클 수 있다. 그리고, K개의 모니터링 셀(MTC1) 중 1개의 모니터링 셀(MTC1)이라도 검출 프로그램이 프로그램된 것으로 검출되면(즉, 도 12의 빗금친 영역에 존재하게 되면), K개의 모니터링 셀(MTC1)과 복수의 데이터 셀(DC)이 공유하는 워드 라인에 SPO가 발생하지 않았단 것을 검출할 수 있다. 즉, 복수의 모니터링 셀(MTC1) 중 하나라도 SPO가 발생하지 않았다는 판단을 받아야 해당 워드 라인에 SPO가 발생하지 않았다는 결과를 검출할 수 있다. 예를 들어, 복수의 모니터링 셀(MTC1) 중 하나라도 SPO가 발생한 것으로 판단한다면, SPO 검출기는 해당 워드 라인에 SPO가 검출된 것으로 판단할 수 있다. 이러한 과정은 상술한 단일 개의 모니터링 셀에도 적용될 수 있으며, 본 설명에서의 나머지 K개의 모니터링 셀(MTC2)에도 동일하게 적용될 수 있다.
정리하면, 몇몇 실시예에 따른 비휘발성 메모리 장치에서 2K개의 모니터링 셀(MTC1, 2)와 복수의 데이터 셀(DC)이 공유하는 워드 라인에 SPO가 발생했는지 여부를 다음과 같이 알 수 있다.
먼저, 앞서 설명한 제1, 제2, 및 검출 프로그램 동작이 완료된 후, K개의 모니터링 셀(MTC1)을 검출 전압(DV)로 리드해본다. 그 결과, K개의 모니터링 셀(MTC1) 중 하나라도 검출 프로그램이 정상적으로 프로그램되지 않았다면, 해당 워드 라인에 SPO이 검출된 것으로 판단할 수 있다. 이는 나머지 K개의 모니터링 셀(MTC2)을 통한 SPO 검출 과정에도 적용될 수 있으며, 단일 모니터링 셀에도 적용될 수 있다.
도 13은 본 발명의 몇몇 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법의 순서도이다. 도 14 내지 도 19는 도 13을 설명하기 위한 예시적인 도면들이다.
여기서, 몇몇 실시예에 따른 비휘발성 메모리 장치의 메모리 셀 어레이의 기본 구성도 역시 도 2와 동일할 수 있다. 하지만, 몇몇 실시예에 따른 비휘발성 메모리 장치의 복수의 데이터 셀(DC) 및 복수의 모니터링 셀(MTC3, MTC4, 및 MTC5)은 각각 3비트의 데이터를 저장할 수 있다고 가정할 수 있다. 여기서 3비트 데이터는 제1 프로그램에 의해 프로그램되는 제1 비트 데이터, 제2 프로그램에 의해 프로그램되는 제2 비트 데이터, 제3 프로그램에 의해 프로그램되는 제2 비트 데이터를 포함할 수 있다. 제1 비트 데이터는 예를 들어, LSB 데이터일 수 있고, 제2 비트 데이터는 예를 들어, CSB 데이터일 수 있으며, 제3 비트 데이터는 예를 들어, MSB 데이터일 수 있다.
또한, 본 도면에서는 복수의 데이터 셀(DC)과 워드 라인을 공유하는 복수의 모니터링 셀(MTC3, MTC4, 및 MTC5)이 3K(여기서, K는 자연수)개가 존재하는 것을 예로 들어 설명한다. 여기서, K개의 모니터링 셀(MTC3)은 복수의 데이터 셀(DC)에 제1 프로그램이 프로그램되는 동안 워드 라인에 SPO가 발생했는지 여부를 검출하는 셀이고, 다른 K개의 모니터링 셀(MTC4)은 복수의 데이터 셀(DC)에 제2 프로그램이 프로그램되는 동안 워드 라인에 SPO가 발생했는지 여부를 검출하는 셀이며, 나머지 K개의 모니터링 셀(MTC5)은 복수의 데이터 셀(DC)에 제3 프로그램이 프로그램되는 동안 워드 라인에 SPO가 발생했는지 검출하는 셀로 SPO 검출기가 정의할 수 있다.
도 13 및 도 14를 참조하면, 복수의 데이터 셀(DC)에 제1 프로그램을 인가한다(S310). 구체적으로 3K개의 모니터링 셀(MTC3, MTC4, 및 MTC5)을 인히빗시킨 상태에서 복수의 데이터 셀(DC)에 제1 프로그램을 프로그램한다. 이때, 복수의 데이터 셀(DC)에 제1 프로그램을 인가하는 방법으로는 예를 들어, ISPP(Incremental Step Pulse Program)이 이용될 수 있다.
다음 도 13 및 도 15를 참조하면, K개의 모니터링 셀(MTC3)에 검출 프로그램을 인가한다(S32). 구체적으로, 복수의 데이터 셀(DC)과 제1 프로그램이 프로그램되지 않은 나머지 2K개의 모니터링 셀(MTC4 및 MTC5)을 인히빗시킨 상태에서, K개의 모니터링 셀(MTC3)에 검출 프로그램을 프로그램한다. 다시 말해, K개의 모니터링 셀(MTC3)에 검출 프로그램이 프로그램되는 동안, 제1 프로그램이 프로그램된 복수의 데이터 셀(DC)과 나머지 2K개의 모니터링 셀(MTC4 및 MTC5)은 인히빗 상태로 유지될 수 있다. 여기서 K개의 모니터링 셀(MTC3)에 제1 프로그램을 프로그램하는 것은, 앞에서와 마찬가지로, 제1 프로그램을 프로그램하기 위한 하나의 프로그램 펄스를 K개의 복수의 모니터링 셀(MTC3)에 1회 인가하는 것일 수 있다.
다음 도 13 및 도 16을 참조하면, 복수의 데이터 셀(DC)에 제2 프로그램을 인가한다(S330). 구체적으로 3K개의 모니터링 셀(MTC3, MTC4, 및 MTC5)을 인히빗시킨 상태에서 복수의 데이터 셀(DC)에 제2 프로그램을 프로그램한다. 이때, 복수의 데이터 셀(DC)에 제2 프로그램을 인가하는 방법으로는 예를 들어, ISPP(Incremental Step Pulse Program)이 이용될 수 있다.
다음 도 13 및 도 17을 참조하면, SPO 검출기가 K개의 모니터링 셀(MTC4)에 검출 프로그램을 프로그램한다(S340). 구체적으로, 복수의 데이터 셀(DC)과 2K개의 모니터링 셀(MTC3, 5)을 인히빗시킨 상태에서, K개의 모니터링 셀(MTC4)에 검출 프로그램을 프로그램한다. 여기서 K개의 모니터링 셀(MTC4)에 검출 프로그램을 프로그램하는 것은, 앞에서와 마찬가지로, 검출 프로그램을 프로그램하기 위한 하나의 프로그램 펄스를 K개의 모니터링 셀(MTC4)에 1회 인가하는 것일 수 있다.
다음 도 13 및 도 18을 참조하면, 복수의 데이터 셀(DC)에 제3 프로그램을 인가한다(S350). 구체적으로 3K개의 모니터링 셀(MTC3, MTC4, 및 MTC5)을 인히빗시킨 상태에서 복수의 데이터 셀(DC)에 제2 프로그램을 프로그램한다. 이때, 복수의 데이터 셀(DC)에 제2 프로그램을 인가하는 방법으로는 예를 들어, ISPP(Incremental Step Pulse Program)이 이용될 수 있다.
다음 도 13 및 도 19를 참조하면, SPO 검출기가 K개의 모니터링 셀(MTC5)에 검출 프로그램을 프로그램한다(S360). 구체적으로, 복수의 데이터 셀(DC)과 2K개의 모니터링 셀(MTC3, 4)을 인히빗시킨 상태에서, K개의 모니터링 셀(MTC5)에 검출 프로그램을 프로그램한다. 여기서 K개의 모니터링 셀(MTC5)에 검출 프로그램을 프로그램하는 것은, 앞에서와 마찬가지로, 검출 프로그램을 프로그램하기 위한 하나의 프로그램 펄스를 K개의 모니터링 셀(MTC5)에 1회 인가하는 것일 수 있다.
이러한 방법에 따라 비휘발성 메모리 장치를 프로그램하고, 향후 모니터링 셀(MTC3, 4, 5)을 소정 전압 레벨의 모니터링 전압으로 리드해보면, 복수의 데이터 셀(DC)과 공유하는 워드 라인에 SPO가 발생하였는지 검출할 수 있다.
이상에서는 복수의 데이터 셀(DC)과 복수의 모니터링 셀(MTC)이 각각 1비트 데이터, 2비트 데이터, 및 3비트 데이터를 저장할 수 있는 경우에 대해 설명하였으나, 본 발명이 이에 제한되는 것은 아니다. 앞서 설명한 본 발명의 기술적 사상내에서, 복수의 데이터 셀(DC)과 복수의 모니터링 셀(MTC)이 저장할 수 있는 데이터는 N(여기서, N은 자연수)비트 데이터로 확장될 수 있다.
또한, 앞서 설명한 실시예들에서는 복수의 모니터링 셀(MTC)의 개수가 각각 1개, 2K개, 3K개인 것만을 설명하였으나, 복수의 데이터 셀(DC)과 복수의 모니터링 셀(MTC)이 저장할 수 있는 데이터가 N비트 데이터로 확장됨에 따라, 복수의 모니터링 셀(MTC)의 개수도 M(여기서, M=N*K, K는 자연수)개로 확장될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
146: SPO 검출기 DP: 검출 프로그램 DC: 데이터 셀 MTC: 모니터링 셀

Claims (10)

  1. 제1 워드 라인을 포함하는 복수의 워드 라인과, 상기 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하되, 상기 복수의 메모리 셀은 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀을 포함하는 비휘발성 메모리; 및
    상기 비휘발성 메모리를 제어하는 컨트롤러를 포함하되,
    상기 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고,
    상기 SPO 검출기는 상기 복수의 메모리 셀 중 상기 복수의 데이터 셀을 제외한 나머지를 복수의 모니터링 셀로 정의하고, 상기 복수의 모니터링 셀에 검출 프로그램을 인가하는 비휘발성 메모리 장치.
  2. 제 1항에 있어서,
    상기 검출 프로그램은 상기 복수의 모니터링 셀에 하나의 검출 프로그램 펄스가 1회 인가되는 비휘발성 메모리 장치.
  3. 제 2항에 있어서,
    상기 SPO 검출기는,
    상기 복수의 데이터 셀에 상기 검출 프로그램과 다른 제1 프로그램을 인가하되,
    상기 제1 프로그램은 상기 복수의 데이터 셀에 상기 N 비트 데이터를 프로그램하기 위한 ISPP(Incremental Step Pulse Program)로 인가되는 비휘발성 메모리 장치.
  4. 제 3항에 있어서,
    상기 SPO 검출기는,
    상기 복수의 모니터링 셀을 검출 전압으로 리드하여, 상기 복수의 데이터 셀을 상기 제1 프로그램으로 인가하는 동안 SPO가 있었는지 검출하는 비휘발성 메모리 장치.
  5. 제 1항에 있어서,
    상기 SPO 검출기는 상기 복수의 데이터 셀에 상기 검출 프로그램과 다른 제1 프로그램을 인가하는 비휘발성 메모리 장치.
  6. 제 5항에 있어서,
    상기 SPO 검출기는,
    상기 복수의 모니터링 셀을 검출 전압으로 리드하여, 상기 복수의 데이터 셀을 상기 제1 프로그램을 인가하는 동안 SPO 여부를 검출하는 비휘발성 메모리 장치.
  7. 제 6항에 있어서,
    상기 검출 전압은, 상기 검출 프로그램과 무관한 디스터번스(disturbance)에 의해 상기 복수의 모니터링 셀이 가질 수 있는 최대 문턱 전압(threshold voltage)보다 큰 비휘발성 메모리 장치.
  8. 제 7항에 있어서,
    상기 SPO 검출기는,
    상기 복수의 모니터링 셀을 상기 검출 전압으로 리드한 결과, 적어도 하나의 모니터링 셀이 소거(erase) 상태라면, 상기 복수의 모니터링 셀이 연결된 제1 워드 라인에 SPO가 검출된 것으로 판단하는 비휘발성 메모리 장치.
  9. 제1 워드 라인을 포함하는 복수의 워드 라인과, 상기 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하되, 상기 복수의 메모리 셀은 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀과 복수의 모니터링 셀을 포함하는 비휘발성 메모리; 및
    상기 비휘발성 메모리를 제어하는 컨트롤러를 포함하되,
    상기 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고,
    상기 SPO 검출기는 상기 복수의 모니터링 셀에 검출 프로그램을 인가하는 비휘발성 메모리 장치.
  10. 제1 워드 라인을 포함하는 복수의 워드 라인과, 상기 제1 워드 라인에 연결된 복수의 메모리 셀을 포함하는 비휘발성 메모리; 및
    상기 복수의 메모리 셀 중 N(여기서, N은 자연수) 비트 데이터를 저장할 수 있는 복수의 데이터 셀에 제1 프로그램을 인가하는 컨트롤러를 포함하되,
    상기 컨트롤러는 SPO(Sudden Power Off) 검출기를 포함하고,
    상기 SPO 검출기는 상기 복수의 메모리 셀 중 상기 N 개의 데이터 셀을 제외한 나머지를 복수의 모니터링 셀로 정의하여, 상기 복수의 모니터링 셀에 상기 제1 프로그램과 다른 검출 프로그램을 인가하는 비휘발성 메모리 장치.












KR1020190070018A 2019-06-13 2019-06-13 비휘발성 메모리 장치 및 그 프로그램 방법 KR102632690B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190070018A KR102632690B1 (ko) 2019-06-13 2019-06-13 비휘발성 메모리 장치 및 그 프로그램 방법
US16/746,413 US11127456B2 (en) 2019-06-13 2020-01-17 Nonvolatile memory device and method of programing with capability of detecting sudden power off
CN202010528328.6A CN112086111A (zh) 2019-06-13 2020-06-11 非易失性存储器设备及其编程方法
US17/408,414 US11699485B2 (en) 2019-06-13 2021-08-21 Nonvolatile memory device and method of programing with capability of detecting sudden power off

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190070018A KR102632690B1 (ko) 2019-06-13 2019-06-13 비휘발성 메모리 장치 및 그 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20200142761A true KR20200142761A (ko) 2020-12-23
KR102632690B1 KR102632690B1 (ko) 2024-02-01

Family

ID=73734970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190070018A KR102632690B1 (ko) 2019-06-13 2019-06-13 비휘발성 메모리 장치 및 그 프로그램 방법

Country Status (3)

Country Link
US (2) US11127456B2 (ko)
KR (1) KR102632690B1 (ko)
CN (1) CN112086111A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681464B2 (en) * 2020-06-08 2023-06-20 Western Digital Technologies, Inc. Predicting host access rates for variable bit rate data streams using a data storage controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050069925A (ko) * 2002-10-02 2005-07-05 마쯔시다덴기산교 가부시키가이샤 비휘발성 기억장치의 제어방법
US20090164710A1 (en) * 2007-12-20 2009-06-25 Samsung Electronics Co., Ltd. Semiconductor memory system and access method thereof
KR20130056072A (ko) * 2011-11-21 2013-05-29 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1883113B1 (en) * 2006-07-27 2010-03-10 STMicroelectronics S.r.l. Phase change memory device
KR101979392B1 (ko) 2012-05-17 2019-05-16 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9728278B2 (en) 2014-10-24 2017-08-08 Micron Technology, Inc. Threshold voltage margin analysis
TWI569144B (zh) 2015-02-02 2017-02-01 慧榮科技股份有限公司 資料儲存裝置及其斷電事件判斷方法
CN106095699B (zh) 2015-03-20 2020-12-01 爱思开海力士有限公司 用于快闪存储器的可扩展spor算法
KR20180041428A (ko) 2016-10-14 2018-04-24 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그의 동작 방법
US9921898B1 (en) 2016-12-27 2018-03-20 Micron Technology, Inc. Identifying asynchronous power loss
KR20180076605A (ko) 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180111157A (ko) 2017-03-31 2018-10-11 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법
KR102441551B1 (ko) * 2018-01-30 2022-09-08 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
KR20190100782A (ko) * 2018-02-21 2019-08-29 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR102617411B1 (ko) * 2018-08-31 2023-12-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11348643B2 (en) * 2020-02-25 2022-05-31 Apple Inc. Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050069925A (ko) * 2002-10-02 2005-07-05 마쯔시다덴기산교 가부시키가이샤 비휘발성 기억장치의 제어방법
US20090164710A1 (en) * 2007-12-20 2009-06-25 Samsung Electronics Co., Ltd. Semiconductor memory system and access method thereof
KR20130056072A (ko) * 2011-11-21 2013-05-29 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법

Also Published As

Publication number Publication date
KR102632690B1 (ko) 2024-02-01
CN112086111A (zh) 2020-12-15
US11699485B2 (en) 2023-07-11
US20200395066A1 (en) 2020-12-17
US11127456B2 (en) 2021-09-21
US20210383863A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
KR102564563B1 (ko) 메모리 시스템 및 그 동작 방법
US11604695B2 (en) Copy-back operations in a memory device
KR20200084201A (ko) 컨트롤러 및 컨트롤러의 동작방법
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US20160124805A1 (en) Nonvolatile memory system and data recovery method thereof
KR20200018060A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20160075174A (ko) 메모리 시스템 및 그 동작방법
KR102513505B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치의 동작 방법
KR20200025820A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20210129928A (ko) 메모리 장치 및 메모리 장치의 동작방법
KR20220008058A (ko) 컨트롤러 및 컨트롤러의 동작방법
KR20180111157A (ko) 컨트롤러 및 컨트롤러의 동작 방법
KR20200001310A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102340094B1 (ko) 메모리 시스템 및 그의 동작 방법
KR20220032268A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US11699485B2 (en) Nonvolatile memory device and method of programing with capability of detecting sudden power off
US10769061B2 (en) Memory system with read reclaim during safety period
KR20190068197A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US9323594B2 (en) Semiconductor device and method of operating the same
KR20210152706A (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
CN111883198A (zh) 存储器控制器及其操作方法
CN111798913A (zh) 存储器系统、存储器控制器及其操作方法
KR20200113387A (ko) 메모리 시스템 및 그것의 동작방법
US9824778B2 (en) Nonvolatile memory system and data recovery method thereof
US11508448B2 (en) Memory system including memory device and operating method thereof

Legal Events

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