KR102351649B1 - 저장 장치 및 그것의 동작 방법 - Google Patents

저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102351649B1
KR102351649B1 KR1020170070862A KR20170070862A KR102351649B1 KR 102351649 B1 KR102351649 B1 KR 102351649B1 KR 1020170070862 A KR1020170070862 A KR 1020170070862A KR 20170070862 A KR20170070862 A KR 20170070862A KR 102351649 B1 KR102351649 B1 KR 102351649B1
Authority
KR
South Korea
Prior art keywords
memory block
storage device
memory
erase
open
Prior art date
Application number
KR1020170070862A
Other languages
English (en)
Other versions
KR20180133982A (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 KR1020170070862A priority Critical patent/KR102351649B1/ko
Priority to US15/844,197 priority patent/US10706938B2/en
Priority to CN201810443660.5A priority patent/CN109003641B/zh
Publication of KR20180133982A publication Critical patent/KR20180133982A/ko
Application granted granted Critical
Publication of KR102351649B1 publication Critical patent/KR102351649B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • 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
    • G11C5/144Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
    • 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
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory

Landscapes

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

Abstract

본 발명은 반도체 메모리에 관한 것으로, 좀 더 상세하게는 저장 장치 및 저장 장치의 동작 방법에 관한 것이다. 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법은 파워 온 모드로 들어가는 단계, 불휘발성 메모리 장치에 포함된 메모리 블록들 중 적어도 하나의 소거 워드 라인을 포함하는 열린 메모리 블록을 검색하는 단계, 열린 메모리 블록에 포함된 소거 워드 라인의 개수가 미리 정해진 숫자 이하인 경우 적어도 하나의 소거 워드 라인에 하나의 프로그램 전압을 인가하여 열린 메모리 블록을 닫는 단계, 그리고 정상 동작 모드로 들어가는 단계를 포함하고, 프로그램 전압이 인가된 소거 워드 라인에 포함된 메모리 셀들은 소거 상태의 문턱 전압 산포 범위보다 높은 문턱 전압 산포 범위를 갖도록 프로그램 된다. 본 발명의 실시 예에 따르면, 불휘발성 메모리 셀들이 소거 상태로 방치되어 발생되는 메모리 셀들의 열화를 방지할 수 있다. 따라서, 불휘발성 메모리 장치의 신뢰성을 개선시킬 수 있다.

Description

저장 장치 및 그것의 동작 방법{STORAGE DEVICE AND OPERATION METHOD THEREOF}
본 발명은 반도체 메모리에 관한 것으로, 좀 더 상세하게는 저장 장치 및 그것의 동작 방법에 관한 것이다.
저장 장치는 컴퓨터, 스마트폰, 스마트 패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 저장 장치는 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
반도체 메모리는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등과 같이 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 휘발성 메모리 장치 및 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같이 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 불휘발성 메모리 장치로 구분된다.
반도체 제조 기술이 발전되면서, 저장 장치의 고집적화 및 그에 따른 대용량화가 지속적으로 진행되고 있다. 저장 장치의 고집적화는 저장 장치의 생산 비용을 감소시킨다는 장점을 갖는다. 그러나, 저장 장치의 고집적화로 인해 저장 장치의 스케일이 감소되면서, 기존에 발견되지 않은 다양한 문제들이 발견되고 있다. 새롭게 발견되고 있는 다양한 문제들은 저장 장치에 저장된 데이터를 손상시킬 수 있으며, 이로 인하여 저장 장치의 신뢰성이 저하될 수 있다.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명의 목적은 향상된 신뢰성을 갖는 저장 장치 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 파워 온 모드로 들어가는 단계, 상기 불휘발성 메모리 장치에 포함된 메모리 블록들 중 적어도 하나의 소거 워드 라인을 포함하는 열린 메모리 블록을 검색하는 단계, 상기 열린 메모리 블록에 포함된 상기 소거 워드 라인의 개수가 미리 정해진 숫자 이하인 경우 상기 적어도 하나의 소거 워드 라인에 하나의 프로그램 전압을 인가하여 상기 열린 메모리 블록을 닫는 단계; 그리고 정상 동작 모드로 들어가는 단계를 포함하고, 상기 프로그램 전압이 인가된 소거 워드 라인에 포함된 메모리 셀들은 소거 상태의 문턱 전압 산포 범위보다 높은 문턱 전압 산포 범위를 갖도록 프로그램 된다.
본 발명의 실시 예에 따른 저장 장치는, 불휘발성 메모리 장치, 그리고 상기 불휘발성 메모리 장치에 프로그램 명령을 전송하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 파워 온 모드에서 적어도 하나의 소거 워드 라인이 포함된 열린 메모리 블록을 포함하는 상기 불휘발성 메모리 장치에 상기 프로그램 명령을 전송하고, 상기 불휘발성 메모리 장치는 상기 프로그램 명령에 응답하여 상기 열린 메모리 블록에 포함된 상기 적어도 하나의 소거 워드 라인을 프로그램 하여 상기 열린 메모리 블록을 닫는다.
또한, 본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 파워 오프 모드로 들어가는 단계, 상기 불휘발성 메모리 장치에 포함된 메모리 블록 중 적어도 하나의 소거 워드 라인을 포함하는 열린 메모리 블록을 검색하는 단계, 상기 파워 오프 모드에서 상기 열린 메모리 블록에 포함된 상기 소거 워드 라인의 개수가 미리 정해진 제1 숫자 이하인 경우 상기 열린 메모리 블록에 포함된 상기 적어도 하나의 소거 워드 라인을 프로그램 하여 상기 열린 메모리 블록을 닫는 단계, 그리고 상기 저장 장치의 전원이 차단되는 단계를 포함한다.
본 발명의 실시 예에 따르면, 불휘발성 메모리 셀들이 소거 상태로 방치되어 발생되는 메모리 셀들의 열화를 방지할 수 있다. 따라서, 불휘발성 메모리 장치의 신뢰성을 개선시킬 수 있는 저장 장치 및 그것의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 보여주는 블록도이다.
도 2는 도 1의 저장 장치의 소프트웨어 동작을 포함하는 소프트웨어 계층을 예시적으로 보여주는 블록도이다.
도 3은 도 1의 메모리 컨트롤러를 상세하게 보여주는 블록도이다.
도 4는 도 1의 불휘발성 메모리 장치를 상세하게 보여주는 블록도이다.
도 5는 본 발명의 실시 예에 따른 메모리 블록을 보여주는 회로도이다.
도 6은 도 5의 불휘발성 메모리 장치의 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 메모리 블록 중 열린 메모리 블록을 설명하기 위한 도면이다.
도 8은 도 7의 열린 메모리 블록을 닫는 예를 보여주는 도면이다.
도 9는 본 발명에 따른 더미 프로그램 동작에 대한 제1 실시 예를 보여주는 순서도이다.
도 10은 본 발명의 실시 예에 따른 더미 프로그램 동작을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예에 따라 열린 메모리 블록을 닫는 동작을 보여주는 도면이다.
도 12는 본 발명에 따른 더미 프로그램 동작에 대한 제2 실시 예를 보여주는 순서도이다.
도 13은 본 발명에 따른 더미 프로그램 동작에 대한 제3 실시 예를 보여주는 순서도이다.
도 14는 도 13의 동작 방법에 따라 저장 장치가 더미 프로그램을 수행하는 예를 보여주는 도면이다.
도 15는 본 발명에 따른 더미 프로그램 동작에 대한 제4 실시 예를 보여주는 순서도이다.
도 16은 본 발명에 따른 더미 프로그램 동작에 대한 제5 실시 예를 보여주는 순서도이다.
도 17은 본 발명이 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 보여주는 블록도이다. 도 1을 참조하면, 저장 장치(100)는 메모리 컨트롤러(110) 및 불휘발성 메모리 장치(120)를 포함한다. 예시적으로, 저장 장치(100)는 솔리드 스테이트 드라이브(SSD), UBS 메모리, 하드 디스크, USB 스틱 등과 같은 대용량 저장 매체일 수 있다.
메모리 컨트롤러(110)는 호스트(Host)로부터의 요청에 응답하여 데이터를 교환할 수 있다. 메모리 컨트롤러(110)는 호스트로부터의 요청에 응답하여 불휘발성 메모리 장치(120)로부터 데이터(DATA)를 읽고, 읽은 데이터(DATA)를 호스트로 제공할 수 있다. 또한, 메모리 컨트롤러(110)는 호스트로부터의 요청에 응답하여 호스트로부터 수신된 데이터(DATA)를 불휘발성 메모리 장치(120)에 프로그램 할 수 있다.
메모리 컨트롤러(110)는 상술된 동작을 수행하기 위하여 어드레스(ADDR), 커맨드(CDM), 및 제어 신호(CTRL)를 불휘발성 메모리 장치(120)로 제공할 수 있고, 불휘발성 메모리 장치(120)와 데이터(DATA)를 주고 받을 수 있다.
불휘발성 메모리 장치(120)는 메모리 컨트롤러(110)로부터 수신된 신호들에 응답하여 데이터(DATA)를 출력하거나 또는 수신된 데이터(DATA)를 프로그램 할 수 있다. 예시적으로, 불휘발성 메모리 장치(120)는 낸드 플래시 메모리를 포함할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 불휘발성 메모리 장치(120)는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등과 같은 휘발성 메모리 또는 ROM (Read only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
메모리 컨트롤러(110)는 커맨드(CDM)로서 프로그램 커맨드, 읽기 커맨드, 소거 커맨드, 또는 더미(dummy) 프로그램 커맨드를 불휘발성 메모리 장치(120)로 전송할 수 있다. 메모리 컨트롤러(110)는 프로그램 커맨드를 통해 불휘발성 메모리 장치(120)의 워드 라인 단위의 프로그램을 요청할 수 있다. 메모리 컨트롤러(110)는 읽기 커맨드를 통해 불휘발성 메모리 장치(120)의 워드 라인 단위의 읽기를 요청할 수 있다. 메모리 컨트롤러(110)는 소거 커맨드를 통해 불휘발성 메모리 장치(120)의 메모리 블록 또는 서브 블록 단위의 소거를 요청할 수 있다. 메모리 컨트롤러(110)는 더미 프로그램 커맨드를 통해 불휘발성 메모리 장치(120)의 메모리 블록 중 열린 메모리 블록(open memory block)을 닫을(close) 수 있다. 더미 프로그램 커맨드는 프로그램 커맨드에 포함될 수 있다. 예시적으로, 메모리 컨트롤러(110)는 저장 장치(100)의 파워 온(power-on) 또는 파워 오프(power-off)를 감지하여 열린 메모리 블록을 닫을 수 있다.
열린 메모리 블록은 프로그램 된 메모리 셀들과 연결된 워드 라인(이하, 프로그램 워드 라인으로 명명함)과 소거 상태의 메모리 셀들과 연결된 워드 라인(이하, 소거 워드 라인으로 명명함)을 포함하는 메모리 블록일 수 있다. 예시적으로, 열린 메모리 블록은 프로그램 상태의 메모리 셀과 소거 상태의 메모리 셀을 포함할 수 있다. 프로그램 상태의 메모리 셀은 프로그램 워드 라인에 포함될 수 있고, 소거 상태의 메모리 셀은 소거 워드 라인에 포함될 수 있다. 메모리 컨트롤러(110)가 프로그램 커맨드를 통해 워드 라인을 프로그램 하는 것은 워드 라인에 연결된 적어도 하나 이상의 메모리 셀 또는 워드 라인에 포함된 적어도 하나 이상의 메모리 셀을 프로그램 하는 하는 것을 의미할 수 있다. 메모리 컨트롤러(110)는 더미 프로그램 커맨드를 통해 열린 메모리 블록의 모든 소거 워드 라인을 프로그램 하여 열린 메모리 블록을 닫을 수 있다. 따라서, 열린 메모리 블록의 워드 라인과 연결된 모든 메모리 셀이 프로그램 상태가 되어 열린 메모리 블록은 닫힌 메모리 블록(closed memory block)이 될 수 있다.
예시적으로, 닫힌 메모리 블록은 프로그램 된 메모리 셀들과 연결된 워드 라인만 포함하는 메모리 블록일 수 있다. 닫힌 메모리 블록의 메모리 셀은 프로그램 상태로서, 특정 데이터를 저장할 수 있다. 또한, 닫힌 메모리 블록의 메모리 셀은 프로그램 상태로서, 특정 데이터를 저장하지 않을 수 있다.
더미 프로그램은 메모리 셀의 문턱 전압 산포를 변화시키는 프로그램일 수 있다. 예를 들어, 더미 프로그램 된 메모리 셀은 저장 장치(100) 또는 불휘발성 메모리 장치(120)에 미리 저장된 프로그램 전압 값에 의해 프로그램 되어 문턱 전압 산포가 달라질 수 있다. 더미 프로그램은 메모리 셀의 문턱 전압 산포를 변화시키기 위한 프로그램 전압을 인가하는 동작으로, 메모리 셀에는 특정 데이터가 저장될 수도 있고, 저장되지 않을 수도 있다. 따라서, 더미 프로그램은 프로그램 커맨드에 의해 수행되는 일반적인 프로그램 동작에 의해 수행될 수 있다. 더미 프로그램 커맨드 및 더미 프로그램 커맨드와 연관된 더미 프로그램 동작은 첨부된 도면들을 참조하여 더 상세하게 후술된다.
도 2는 도 1의 저장 장치의 소프트웨어 동작을 포함하는 소프트웨어 계층을 예시적으로 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 호스트 및 저장 장치(100)를 포함하는 사용자 장치(미도시)의 소프트웨어 계층은 애플리케이션(201), 파일 시스템(202), 및 플래시 변환 계층(111, FTL; Flash Translation Layer)을 포함할 수 있다.
애플리케이션(201)은 사용자 장치 또는 호스트 상에서 구동되는 다양한 응용 프로그램들을 포함할 수 있다. 파일 시스템(202)은 애플리케이션(101)에 의해 사용되는 파일 또는 데이터를 조직화할 수 있다. 예를 들어, 파일 시스템(202)은 저장 장치(100)의 저장 공간을 논리 어드레스(logical address)로 관리하고, 저장 장치(100)에 저장될 데이터 또는 저장된 데이터에 대하여 논리 어드레스를 부여하고, 이를 관리할 수 있다. 예시적으로, 파일 시스템(202)은 사용자 장치 또는 호스트의 운영 체제(OS; Operating System)에 따라 다른 형태를 가질 수 있다. 예를 들어, 파일 시스템(202)은 FAT(File Allocation Table), FAT32, NTFS(NT File System), HFS(Hierarchical File System), JSF2(Journaled File System2), XFS, ODS-5(On-Disk Structure-5), UDF, ZFS, UFS(Unix File System), ext2, ext3, ext4, ReiserFS, Reiser4, ISO 9660, Gnome VFS, BFS, 또는 WinFS 등을 포함할 수 있다. 애플리케이션(201) 및 파일 시스템(202)은 호스트 상에서 구동되는 소프트웨어 계층일 수 있다.
FTL(111)은 불휘발성 메모리 장치(120)가 효율적으로 사용될 수 있도록 호스트 및 불휘발성 메모리 장치(120) 사이에서 다양한 유지 관리 동작을 수행할 수 있다. 예를 들어, FTL(111)은 논리 어드레스 및 물리 어드레스(physical address) 사이의 변환 동작을 수행할 수 있다. 논리 어드레스는 파일 시스템(202)에 의해 관리되는 정보이고, 물리 어드레스는 불휘발성 메모리 장치(120)에서 데이터가 저장되는 물리적 위치를 가리키는 정보이다. FTL(111)은 매핑 테이블(미도시)을 통해 어드레스 변환 동작을 관리할 수 있다.
예시적으로, FTL(111)은 데이터가 저장된 물리 어드레스 또는 매핑 테이블을 이용하여 불휘발성 메모리 장치(120)의 메모리 블록 중 열린 메모리 블록을 찾을 수 있다. FTL(111)은 물리 어드레스 또는 매핑 테이블을 이용하여 불휘발성 메모리 장치(120)의 워드 라인들 중 프로그램 워드 라인들을 탐색할 수 있고, 이로부터 열린 메모리 블록을 찾을 수 있다. 저장 장치(100)는 FTL(111)을 통해 찾아진 열린 메모리 블록을 더미 프로그램 하여 닫을 수 있다.
예시적으로, FTL(111)은 저장 장치(100)의 동작 상태에 따라 열린 메모리 블록을 검색하고, 더미 프로그램 하여 열린 메모리 블록을 닫을 수 있다. 예를 들어, FTL(111)은 저장 장치(100)가 파워 온 상태가 되면 열린 메모리 블록을 검색하고, 더미 프로그램 하여 열린 메모리 블록을 닫을 수 있다. 또한, FTL(111)은 저장 장치(100)가 파워 오프 상태가 되면 열린 메모리 블록을 검색하고, 더미 프로그램 하여 열린 메모리 블록을 닫을 수 있다.
도 3은 도 1의 메모리 컨트롤러를 상세하게 보여주는 블록도이다. 간결한 설명을 위하여, 메모리 컨트롤러(110)의 일부 구성 요소들이 도 3에 도시된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 메모리 컨트롤러(110)는 에러 정정 코드(ECC; Error Correction Code) 회로 등과 같은 다른 구성 요소들을 더 포함할 수 있다.
도 1 및 도 3을 참조하면, 메모리 컨트롤러(110)는 버스(112), 프로세서(113), RAM(114), ROM(115), 호스트 인터페이스(116), 그리고 플래시 인터페이스(117)를 포함한다.
버스(112)는 메모리 컨트롤러(110)의 구성 요소들 사이에 채널을 제공하도록 구성된다. 프로세서(113)는 메모리 컨트롤러(110)의 제반 동작을 제어할 수 있다. RAM(114)은 메모리 컨트롤러(110)의 버퍼 메모리, 캐시 메모리, 또는 동작 메모리로써 사용될 수 있다. RAM(114)은 프로세서(113)가 실행하는 코드들 및 명령들을 저장할 수 있다. RAM(114)은 프로세서(113)에 의해 처리되는 데이터를 저장할 수 있다. RAM(114)은 SRAM(Static RAM)을 포함할 수 있다.
ROM(115)은 메모리 컨트롤러(110)가 동작하는데 요구되는 다양한 정보를 펌웨어 형태로 저장할 수 있다. 예시적으로, 도 2의 FTL(111)은 소프트웨어 형태로 제공되며, ROM(115) 또는 RAM(114)에 저장될 수 있다. ROM(115) 또는 RAM(114)에 저장된 FTL(111)은 프로세서(113)에 의해 구동될 수 있다.
메모리 컨트롤러(110)는 호스트 인터페이스(116)를 통해 호스트와 통신할 수 있다. 메모리 컨트롤러(110)는 플래시 인터페이스(117)를 통해 불휘발성 메모리 장치(120)와 통신할 수 있다. 예시적으로, 메모리 컨트롤러(110)는 플래시 인터페이스(117)를 통해 불휘발성 메모리 장치(120)에 더미 프로그램 커맨드를 전송할 수 있다.
도 4는 도 1의 불휘발성 메모리 장치를 상세하게 보여주는 블록도이다. 도 4를 참조하면, 불휘발성 메모리 장치(120)는 메모리 셀 어레이(121), 어드레스 디코더 회로(122), 페이지 버퍼 회로(123), 데이터 입출력 회로(124), 그리고 제어 로직 회로(125)를 포함한다.
메모리 셀 어레이(121)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WL), 그리고 적어도 하나의 스트링 선택 라인(SSL)을 통해 어드레스 디코더 회로(122)에 연결될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(123)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)은 복수의 비트 라인들(BL)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)의 메모리 셀들은 동일한 구조들을 가질 수 있다. 예시적으로, 복수의 메모리 블록들(BLK1~BLKz) 각각은 소거 동작의 단위일 수 있다. 메모리 셀 어레이(121)의 메모리 셀들은 하나의 메모리 블록의 단위로 소거될 수 있다. 하나의 메모리 블록에 속한 메모리 셀들은 동시에 소거될 수 있다. 다른 예로서, 각 메모리 블록은 복수의 서브 블록들로 분할될 수 있다. 복수의 서브 블록들 각각은 소거 동작의 단위일 수 있다.
어드레스 디코더 회로(122)는 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 복수의 스트링 선택 라인들(SSL)을 통해 메모리 셀 어레이(121)에 연결된다. 어드레스 디코더 회로(122)는 제어 로직 회로(125)의 제어에 따라 동작한다. 어드레스 디코더 회로(122)는 메모리 컨트롤러(110)로부터 어드레스(ADDR)를 수신할 수 있다. 어드레스 디코더 회로(122)는 수신된 어드레스를 디코딩 하고, 디코딩된 어드레스에 따라 워드 라인들(WL)에 인가되는 전압들을 제어할 수 있다.
예를 들어, 프로그램 시에, 어드레스 디코더 회로(122)는 어드레스(ADDR)와 대응되는 선택된 메모리 블록의 선택된 워드 라인에 프로그램 전압(Vpgm)을 인가하고, 선택된 메모리 블록의 비선택된 워드 라인들에 패스 전압(Vpass)을 인가할 수 있다. 어드레스 디코더 회로(122)는 선택된 워드 라인에 검증 전압(Vvfy)을 인가할 수 있다. 더미 프로그램 시에, 어드레스 디코더 회로(122)는 어드레스(ADDR)가 가리키는 선택된 메모리 블록의 선택된 워드 라인에 프로그램 전압(Vpgm)을 인가할 수 있다. 읽기 시에, 어드레스 디코더 회로(122)는 어드레스(ADDR)가 가리키는 선택된 메모리 블록의 선택된 워드 라인에 선택 읽기 전압(Vrd)을 인가하고, 선택된 메모리 블록의 비선택된 워드 라인들에 비선택 읽기 전압(Vread)을 인가할 수 있다. 소거 시에, 어드레스 디코더 회로(122)는 어드레스(ADDR)가 가리키는 선택된 메모리 블록의 워드 라인들에 소거 전압(예를 들어, 접지 전압)을 인가할 수 있다.
페이지 버퍼 회로(123)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(121)에 연결된다. 페이지 버퍼 회로(123)는 복수의 데이터 라인들(DL)을 통해 데이터 입출력 회로(124)와 연결된다. 페이지 버퍼 회로(123)는 제어 로직 회로(125)의 제어에 따라 동작한다.
페이지 버퍼 회로(123)는 메모리 셀 어레이(121)의 메모리 셀들에 프로그램 될 데이터 또는 메모리 셀들로부터 읽은 데이터를 저장할 수 있다. 프로그램 시에, 페이지 버퍼 회로(123)는 메모리 셀들에 프로그램 될 데이터를 저장할 수 있다. 데이터 입출력 회로(124)는 복수의 데이터 라인들(DL)을 통해 페이지 버퍼 회로(123)와 연결된다. 데이터 입출력 회로(124)는 메모리 컨트롤러(110)와 데이터(DATA)를 교환할 수 있다.
데이터 입출력 회로(124)는 메모리 컨트롤러(110)로부터 수신되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(124)는 저장된 데이터를 페이지 버퍼 회로(123)로 전달할 수 있다. 데이터 입출력 회로(124)는 페이지 버퍼 회로(123)로부터 전달되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(124)는 저장된 데이터(DATA)를 메모리 컨트롤러(110)로 전송할 수 있다. 데이터 입출력 회로(124)는 버퍼 메모리로 기능할 수 있다.
제어 로직 회로(125)는 메모리 컨트롤러(110)로부터 커맨드(CMD) 및 제어 신호(CTRL)를 수신한다. 제어 로직 회로(125)는 수신된 커맨드(CMD)를 디코딩 하고, 디코딩된 커맨드에 따라 불휘발성 메모리 장치(120)의 제반 동작을 제어할 수 있다.
제어 로직 회로(125)는 커맨드(CMD)로서 더미 프로그램 커맨드가 수신되면, 더미 프로그램 동작을 수행하도록 어드레스 디코더 회로(122) 및 페이지 버퍼 회로(123)를 제어할 수 있다. 예를 들어, 제어 로직 회로(125)는 비트 라인들(BL)이 바이어스 되도록 페이지 버퍼 회로(123)를 제어할 수 있다. 제어 로직 회로(125)는 비트 라인들(BL)이 접지 전압으로 바이어스 되도록 페이지 버퍼 회로(123)를 제어할 수 있다. 제어 로직 회로(125)는 어드레스(ADDR)에 대응하는 한 개 이상의 워드 라인들에 동시에 프로그램 전압이 인가되도록, 어드레스 디코더 회로(122)를 제어할 수 있다. 예를 들어, 제어 로직 회로(125)는 어드레스(ADDR)에 대응하는 워드 라인들의 위치에 따라 한 개 이상의 워드 라인들에 동시에 프로그램 전압이 인가되도록, 어드레스 디코더 회로(122)를 제어할 수 있다.
도 5는 본 발명의 실시 예에 따른 메모리 블록을 보여주는 회로도이다. 도 5를 참조하면, 메모리 블록(BLK1)은 복수의 셀 스트링들(CS11~CS21, CS12~CS22)을 포함한다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)은 행 방향(row direction) 및 열 방향(column direction)을 따라 배열되어, 행들 및 열들을 형성할 수 있다.
예를 들어, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS11, CS12)은 제1 행을 형성하고, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS21, CS22)은 제2 행을 형성할 수 있다. 열 방향(column direction)을 따라 배열된 셀 스트링들(C11, C21)은 제1 열을 형성하고, 열 방향(column direction)을 따라 배열된 셀 스트링들(CS12, CS22)은 제2 열을 형성할 수 있다.
각 셀 스트링은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들은 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)을 포함한다. 각 셀 스트링의 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)은 셀 스트링들(CS11~CS21, CS12~CS22)이 행들 및 열들을 따라 배열되는 평면(예를 들어, 메모리 블록(BLK1)의 기판 상의 평면)과 수직한 높이 방향으로 적층될 수 있다.
복수의 셀 트랜지스터들은 절연막에 포획된 전하량에 따라 가변하는 문턱 전압들을 갖는 전하 포획형(charge trap type) 트랜지스터들일 수 있다.
최하단의 접지 선택 트랜지스터들(GSTa)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.
예시적으로, 동일한 높이(또는 순서)의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 높이(또는 순서)를 갖는 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 높이의 접지 선택 트랜지스터들(GSTa)은 제1 접지 선택 라인에 공통으로 연결되고, 제2 높이의 접지 선택 트랜지스터들(GSTb)은 제2 접지 선택 라인에 공통으로 연결될 수 있다.
예시적으로, 동일한 행의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 행의 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제1 접지 선택 라인에 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제2 접지 선택 라인에 연결될 수 있다.
기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이(또는 순서)에 위치한 메모리 셀들은 하나의 워드 라인에 공통으로 연결되고, 서로 다른 높이(또는 순서)에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 예를 들어, 메모리 셀들(MC1)은 워드 라인(WL1)에 공통으로 연결된다. 메모리 셀들(MC2)은 워드 라인(WL2)에 공통으로 연결된다. 메모리 셀들(MC3)은 워드 라인(WL3)에 공통으로 연결된다. 메모리 셀들(MC4)은 워드 라인(WL4)에 공통으로 연결된다. 메모리 셀들(MC5)은 워드 라인(WL5)에 공통으로 연결된다. 메모리 셀들(MC6)은 워드 라인(WL6)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제1 스트링 선택 트랜지스터들(SSTa)에서, 서로 다른 행의 제1 스트링 선택 트랜지스터들(SSTa)은 서로 다른 스트링 선택 라인들(SSL1a, SSL2a)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL2a)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제2 스트링 선택 트랜지스터들(SSTb)에서, 서로 다른 행의 제2 스트링 선택 트랜지스터들(SSTb)은 서로 다른 스트링 선택 라인들(SSL1b, SSL2b)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)에 공통으로 연결된다.
즉, 서로 다른 행의 셀 스트링들은 서로 다른 스트링 선택 라인들에 연결된다. 동일한 행의 셀 스트링들의 동일한 높이(또는 순서)의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인에 연결된다. 동일한 행의 셀 스트링들의 서로 다른 높이(또는 순서)의 스트링 선택 트랜지스터들은 서로 다른 스트링 선택 라인들에 연결된다.
예시적으로, 동일한 행의 셀 스트링들의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 제2 행의 셀 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 열들은 서로 다른 비트 라인들(BL1, BL2)에 각각 연결된다. 예를 들어, 제1 열의 셀 스트링들(CS11, CS21)의 스트링 선택 트랜지스터들(SSTb)은 비트 라인(BL1)에 공통으로 연결된다. 제2 열의 셀 스트링들(CS12, CS22)의 스트링 선택 트랜지스터들(SSTb)은 비트 라인(BL2)에 공통으로 연결된다.
셀 스트링들(CS11, CS12)은 제1 플레인을 형성할 수 있다. 셀 스트링들(CS21, CS22)은 제2 플레인을 형성할 수 있다.
메모리 블록(BLK1)에서, 프로그램 및 읽기는 행 단위로 수행될 수 있다. 예를 들어, 스트링 선택 라인들(SSL1a, SSL1b, SSL2a, SSL2b)에 의해 메모리 블록(BLK1)의 하나의 플레인이 선택될 수 있다. 스트링 선택 라인들(SSL1a, SSL1b)에 턴-온 전압이 공급되고 스트링 선택 라인들(SSL2a, SSL2b)에 턴-오프 전압이 공급될 때, 제1 플레인의 셀 스트링들(CS11, CS12)이 비트 라인들(BL1, BL2)에 연결된다. 즉, 제1 플레인이 선택된다. 스트링 선택 라인들(SSL2a, SSL2b)에 턴-온 전압이 공급되고 스트링 선택 라인들(SSL1a, SSL1b)에 턴-오프 전압이 공급될 때, 제2 플레인의 셀 스트링들(CS21, CS22)이 비트 라인들(BL1, BL2)에 연결된다. 즉, 제2 플레인이 선택된다. 선택된 플레인에서, 워드 라인들(WL1~WL6)에 의해 메모리 셀들(MC)의 하나의 행이 선택될 수 있다. 선택된 행에서, 프로그램 또는 읽기가 수행될 수 있다.
메모리 블록(BLK1)에서, 소거는 메모리 블록 단위 또는 서브 블록의 단위로 수행될 수 있다. 메모리 블록 단위로 소거가 수행될 때, 메모리 블록(BLKa)의 모든 메모리 셀들(MC)이 하나의 소거 요청에 따라 동시에 소거될 수 있다. 서브 블록의 단위로 수행될 때, 메모리 블록(BLK1)의 메모리 셀들(MC) 중 일부는 하나의 소거 요청에 따라 동시에 소거되고, 나머지 일부는 소거 금지될 수 있다. 소거되는 메모리 셀들에 연결된 워드 라인에 저전압(예를 들어, 접지 전압)이 공급되고, 소거 금지된 메모리 셀들에 연결된 워드 라인은 플로팅 될 수 있다.
도 5에 도시된 메모리 블록(BLK1)은 예시적인 것이다. 본 발명의 기술적 사상은 도 5에 도시된 메모리 블록(BLK1)에 한정되지 않는다. 예를 들어, 셀 스트링들의 행들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 행들의 수가 변경됨에 따라, 셀 스트링들의 행들에 연결되는 스트링 선택 라인들 또는 접지 선택 라인의 수, 그리고 하나의 비트 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 열들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 열들의 수가 변경됨에 따라, 셀 스트링들의 열들에 연결되는 비트 라인들의 수, 그리고 하나의 스트링 선택 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 높이는 증가 또는 감소될 수 있다. 예를 들어, 셀 스트링들 각각에 적층되는 접지 선택 트랜지스터들, 메모리 셀들 또는 스트링 선택 트랜지스터들의 수는 증가 또는 감소될 수 있다.
도 6은 도 5의 불휘발성 메모리 장치의 동작을 설명하기 위한 도면이다. 도 6의 첫 번째 섹션(1st section)은 적어도 하나의 선택된 워드 라인에 대한 각 프로그램 동작에 따른 메모리 셀들의 문턱 전압 산포도를 보여준다. 도 6의 두 번째 섹션(2nd section)은 프로그램 동작에 따라 적어도 하나의 선택된 워드 라인으로 인가되는 프로그램 전압 및 검증 전압을 보여주는 그래프이다.
도 6의 첫 번째 섹션에서, 가로 축은 메모리 셀들의 문턱 전압을 가리키고, 세로 축은 메모리 셀들의 수를 가리킨다. 예를 들어, 프로그램 커맨드에 따라 프로그램 동작이 수행될 때에, 메모리 셀들은 소거 상태(E)로부터 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7)을 갖도록 프로그램 될 수 있다. 메모리 셀들이 제1 내지 제7 프로그램 상태들(P1~P7)을 갖도록 프로그램 되기 위해서, 선택된 워드라인으로 순차적으로 증가되는 프로그램 전압이 인가될 수 있다. 즉, 메모리 셀들에 다양한 크기의 프로그램 전압을 인가하기 위해 복수개의 펄스가 사용될 수 있다. 제1 내지 제7 프로그램 상태들(P1~P7)은 각각 제1 내지 제7 검증 전압들(V1~V7)을 이용하여 검증될 수 있다.
도 6의 두 번째 섹션에서, 가로 축은 시간(T)을 가리키고, 세로 축은 전압(V)을 가리킨다. 도 6의 두 번째 섹션을 참조하면, 적어도 하나의 선택된 워드 라인에 프로그램 전압(Vpgm)이 인가된 후에, 검증 전압(Vvfy)이 인가된다. 도 6의 두 번째 섹션에 도시된 바와 같이, 불휘발성 메모리 장치(120)는 증가형 스텝 펄스 프로그램(ISPP; incremental pulse step programming) 방식을 기반으로 프로그램 동작을 수행할 수 있다. 예를 들어, 프로그램 동작은 복수의 프로그램 루프들을 포함하고, 복수의 프로그램 루프들 각각은 프로그램 전압들(Vpgm1~Vpgm3)을 인가하는 프로그램 단계 및 검증 전압(Vvfy)을 인가하는 검증 단계를 포함할 수 있다. 첫 번째 프로그램 루프에서는 선택된 워드 라인에 제1 프로그램 전압(Vpgm1)이 인가될 수 있고, 두 번째 프로그램 루프에서는 선택된 워드 라인에 첫 번째 프로그램 전압(Vpgm1)보다 증가된 크기(△Vpgm1)의 제2 프로그램 전압(Vpgm2)이 인가될 수 있다. 즉, 불휘발성 메모리 장치(120)는 적어도 하나의 선택된 워드 라인에 프로그램 전압들을 다르게 인가하여 선택된 워드 라인과 연결된 메모리 셀들의 문턱 전압을 다르게 할 수 있다. 검증 전압(Vvfy)은 프로그램 전압(Vpgm)에 따라 다양한 값의 검증 전압을 포함할 수 있다.
도 7은 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 메모리 블록 중 열린 메모리 블록을 설명하기 위한 도면이다. 열린 메모리 블록은 프로그램 된 메모리 셀들과 연결된 워드 라인과 소거 상태의 메모리 셀들과 연결된 워드 라인을 포함한다. 예를 들어 도 7을 참조하면, 메모리 블록(BLK1)은 복수의 워드 라인들(WL1~WL6)을 포함한다. 제1 내지 제3 워드 라인들(WL1~WL3)은 프로그램 워드 라인이고, 제4 내지 제6 워드 라인들(WL4~WL6)은 소거 워드 라인이다. 즉, 도 7의 메모리 블록(BLK1)은 프로그램 워드 라인들(WL1~WL3)과 소거 워드 라인들(WL4~WL6)을 포함하는 열린 메모리 블록이 된다.
열린 메모리 블록은 도 7의 메모리 블록(BLK1)에 한정되는 것은 아니며, 열린 메모리 블록은 적어도 하나 이상의 프로그램 워드 라인과 적어도 하나 이상의 소거 워드 라인을 포함할 수 있다. 따라서, 열린 메모리 블록들은 각각 서로 다른 개수의 소거 워드 라인을 포함할 수 있다. 또한, 열린 메모리 블록의 프로그램 워드 라인 및 소거 워드 라인의 순서는 도 7에 도시된 메모리 블록(BLK1)에 한정되는 것은 아니다.
상술한 바와 같이, 불휘발성 메모리 장치(120)에서 열린 메모리 블록은 존재하지 않을 수도 있다. 열린 메모리 블록이 존재하는 경우, 메모리 셀 어레이(121)는 적어도 한 개 이상의 열린 메모리 블록을 포함할 수 있으며, 각각의 열린 메모리 블록은 서로 다른 개수의 소거 워드 라인을 포함할 수 있다.
도 8은 도 7의 열린 메모리 블록을 닫는 예를 보여주는 도면이다. 도 1 및 도 8을 참조하면, 저장 장치(100)는 더미 프로그램을 수행하여 불휘발성 메모리 장치(120)에 존재하는 열린 메모리 블록을 닫을 수 있다. 예를 들어, 저장 장치(100)는 열린 메모리 블록(BLK1)의 소거 워드 라인들(WL4~WL6)에 대해 더미 프로그램 전압을 인가하여 열린 메모리 블록(BLK1)을 닫을 수 있다. 즉, 소거 워드 라인들(WL4~WL6)과 연결된 소거 상태의 메모리 셀들(MC)은 더미 프로그램 동작에 의해 프로그램 될 수 있다. 더미 프로그램 동작에 의해, 열린 메모리 블록(BLK1)에 포함되는 모든 소거 워드 라인들(WL4~WL6)은 프로그램 워드 라인들(WL4~WL6)로 바뀔 수 있다. 따라서, 더미 프로그램 동작에 의해, 열린 메모리 블록(BLK1)은 닫힌 메모리 블록(BLK2)으로 바뀔 수 있다. 즉, 닫힌 메모리 블록의 워드 라인들은 모두 프로그램 워드라인일 수 있다.
도 9는 본 발명에 따른 더미 프로그램 동작에 대한 제1 실시 예를 보여주는 순서도이다. 간결한 설명을 위하여, 저장 장치(100)를 참조하여 본 발명에 따른 더미 프로그램 동작이 설명된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 더미 프로그램 동작은 별도의 하드웨어 구성 또는 소프트웨어 구성을 통해 수행될 수 있다. 예를 들어, 저장 장치(100)에 포함된 메모리 컨트롤러(110) 또는 불휘발성 메모리 장치(120)에서 더미 프로그램 동작이 수행될 수 있다. 더미 프로그램 동작을 위한 도 9의 각 단계는 메모리 컨트롤러(110) 또는 불휘발성 메모리 장치(120)에서 전부 또는 일부분이 수행될 수 있다
도 1, 도 2, 및 도 9를 참조하면, S110 단계에서, 저장 장치(100)는 파워 온 모드로 들어간다. 파워 온 모드는 저장 장치(100)에 전원 공급이 시작된 상태일 수 있다. 저장 장치(100)가 파워 오프 상태였다가 전원 공급이 시작되어 파워 온 상태가 되는 경우, 저장 장치(100)는 파워 온 모드로 들어갈 수 있다. 예시적으로, 저장 장치(100)는 파워 온 모드에서 펌웨어를 실행할 수 있다.
S120 단계에서, 저장 장치(100)는 열린 메모리 블록을 검색한다. 메모리 컨트롤러(110)는 불휘발성 메모리 장치(120)가 포함하는 메모리 블록 중 적어도 하나 이상의 열린 메모리 블록의 존재 여부를 찾을 수 있다. 메모리 컨트롤러(110)는 열린 메모리 블록의 존재 여부뿐만 아니라 불휘발성 메모리 장치(120)에 포함된 모든 열린 메모리 블록의 위치를 탐색할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 FTL(111)을 통해 열린 메모리 블록의 존재 여부 및 위치를 찾을 수 있다. FTL(111)은 데이터가 저장된 물리 어드레스 정보를 관리하므로, 메모리 컨트롤러(110)는 물리 어드레스 정보를 이용하여 프로그램 워드 라인의 위치 및 개수 등을 탐색할 수 있다. 메모리 컨트롤러(110)는 탐색된 프로그램 워드 라인의 위치 및 개수로부터 메모리 블록 중 열린 메모리 블록의 존재 여부를 결정할 수 있다. 따라서, 메모리 컨트롤러(110)는 열린 메모리 블록의 존재 여부 및 위치를 찾을 수 있다.
S130 단계 내지 S150에서, 불휘발성 메모리 장치(120)에 열린 메모리 블록이 존재하지 않는 경우, 저장 장치(100)는 정상 동작 모드로 들어간다. 불휘발성 메모리 장치(120)에 열린 메모리 블록이 존재하는 경우, 저장 장치(100)는 적어도 하나 이상의 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 열린 메모리 블록을 닫은 후 정상 동작 모드로 들어간다. 정상 동작 모드는 저장 장치(100)가 불휘발성 메모리 장치(120)에 프로그램, 읽기, 및 소거 동작을 수행할 수 있는 상태가 되는 것을 의미할 수 있다. 예를 들어, 저장 장치(100)는 파워 온 모드에서 불휘발성 메모리 장치(120)에 프로그램, 읽기, 및 소거 동작을 수행할 수 있도록 준비 동작을 수행한 후, 정상 동작 모드로 들어갈 수 있다.
S140 단계에서, 저장 장치(100)는 더미 프로그램을 수행하여 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 불휘발성 메모리 장치(120)에 존재하는 하나 이상의 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 열린 메모리 블록들에 대하여 동시에 더미 프로그램을 수행하여 복수의 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 열린 메모리 블록의 하나 이상의 소거 워드 라인에 대하여 더미 프로그램 동작을 수행할 수 있다. 저장 장치(100)는 복수의 소거 워드 라인에 대하여 동시에 더미 프로그램 동작을 수행하여 복수의 소거 워드 라인에 연결된 메모리 셀들(MC)을 프로그램 할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 더미 프로그램 커맨드(CMD)를 불휘발성 메모리 장치(120)에 전송하여 더미 프로그램을 수행할 수 있다. 메모리 컨트롤러(110)는 더미 프로그램 동작이 수행될 소거 워드 라인을 가리키는 어드레스(ADDR)를 전송하여 열린 메모리 블록의 하나 이상의 소거 워드 라인에 대해 프로그램을 수행할 수 있다.
불휘발성 메모리 장치(120)에 열린 메모리 블록이 포함된 상태로 저장 장치(100)에 전원 공급이 중단되는 경우, 열린 메모리 블록의 소거 워드 라인의 메모리 셀들이 소거 상태로 방치될 수 있다. 열린 메모리 블록에서, 소거 워드 라인의 메모리 셀들이 소거 상태로 방치되는 시간이 길어지는 경우, 메모리 셀들이 열화 될 수 있다. 저장 장치(100)는 파워 온 모드에서 열린 메모리 블록을 닫음으로써 열린 메모리 블록의 소거 워드 라인의 메모리 셀들이 오랜 시간 동안 소거 상태로 방치되는 것을 방지할 수 있다. 저장 장치(100)는 전원 공급이 중단되는 동안 소거 상태로 방치된 메모리 셀들에 대해 빠르게 프로그램을 수행하여 열화를 방지할 수 있다. 따라서, 저장 장치(100)의 신뢰성이 향상될 수 있다.
도 10은 본 발명의 실시 예에 따른 더미 프로그램 동작을 설명하기 위한 도면이다. 도 10의 첫 번째 섹션(1st section)은 더미 프로그램 커맨드에 따라 더미 프로그램 동작이 수행될 때의 메모리 셀들의 문턱 전압 산포의 변화를 보여준다. 도 10의 두 번째 섹션(2nd section)은 더미 프로그램 동작에 따라 적어도 하나의 선택된 워드 라인으로 인가되는 프로그램 전압을 보여주는 그래프이다.
도 10의 첫 번째 섹션에서, 가로 축은 메모리 셀들의 문턱 전압을 기리키고, 세로 축을 메모리 셀들의 수를 가리킨다. 예를 들어, 더미 프로그램 커맨드에 따라 프로그램 동작이 수행될 때에, 메모리 셀들은 소거 상태(E)로부터 더미 프로그램 상태(DP)를 갖도록 프로그램 될 수 있다. 더미 프로그램 된 메모리 셀들은 소거 상태(E)를 갖지 않으며, 소거 상태(E)보다 높은 문턱 전압 산포 범위를 갖는 더미 프로그램 상태(DP)를 갖도록 프로그램 될 수 있다. 예시적으로, 더미 프로그램 상태(DP)의 문턱 전압 산포 범위의 하한은 소거 상태(E)의 문턱 전압 산포의 상한과 같거나 그보다 높을 수 있다. 메모리 셀들(MC)이 더미 프로그램 상태(DP)를 갖도록 프로그램 되기 위해서, 메모리 셀들(MC)에 하나의 프로그램 전압이 인가될 수 있다. 즉, 메모리 셀들(MC)에 한 번의 프로그램 전압을 인가하기 위해 하나의 펄스가 사용될 수 있다.
도 10의 두 번째 섹션에서, 가로 축은 시간(T)을 가리키고, 세로 축은 전압(V)을 가리킨다. 도 10의 두 번째 섹션을 참조하면, 더미 프로그램 동작 시에 적어도 하나의 선택된 워드 라인(Selected WL)에 프로그램 전압(Vpgm)이 인가된다. 예시적으로, 메모리 셀들의 제어 게이트들에 연결된 워드 라인에 한 개의 양의 고전압(예를 들어, 프로그램 전압)을 인가하여 메모리 셀들의 더미 프로그램이 완료될 수 있다. 그리고, 더미 프로그램 시에, 메모리 셀들은 검증 없이 프로그램 될 수 있다.
도 6의 프로그램 동작과 비교하면, 도 10의 더미 프로그램 동작은 하나의 프로그램 펄스만을 인가하여 메모리 셀들(MC)을 프로그램 함으로써 프로그램 시간을 단축시킬 수 있다.
도 11은 본 발명의 실시 예에 따라 열린 메모리 블록을 닫는 동작을 보여주는 도면이다. 도 11을 참조하면, 저장 장치(100)는 다양한 방식으로 더미 프로그램 동작을 수행하여 열린 메모리 블록을 닫을 수 있다. 도 11에서 열린 메모리 블록(BLK1)은 제1 내지 제2 프로그램 워드 라인 및 제3 내지 제n 소거 워드 라인을 포함하는 것으로 가정한다. 그러나 본 발명의 실시 예는 이에 한정되는 것은 아니며, 다양한 개수의 프로그램 워드 라인 및 소거 워드 라인을 포함하는 열린 메모리 블록에 적용될 수 있다.
예시적으로, 저장 장치(100)는 열린 메모리 블록(BLK1)의 소거 워드 라인들(WL3~WLn)에 대하여 같은 시간(T1)에 프로그램 전압을 인가할 수 있다. 저장 장치(100)는 동시에 더미 프로그램 동작을 수행하여 열린 메모리 블록(BLK1)을 닫을 수 있다. 저장 장치(100)는 소거 워드 라인들(WL3~WLn)에 대하여 동시에 더미 프로그램 동작을 수행함으로써 프로그램 시간을 단축시킬 수 있다.
예시적으로, 저장 장치(100)는 열린 메모리 블록(BLK2)의 소거 워드 라인들(WL3~WLn) 각각에 대하여 다른 시간에 프로그램 전압을 인가할 수 있다. 저장 장치(100)는 프로그램 워드 라인(WL1, WL2)과 가장 가깝게 위치하는 소거 워드 라인(WL3)부터 순차적으로 더미 프로그램 동작을 수행할 수 있다. 저장 장치(100)는 소거 워드 라인들(WL3~WLn)의 워드 라인에 대해서 서로 다른 시간에 프로그램 동작을 수행하여 열린 메모리 블록(BLK2)을 닫을 수 있다.
예시적으로, 저장 장치(100)는 열린 메모리 블록(BLK3)의 프로그램 워드 라인(WL1, WL2)과 일정 거리에 위치하는 소거 워드 라인들(WL3~WL5)에 대해서는 서로 다른 시간에 더미 프로그램 동작을 수행할 수 있다. 저장 장치(100)는 제1 시간(T1)에 소거 워드 라인(WL3)에 대하여 프로그램 전압을 인가하고, 제2 시간(T2)에 소거 워드 라인(WL4)에 대하여 프로그램 전압을 인가하고, 제3 시간(T3)에 소거 워드 라인(WL5)에 대하여 프로그램 전압을 인가할 수 있다. 저장 장치(100)는 프로그램 워드 라인(WL1, WL2)과 일정 거리 이상 떨어진 소거 워드 라인들(WL6~WLn)에 대해서는 일정 거리에 위치하는 소거 워드 라인들(WL3~WL5)과 다른 시간에 더미 프로그램 동작을 수행할 수 있다. 저장 장치(100)는 제4 시간(T4)에 소거 워드 라인들(WL6~WLn)에 대하여 프로그램 전압을 인가할 수 있다.
예시적으로, 저장 장치(100)는 열린 메모리 블록(BLK4)의 프로그램 워드 라인(WL1, WL2)과 가장 가깝게 위치하는 소거 워드 라인(WL3)에 대해서 제1 시간(T1)에 프로그램 전압을 인가할 수 있다. 저장 장치(100)는 일정 거리에 위치하는 소거 워드 라인들(WL3~WL5) 중 가장 가깝게 위치하는 소거 워드 라인(WL3)을 제외한 나머지 소거 워드 라인들(WL4, WL5)에 대하여 제2 시간(T2)에 프로그램 전압을 인가할 수 있다. 저장 장치(100)는 일정 거리 이상 떨어진 소거 워드 라인들(WL6~WLn)에 대해서는 다른 시간(Tk)에 프로그램 전압을 인가할 수 있다.
본 발명의 실시 예에 따른 저장 장치(100)는 프로그램 워드 라인과 소거 워드 라인 사이의 물리적 거리에 기초하여 소거 워드 라인에 대한 프로그램 동작 수행 시간을 다르게 할 수 있다. 따라서, 저장 장치(100)는 프로그램 워드 라인과 인접한 적어도 하나 이상의 소거 워드 라인에 대해 각각 서로 다른 시간에 더미 프로그램 동작을 수행함으로써 프로그램 워드 라인에 연결된 메모리 셀들에 대한 커플링 노이즈를 감소시킬 수 있다.
본 발명의 실시 예에 따른 저장 장치(100)가 열린 메모리 블록에 대해 더미 프로그램 동작을 수행하는 방법은 도 11에 열거된 방법에 한정되지 않으며, 프로그램 워드 라인과의 거리에 따라 소거 워드 라인에 대한 프로그램 수행 시간을 다르게 하는 방법은 모두 포함될 수 있다.
도 12는 본 발명에 따른 더미 프로그램 동작에 대한 제2 실시 예를 보여주는 순서도이다. 간결한 설명을 위하여, 저장 장치(100)를 참조하여 본 발명에 따른 더미 프로그램 동작이 설명된다. S210 단계에서, 저장 장치(100)는 파워 온 모드로 들어간다. S220 단계에서, 저장 장치(100)는 열린 메모리 블록을 검색한다. S210 및 S220 단계까지의 동작은 도 9의 S110 내지 S130 단계까지의 동작과 유사하므로 자세한 설명은 생략된다. 이하에서는, 도 1 및 도 12를 참조하여 저장 장치(100)가 열린 메모리 블록을 검색한 이후 동작에 대해 자세하게 설명한다.
S230 단계에서, 저장 장치(100)는 적어도 하나 이상의 열린 메모리 블록의 소거 워드 라인들의 개수를 미리 정해진 숫자와 비교한다. 예시적으로, 저장 장치(100)는 불휘발성 메모리 장치(120)에 포함된 적어도 하나 이상의 열린 메모리 블록의 소거 워드 라인들의 개수가 미리 정해진 숫자를 초과하는지 여부를 결정할 수 있다. 저장 장치(100)는 불휘발성 메모리 장치(120)에 포함된 모든 열린 메모리 블록의 소거 워드 라인들의 개수로 S230 단계를 수행할 수 있다.
미리 정해진 숫자는 저장 장치(100)의 리소스에 기초하여 결정될 수 있다. 예를 들어, 저장 장치(100)에서 사용되고 있는 리소스가 큰 경우, 미리 정해진 숫자가 작아지고, 저장 장치(100)에서 사용되고 있는 리소스가 작은 경우, 미리 정해진 숫자가 커질 수 있다.
S240 단계에서, 소거 워드 라인들의 개수가 미리 정해진 숫자 이하인 경우, 저장 장치(100)는 열린 메모리 블록을 닫는다. 예시적으로, 저장 장치(100)는 S230 단계에서 소거 워드 라인들의 개수를 판별하는데 기준이 된 열린 메모리 블록들을 닫을 수 있다. 예를 들어, 모든 열린 메모리 블록을 기준으로 소거 워드 라인들의 개수가 미리 정해진 숫자보다 초과되는지 여부를 결정하는 경우, 저장 장치(100)는 모든 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 모든 열린 메모리 블록의 소거 워드 라인들의 개수가 미리 정해진 숫자 이하이면 모든 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 더미 프로그램 동작을 수행하여 열린 메모리 블록을 닫을 수 있다.
S230 및 S250 단계에서, 저장 장치(100)는 소거 워드 라인들의 개수가 미리 정해진 숫자를 초과하는 경우, 열린 메모리 블록에 대한 닫는 동작 없이 정상 동작 모드로 들어간다.
S260 단계에서, 저장 장치(100)는 저장 장치(100)가 유휴 상태인지 여부를 판단한다. 유휴 상태는 프로그램, 읽기, 또는 쓰기 등의 저장 장치(100)의 리소스를 사용하는 동작이 수행되고 있지 않은 상태를 의미한다. 예시적으로, 저장 장치(100)는 불휘발성 메모리 장치(120)가 유휴 상태인지 여부를 판단할 수 있다. 예를 들어, 저장 장치(100)는 불휘발성 메모리 장치(120)의 리소스의 사용 여부를 판단하여 유휴 상태인지 여부를 결정할 수 있다.
S270 및 S280 단계에서, 불휘발성 메모리 장치(120)가 유휴 상태인 경우, 저장 장치(100)는 열린 메모리 블록을 검색하여 정상 동작 모드에서의 열린 메모리 블록의 존재 여부를 결정한다. 예시적으로, 정상 동작 모드에서의 열린 메모리 블록은 파워 온 모드에서 프로그램 되지 않은 열린 메모리 블록 및 정상 동작 모드에서 새롭게 생성된 열린 메모리 블록을 포함할 수 있다. 예를 들어, 저장 장치(100)는 파워 온 모드에서 검색되지 않은 열린 메모리 블록을 유휴 상태에서 검색하여 열린 메모리 블록의 존재 여부를 결정할 수 있다.
열린 메모리 블록이 존재하는 경우, 저장 장치(100)는 열린 메모리 블록을 닫는다. 열린 메모리 블록이 존재하지 않는 경우, 저장 장치(100)는 더미 프로그램 동작을 수행하지 않는다. 예를 들어, S230 및 S240 단계에서, 저장 장치(100)가 모든 열린 메모리 블록을 닫는 동작을 수행하는 경우, 열린 메모리 블록은 존재하지 않기 때문에, 저장 장치(100)는 더미 프로그램 동작을 수행하지 않는다.
따라서, 본 발명의 제2 실시 예에 따른 저장 장치(100)는 소거 워드 라인의 개수에 기초하여 열린 메모리 블록을 닫는 시기를 다르게 할 수 있다. 파워 온 모드에서, 저장 장치(100)는 정상 동작 모드에 들어가기 위한 준비 동작으로 인하여 리소스를 많이 사용할 수 있다. 파워 온 모드에서 사용되는 리소스를 고려해야 하기 때문에, 저장 장치(100)는 소거 워드 라인의 개수가 일정 개수 이하인 경우에 닫는 동작을 수행할 수 있다. 저장 장치(100)는 사용되는 리소스가 적은 유휴 상태에서 불휘발성 메모리 장치(120)의 포함된 모든 열린 메모리 블록을 닫을 수 있다. 이에 따라, 저장 장치(100)는 더미 프로그램 동작을 수행함에 있어서, 메모리 셀들의 열화를 방지하고 저장 장치(100)의 리소스를 효율적으로 사용할 수 있다.
도 13은 본 발명에 따른 더미 프로그램 동작에 대한 제3 실시 예를 보여주는 순서도이다. 간결한 설명을 위하여, 저장 장치(100)를 참조하여 본 발명에 따른 더미 프로그램 동작이 설명된다. S310 단계에서, 저장 장치(100)는 파워 온 모드로 들어간다. S320 단계에서, 저장 장치(100)는 열린 메모리 블록을 검색한다. S310 및 S320 단계까지의 동작은 도 9의 S110 내지 S130 단계까지의 동작과 유사하므로 자세한 설명은 생략된다. 이하에서는, 도 1 및 도 13을 참조하여 저장 장치(100)가 열린 메모리 블록을 검색한 이후 동작에 대해 자세하게 설명한다.
S330 단계에서, 저장 장치(100)는 S320 단계에서 검색된 적어도 한 개 이상의 열린 메모리 블록 각각의 소거 워드 라인의 개수를 미리 정해진 숫자와 비교한다. 그리고 S340 단계에서, 저장 장치(100)는 S330 단계의 비교 결과에 기초하여 열린 메모리 블록을 닫는다. 예시적으로, 저장 장치(100)는 어느 하나의 열린 메모리 블록의 소거 워드 라인 개수가 미리 정해진 숫자 이하인 경우, 해당 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 어느 하나의 열린 메모리 블록의 소거 워드 라인 개수가 미리 정해진 숫자를 초과하는 경우, 해당 열린 메모리 블록을 닫지 않을 수 있다. 따라서, 파워 온 모드에서 열린 메모리 블록들 각각은 소거 워드 라인의 개수에 기초하여 닫힐 수도 있고 닫히지 않을 수도 있다.
S350 단계에서, 저장 장치(100)는 정상 동작 모드로 들어간다. 저장 장치(100)가 정상 동작 모드가 되었을 때, 불휘발성 메모리 장치(120)에 열린 메모리 블록이 존재하지 않을 수 있다. 예시적으로, S330 단계에서 모든 열린 메모리 블록들의 소거 워드 라인 개수가 미리 정해진 숫자 이하인 경우, 열린 메모리 블록이 존재하지 않을 수 있다. 또한, 저장 장치(100)가 정상 동작 모드가 되었을 때, 불휘발성 메모리 장치(120)에 열린 메모리 블록이 존재할 수 있다. 예시적으로, S330 단계에서 어느 하나의 열린 메모리 블록의 소거 워드 라인 개수가 미리 정해진 숫자를 초과하는 경우, 열린 메모리 블록이 존재할 수 있다.
S360 단계 및 S370단계에서, 저장 장치(100)가 유휴 상태인 경우, 저장 장치(100)는 남아있는 열린 메모리 블록을 닫는다. 저장 장치(100)가 유휴 상태가 되지 않은 경우, 저장 장치(100)는 남아있는 열린 메모리 블록이 존재하더라도 해당 열린 메모리 블록을 닫지 않을 수 있다. 저장 장치(100)가 유휴 상태가 되더라도 남아있는 열린 메모리 블록이 존재하지 않으면, S370 단계가 수행되지 않을 수 있다.
도 14는 도 13의 동작 방법에 따라 저장 장치가 더미 프로그램을 수행하는 예를 보여주는 도면이다. 도 1, 도 13 및 도 14를 참조하면, 도 14의 가로축은 시간(Time)을 나타내며, 불휘발성 메모리 장치(120)에 제1 열린 메모리 블록(BLK1)과 제2 열린 메모리 블록(BLK2)이 포함된다. 제1 열린 메모리 블록(BLK1)의 소거 워드 라인(WL4~WL6)의 개수는 3개이고, 제2 열린 메모리 블록(BLK2)의 소거 워드 라인(WL2~WL6)의 개수는 5개이다.
S310 및 S320 단계에 따라 저장 장치(100)가 파워 온 모드에 들어가면, 저장 장치(100)는 불휘발성 메모리 장치(120)에 존재하는 열린 메모리 블록을 검색하여 제1 열린 메모리 블록(BLK1) 및 제2 열린 메모리 블록(BLK2)을 찾는다. S330 단계에 따라 저장 장치(100)는 제1 열린 메모리 블록(BLK1) 및 제2 열린 메모리 블록(BLK2)의 각각의 소거 워드 라인 개수를 미리 정해진 숫자와 비교한다. 도 14의 경우, 미리 정해진 숫자를 4라 가정하면, 제1 열린 메모리 블록(BLK1)의 소거 워드 라인 개수는 3이므로, 미리 정해진 숫자 이하가 된다. 제2 열린 메모리 블록(BLK2)의 소거 워드 라인 개수는 5이므로, 미리 정해진 숫자를 초과한다. S340 단계에 따라 저장 장치(100)는 제1 열린 메모리 블록(BLK1)의 소거 워드 라인들(WL4~WL6)에 대해서만 더미 프로그램을 수행하여 제1 열린 메모리 블록(BLK1)을 닫는다.
저장 장치(100)는 파워 온 모드에서 제1 열린 메모리 블록(BLK1)만을 닫은 후 S350 단계에 따라 정상 동작 모드에 들어간다. S360 단계 및 S370 단계에 따라 저장 장치(100)는 유휴 상태가 되는 경우, 제2 열린 메모리 블록(BLK2)의 소거 워드 라인들(WL2~WL6)에 대해 더미 프로그램을 수행하여 제2 열린 메모리 블록(BLK2)을 닫는다. 저장 장치(100)는 소거 워드 라인의 개수가 적은 제1 열린 메모리 블록(BLK1)을 소거 워드 라인의 개수가 많은 제2 열린 메모리 블록(BLK2)보다 더 빠르게 닫을 수 있다.
본 발명의 제3 실시 예에 따른 더미 프로그램을 수행하는 동작 방법은 도 14의 예에 한정되는 것은 아니며, 열린 메모리 블록들의 수와 열린 메모리 블록에 포함된 워드 라인의 수가 달라지는 경우에도 적용될 수 있다.
본 발명의 제3 실시 예에 따른 저장 장치(100)는 각각의 열린 메모리 블록을 기준으로 소거 워드 라인의 개수에 따라 각각의 열린 메모리 블록을 닫는 시간을 다르게 할 수 있다. 따라서, 저장 장치(100)는 파워 온 모드에서 소거 워드 라인의 개수가 적은 열린 메모리 블록들에 대해 더미 프로그램을 수행함으로써 파워 온 모드에서 사용되는 리소스를 적게 할 수 있다. 저장 장치(100)는 소거 워드 라인의 개수가 많은 열린 메모리 블록들에 대해 유휴 상태에서 더미 프로그램을 수행함으로써 리소스를 효율적으로 사용할 수 있다.
도 15는 본 발명에 따른 더미 프로그램 동작에 대한 제4 실시 예를 보여주는 순서도이다. 간결한 설명을 위하여, 저장 장치(100)를 참조하여 본 발명에 따른 더미 프로그램 동작이 설명된다.
도 1, 도 3, 및 도 15를 참조하면, S410 단계에서, 저장 장치(100)는 파워 오프 모드로 들어간다. 파워 오프 모드는 저장 장치(100)에 전원 공급을 중단시키기 위한 준비 상태일 수 있다. 저장 장치(100)는 호스트(Host)로부터 파워 오프 명령어를 수신하는 경우, 파워 오프 모드로 들어갈 수 있다. 저장 장치(100)는 파워 오프 모드에서 RAM(114)에 저장된 데이터의 일부를 불휘발성 메모리 장치(120)에 전송할 수 있다.
S420 단계에서, 저장 장치(100)는 열린 메모리 블록을 검색한다. S430 및 S440 단계에서, 저장 장치(100)는 열린 메모리 블록이 존재하는 경우, 열린 메모리 블록을 닫는다. S420 내지 S440 단계까지의 동작은 도 9의 S120 내지 S140까지의 동작과 유사하므로 중복되는 설명은 생략된다. 열린 메모리 블록이 존재하지 않거나 열린 메모리 블록을 닫은 후, S450 단계에서, 저장 장치(100)는 파워 오프 된다.
따라서, 본 발명의 제4 실시 예에 따른 저장 장치(100)는 전원 공급이 중단되기 전에 불휘발성 메모리 장치(120)에 존재하는 열린 메모리 블록을 닫음으로써 전원 공급이 중단되는 동안 메모리 셀들이 소거 상태로 방치되는 것을 방지할 수 있다. 이에 따라, 저장 장치(100)는 메모리 셀들의 열화를 방지할 수 있다.
본 발명의 제4 실시 예에 따른 저장 장치(100)는 상술한 내용에 한정되는 것은 아니며, 도 12 및 도 13에서 설명한 동작 방법에 기초하여 더미 프로그램을 수행할 수 있다. 즉, 저장 장치(100)는 파워 오프 모드에서 열린 메모리 블록을 닫을 때에, 소거 워드 라인 개수에 기초하여 열린 메모리 블록을 닫을 수 있다. 소거 워드 라인의 개수가 미리 정해진 숫자를 초과하는 경우, 저장 장치(100)는 적어도 하나의 열린 메모리 블록을 닫지 못할 수 있다. 저장 장치(100)는 파워 온 모드에 들어가서 닫지 못한 열린 메모리 블록을 닫을 수 있다. 즉, 저장 장치(100)는 파워 오프 모드에서 닫지 못한 열린 메모리 블록을 파워 온 모드에서 닫을 수 있다. 파워 온 모드에서 열린 메모리 블록을 닫는 경우, 저장 장치(100)는 제1 내지 제3 실시 예에 따라 열린 메모리 블록을 닫을 수 있다. 파워 오프 모드 및 파워 온 모드에서 열린 메모리 블록을 닫기 위한 미리 정해진 숫자는 서로 다를 수 있다. 미리 정해진 숫자는 각 모드에서 사용되는 리소스를 고려하여 결정될 수 있고, 같은 모드에서도 사용되는 리소스에 따라 다르게 결정될 수 있다.
도 16은 본 발명에 따른 더미 프로그램 동작에 대한 제5 실시 예를 보여주는 순서도이다. 간결한 설명을 위하여, 저장 장치(100)를 참조하여 본 발명에 따른 더미 프로그램 동작이 설명된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 더미 프로그램 동작은 별도의 하드웨어 구성 또는 소프트웨어 구성을 통해 수행될 수 있다. 예를 들어, 저장 장치(100)에 포함된 메모리 컨트롤러(110) 또는 불휘발성 메모리 장치(120)에서 더미 프로그램 동작이 수행될 수 있다. 더미 프로그램 동작을 위한 도 16의 각 단계는 메모리 컨트롤러(110) 또는 불휘발성 메모리 장치(120)에서 전부 또는 일부분이 수행될 수 있다.
도 1 및 도 16을 참조하면, S510 단계에서, 저장 장치(100)는 파워 온 모드로 들어간다. S520 단계에서, 저장 장치(100)는 급작스러운 파워 오프(SPO, Sudden Power off)로부터 복원되었는지 검출한다. 저장 장치(100)는 전원이 급작스럽게 차단된 후에 전원이 공급되었는지를 검출할 수 있다. 예를 들어, 저장 장치(100)는 불휘발성 메모리 장치(120)에 저장된 메타 데이터 또는 사용자 데이터를 참조하여, 저장 장치(100)가 SPO로부터 복원되었는지를 검출할 수 있다.
저장 장치(100)는 SPO로부터의 복원을 검출하는 경우, S530 단계에서 열린 메모리 블록을 검색한다. S540 및 S550 단계에서, 저장 장치(100)는 열린 메모리 블록이 존재하는 경우, 열린 메모리 블록을 닫는다. 저장 장치(100)는 S520 단계에서 SPO로부터의 복원을 검출하지 않거나, S540 단계에서 열린 메모리 블록이 존재하지 않는 경우, 열린 메모리 블록을 닫지 않는다. S560 단계에서, 저장 장치(100)는 정상 동작 모드로 들어간다. S530 내지 S560 단계에서 저장 장치(100)가 수행하는 동작 방법은 도 9의 S120 내지 S150 단계에서 저장 장치(100)가 수행하는 동작 방법과 유사하므로 자세한 설명은 생략된다.
도 15에서 설명한 더미 프로그램 동작 방법은 저장 장치(100)가 SPO가 되는 경우, 적용되기 어려울 수 있다. 본 발명의 제5 실시 예에 따른 더미 프로그램 동작 방법은 SPO가 일어난 경우, 저장 장치(100)에 다시 전원이 공급된 후 열린 메모리 블록을 닫음으로써 메모리 셀들(MC)의 열화를 방지할 수 있다.
본 발명의 제5 실시 예에 따른 저장 장치(100)는 상술한 내용에 한정되는 것은 아니며, 도 12 및 도 13에서 설명한 동작 방법에 기초하여 더미 프로그램을 수행할 수 있다. 즉, 저장 장치(100)는 소거 워드 라인 개수에 기초하여 열린 메모리 블록을 닫을 수 있다. 저장 장치(100)는 소거 워드 라인 개수에 기초하여 파워 온 모드에서 열린 메모리 블록을 닫거나 정상 동작 모드의 유휴 상태에서 열린 메모리 블록을 닫을 수 있다.
도 17은 본 발명이 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)을 포함한다.
SSD(1200)는 신호 커넥터(1201)를 통해 호스트(1100)와 신호(SIG)를 주고 받고, 전원 커넥터(1202)를 통해 전원(PWR)을 입력 받는다. SSD(1200)는 SSD 컨트롤러(1210), 복수의 플래시 메모리들(1221~122n), 보조 전원 장치(1230), 그리고 버퍼 메모리(1240)를 포함한다.
SSD 컨트롤러(1210)는 호스트(1100)로부터 수신된 신호(SIG)에 응답하여 복수의 플래시 메모리들(1221~122n)을 제어할 수 있다. 복수의 플래시 메모리들(1221~122n)은 SSD 컨트롤러(1210)의 제어에 따라 동작할 수 있다. 예시적으로, SSD 컨트롤러(1210)는 도 1 내지 도 16을 참조하여 설명된 방법에 따라 더미 프로그램 동작을 수행할 수 있다.
보조 전원 장치(1230)는 전원 커넥터(1202)를 통해 호스트(1100)와 연결된다. 보조 전원 장치(1230)는 호스트 (1100)로부터 전원(PWR)을 입력 받고, 충전할 수 있다. 보조 전원 장치(1230)는 호스트(1100)로부터의 전원 공급이 원활하지 않을 경우, SSD(1200)의 전원을 제공할 수 있다.
버퍼 메모리(1240)는 SSD(1200)의 버퍼 메모리로 동작한다. 예를 들어, 버퍼 메모리(1240)는 호스트(1100)로부터 수신된 데이터 또는 복수의 플래시 메모리들(1221~122n)로부터 수신된 데이터를 임시 저장하거나, 플래시 메모리들(1221~122n)의 메타 데이터(예를 들어, 매핑 테이블)를 임시 저장할 수 있다. 또는 버퍼 메모리(1240)는 SSD 컨트롤러(1210)가 동작하는데 요구되는 다양한 정보들을 임시 저장할 수 있다. 예시적으로, SSD 컨트롤러(1210)는 버퍼 메모리에 저장된 데이터를 이용하여 열린 메모리 블록을 찾을 수 있다. 버퍼 메모리(1240)는 SSD 컨트롤러(1210)가 소거 워드 라인의 개수에 기초하여 더미 프로그램 동작을 수행하기 위한 미리 정해진 숫자를 저장할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 저장 장치
110: 메모리 컨트롤러
112: 버스
113: 프로세서
114: RAM
115: ROM
116: 호스트 인터페이스
117: 메모리 인터페이스
120: 불휘발성 메모리 장치
121: 메모리 셀 어레이
122: 어드레스 디코더 회로
123: 페이지 버퍼 회로
124: 데이터 입출력 회로
125: 제어 로직 회로

Claims (18)

  1. 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법에 있어서,
    파워 온 모드로 들어가는 단계;
    상기 불휘발성 메모리 장치에 포함된 메모리 블록들 중 소거 상태의 메모리 셀들과 연결된 적어도 하나의 소거 워드 라인을 포함하는 열린 메모리 블록을 검색하는 단계;
    상기 파워 온 모드에서 상기 열린 메모리 블록에 포함된 소거 워드 라인들의 개수가 미리 정해진 숫자 이하인 경우, 상기 적어도 하나의 소거 워드 라인에 연결된 각 메모리 셀에 더미 프로그램 하여 상기 열린 메모리 블록을 닫는 단계; 및
    정상 동작 모드로 들어가는 단계를 포함하고,
    상기 더미 프로그램 된 상기 적어도 하나의 소거 워드 라인에 연결된 메모리 셀들은 소거 상태의 문턱 전압 산포 범위보다 높은 문턱 전압 산포 범위를 갖도록 프로그램 되는 동작 방법.
  2. 제 1 항에 있어서,
    상기 소거 워드 라인이 복수개인 경우, 상기 복수개의 소거 워드 라인에 동시에 상기 더미 프로그램 하는 동작 방법.
  3. 제 1 항에 있어서,
    상기 소거 워드 라인이 복수개인 경우, 상기 열린 메모리 블록에 포함된 프로그램 워드 라인과의 물리적 거리에 기초하여 상기 소거 워드 라인에 대한 프로그램 수행 시간을 다르게 하는 동작 방법.
  4. 제 1 항에 있어서,
    상기 열린 메모리 블록은 소거 워드 라인의 개수가 미리 정해진 숫자 이하인 제1 열린 메모리 블록 또는 상기 소거 워드 라인의 개수가 미리 정해진 숫자를 초과하는 제2 열린 메모리 블록을 포함하고,
    상기 열린 메모리 블록을 닫는 단계는 상기 제1 열린 메모리 블록에 대해 수행되는 동작 방법.
  5. 제 1 항에 있어서,
    상기 정상 동작 모드에서 상기 저장 장치가 유휴 상태인지 여부를 결정하는 단계;
    상기 저장 장치가 상기 유휴 상태인 경우, 상기 정상 동작 모드에서의 열린 메모리 블록이 존재하는지 여부를 판단하는 단계; 그리고
    상기 정상 동작 모드에서의 상기 열린 메모리 블록이 존재하는 경우, 상기 정상 동작 모드에서의 상기 열린 메모리 블록을 닫는 단계를 더 포함하고,
    상기 정상 동작 모드에서의 상기 열린 메모리 블록은 상기 파워 온 모드에서 프로그램 되지 않은 열린 메모리 블록 및 상기 정상 동작 모드에서 생성된 열린 메모리 블록을 포함하는 동작 방법.
  6. 제 1 항에 있어서,
    상기 미리 정해진 숫자는 상기 저장 장치에서 사용되는 리소스에 기초하여 결정되는 동작 방법.
  7. 소거 상태의 메모리 셀들과 연결된 적어도 하나의 소거 워드 라인을 포함하는 열린 메모리 블록을 포함하는 불휘발성 메모리 장치; 및
    파워 온 모드인지 감지하고, 상기 열린 메모리 블록에 포함된 소거 워드 라인들의 개수가 미리 정해진 숫자 이하인 경우, 상기 불휘발성 메모리 장치에게 프로그램 커맨드를 전송하는 메모리 컨트롤러를 포함하고,
    상기 불휘발성 메모리 장치는 상기 프로그램 커맨드에 응답하여, 상기 파워 온 모드에서의 상기 열린 메모리 블록에 포함된 상기 적어도 하나의 소거 워드 라인에 연결된 각 메모리 셀에 더미 프로그램 하여 상기 열린 메모리 블록을 닫는 저장 장치.
  8. 제 7 항에 있어서,
    상기 불휘발성 메모리 장치는 상기 적어도 하나의 소거 워드 라인에 하나의 프로그램 전압을 인가 하는 저장 장치.
  9. 제 7 항에 있어서,
    상기 불휘발성 메모리 장치는 상기 적어도 하나의 소거 워드 라인에 연결된 메모리 셀들이 상기 소거 상태의 문턱 전압 산포 범위보다 높은 문턱 전압 산포 범위를 갖도록 프로그램 하는 저장 장치.
  10. 제 7 항에 있어서,
    정상 동작 모드에서 유휴 상태인 경우 상기 소거 워드 라인들의 개수가 상기 미리 정해진 숫자를 초과하는 경우, 상기 메모리 컨트롤러는 상기 프로그램 커맨드를 전송하는 저장 장치.
  11. 제 7 항에 있어서,
    상기 미리 정해진 숫자는 상기 불휘발성 메모리 장치에서 사용되는 리소스에 기초하여 결정되는 저장 장치.
  12. 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법에 있어서,
    (a)상기 불휘발성 메모리 장치에 포함된 메모리 블록들 중 소거 상태의 메모리 셀들과만 연결된 워드 라인들의 개수를 식별하는 단계;
    (b)파워 온 모드에서 상기 개수가 미리 정해진 숫자 이하인 경우, 상기 워드 라인들에 연결된 각 상기 메모리 셀들에 더미 프로그램 하는 단계; 및
    (c)상기 불휘발성 메모리 장치가 읽기, 프로그램, 소거 동작을 수행하지 않는 경우, 상기 소거 상태의 메모리 셀들과만 연결된 제1 워드 라인과 상기 소거 상태와 다른 프로그램 상태의 메모리 셀들과 연결된 제2 워드 라인을 포함하는 상기 불휘발성 메모리 장치의 다른 메모리 블록을 식별하고, 상기 다른 메모리 블록의 상기 제1 워드 라인과 연결된 각 상기 메모리 셀들에 더미 프로그램 하는 단계를 포함하는 동작 방법.
  13. 제 12 항에 있어서,
    상기 메모리 셀들에 상기 더미 프로그램 하는 것은 상기 메모리 셀들이 상기 소거 상태와 다른 프로그램 상태로 천이하게 하는 것인 동작 방법.
  14. 제 12 항에 있어서,
    상기 (a) 단계와 상기 (b) 단계는 (1)상기 저장 장치가 파워 온 되고, (2)상기 저장 장치가 파워 온 되는 동안에 상기 불휘발성 메모리 장치에서 읽기 동작을 수행할 수 있기 전인 경우에 수행하는 동작 방법.
  15. 제 12 항에 있어서,
    상기 (a) 단계와 상기 (b) 단계는 상기 저장 장치가 메인 전원을 수신하는 것으로부터 보조 전원을 수신하는 것으로 천이하는 경우에 수행하는 동작 방법.
  16. 제 12 항에 있어서,
    상기 (b) 단계는 상기 워드 라인들에 연결된 각 상기 메모리 셀들에 단일 프로그램 전압만을 인가하는 동작 방법.
  17. 제 12 항에 있어서,
    상기 (c) 단계는 상기 (a) 단계에서 식별된 상기 개수가 상기 미리 정해진 숫자 이상인 경우, 상기 워드 라인들에 연결된 각 상기 메모리 셀들에 더미 프로그램 하는 단계를 더 포함하는 동작 방법.
  18. 제 1 항에 있어서,
    상기 저장 장치는 상기 파워 온 모드에서 상기 불휘발성 메모리 장치에 읽기 동작을 수행할 수 없는 동작 방법.
KR1020170070862A 2017-06-07 2017-06-07 저장 장치 및 그것의 동작 방법 KR102351649B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170070862A KR102351649B1 (ko) 2017-06-07 2017-06-07 저장 장치 및 그것의 동작 방법
US15/844,197 US10706938B2 (en) 2017-06-07 2017-12-15 Storage device and operating method for applying a program voltage to erased word line to close open memory block
CN201810443660.5A CN109003641B (zh) 2017-06-07 2018-05-10 存储设备及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170070862A KR102351649B1 (ko) 2017-06-07 2017-06-07 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20180133982A KR20180133982A (ko) 2018-12-18
KR102351649B1 true KR102351649B1 (ko) 2022-01-17

Family

ID=64564312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170070862A KR102351649B1 (ko) 2017-06-07 2017-06-07 저장 장치 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US10706938B2 (ko)
KR (1) KR102351649B1 (ko)
CN (1) CN109003641B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200018060A (ko) * 2018-08-10 2020-02-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200066907A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200087488A (ko) 2019-01-11 2020-07-21 에스케이하이닉스 주식회사 메모리 시스템에서의 비휘발성 메모리 블록 내 데이터를 삭제하는 방법 및 장치
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
KR20200144389A (ko) * 2019-06-18 2020-12-29 삼성전자주식회사 스토리지 장치 및 그것의 액세스 방법
CN110853686B (zh) * 2019-10-22 2021-12-07 长江存储科技有限责任公司 适用于闪存设备的掉电处理方法、装置、介质、及终端
EP4180935A1 (en) * 2021-11-16 2023-05-17 Samsung Electronics Co., Ltd. Operation methods of storage devices, and operation methods of storage systems including hosts and storage devices
KR102493864B1 (ko) * 2021-11-16 2023-01-31 삼성전자주식회사 스토리지 장치의 동작 방법 및 호스트 및 스토리지 장치를 포함하는 스토리지 시스템의 동작 방법
US12027211B2 (en) * 2022-05-26 2024-07-02 Micron Technology, Inc. Partial block handling protocol in a non-volatile memory device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097365A1 (en) 2011-10-18 2013-04-18 Stec, Inc. Reducing a number of close operations on open blocks in a flash memory
US20140019675A1 (en) 2012-07-11 2014-01-16 Eun Chu Oh Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods
US20140289559A1 (en) 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US20160343449A1 (en) 2015-05-20 2016-11-24 Sandisk Technologies Inc. Read disturb detection in open blocks
US20170116075A1 (en) 2015-10-21 2017-04-27 Sandisk Technologies Inc. System for handling erratic word lines for non-volatile memory

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
KR100749736B1 (ko) * 2005-06-13 2007-08-16 삼성전자주식회사 플래시 메모리 장치 및 그것의 소거 방법
JP4435200B2 (ja) * 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8908431B2 (en) * 2010-02-17 2014-12-09 Samsung Electronics Co., Ltd. Control method of nonvolatile memory device
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101732585B1 (ko) * 2010-08-26 2017-05-04 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR102068163B1 (ko) * 2013-02-27 2020-01-20 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
JP5983512B2 (ja) 2013-04-15 2016-08-31 株式会社デンソー 書き込み装置
KR102102224B1 (ko) 2013-10-01 2020-04-20 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
US9229806B2 (en) 2013-11-14 2016-01-05 Sandisk Technologies Inc. Block closure techniques for a data storage device
US9423970B2 (en) * 2013-12-30 2016-08-23 Sandisk Technologies Llc Method and system for predicting block failure in a non-volatile memory
KR102285994B1 (ko) 2014-05-13 2021-08-06 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
KR102292183B1 (ko) * 2014-11-07 2021-08-25 삼성전자주식회사 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법
US9552885B2 (en) * 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102211868B1 (ko) 2014-12-15 2021-02-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9864545B2 (en) * 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
KR20160132169A (ko) * 2015-05-06 2016-11-17 에스케이하이닉스 주식회사 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR20170004698A (ko) * 2015-07-03 2017-01-11 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102491624B1 (ko) 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
US9460799B1 (en) 2015-11-24 2016-10-04 Sandisk Technologies Llc Recovery of partially programmed block in non-volatile memory
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102578153B1 (ko) * 2016-08-25 2023-09-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10388379B2 (en) * 2017-03-21 2019-08-20 Micron Technology, Inc. Apparatuses and methods for automated dynamic word line start voltage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097365A1 (en) 2011-10-18 2013-04-18 Stec, Inc. Reducing a number of close operations on open blocks in a flash memory
US20140019675A1 (en) 2012-07-11 2014-01-16 Eun Chu Oh Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods
US20140289559A1 (en) 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US20160343449A1 (en) 2015-05-20 2016-11-24 Sandisk Technologies Inc. Read disturb detection in open blocks
US20170116075A1 (en) 2015-10-21 2017-04-27 Sandisk Technologies Inc. System for handling erratic word lines for non-volatile memory

Also Published As

Publication number Publication date
US10706938B2 (en) 2020-07-07
CN109003641A (zh) 2018-12-14
US20180358098A1 (en) 2018-12-13
CN109003641B (zh) 2022-08-16
KR20180133982A (ko) 2018-12-18

Similar Documents

Publication Publication Date Title
KR102351649B1 (ko) 저장 장치 및 그것의 동작 방법
KR102658792B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
KR102435873B1 (ko) 스토리지 장치 및 그것의 리드 리클레임 방법
US10008272B2 (en) Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations
TWI602184B (zh) 用於非揮發性記憶體的程式化方法、用於記憶體系統的資料管理方法、用於非揮發性記憶體的資料管理方法、記憶體系統以及用於記憶體系統的控制器
KR102250423B1 (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
KR102282962B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR102387960B1 (ko) 컨트롤러 및 그것의 동작 방법
US9910607B2 (en) Method of managing a memory, and a memory system
KR102282947B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
CN107045892B (zh) 非易失性存储器和包括非易失性存储器的存储装置
KR20170015708A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR102085096B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법
KR102329800B1 (ko) 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법
KR20140021780A (ko) 불휘발성 메모리 장치 및 그것의 제어 방법
KR20170070922A (ko) 불휘발성 메모리 시스템의 동작 방법
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
CN112099730B (zh) 存储器件及其访问方法
KR20180085418A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
CN110399093B (zh) 包括非易失性存储器件和控制器的存储设备
KR20210033713A (ko) 메모리 장치 및 그 동작 방법
CN114360615A (zh) 非易失性存储器及其控制方法、存储系统
KR20230120930A (ko) 메모리 장치 및 그 동작 방법
CN111798892A (zh) 存储器装置及其操作方法

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