KR101916718B1 - 불휘발성 메모리 장치 및 그것의 메모리 관리 방법 - Google Patents

불휘발성 메모리 장치 및 그것의 메모리 관리 방법 Download PDF

Info

Publication number
KR101916718B1
KR101916718B1 KR1020120020506A KR20120020506A KR101916718B1 KR 101916718 B1 KR101916718 B1 KR 101916718B1 KR 1020120020506 A KR1020120020506 A KR 1020120020506A KR 20120020506 A KR20120020506 A KR 20120020506A KR 101916718 B1 KR101916718 B1 KR 101916718B1
Authority
KR
South Korea
Prior art keywords
block
memory
sub
blocks
memory device
Prior art date
Application number
KR1020120020506A
Other languages
English (en)
Other versions
KR20130098743A (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 KR1020120020506A priority Critical patent/KR101916718B1/ko
Priority to US13/686,906 priority patent/US9082492B2/en
Publication of KR20130098743A publication Critical patent/KR20130098743A/ko
Application granted granted Critical
Publication of KR101916718B1 publication Critical patent/KR101916718B1/ko

Links

Images

Classifications

    • 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
    • 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/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

본 발명은 읽기 디스터브를 감소시키고 프로그램시 부스팅 효율을 향상시킨 불휘발성 메모리 장치 및 그것의 메모리 관리 방법을 제공한다. 본 발명에 따른 메모리 관리 방법은 복수의 메모리 블록의 서브 블록들의 프로그램 여부를 검출하는 단계 및 검출 결과에 따라, 복수의 메모리 블록 중 프로그램된 서브 블록을 포함하지 않는 메모리 블록에 우선하여 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램하는 단계를 포함한다.

Description

불휘발성 메모리 장치 및 그것의 메모리 관리 방법{NONVOLATILE MEMORY DEVICE AND MEMORY MANAGEMENT METHOD THEREOF}
본 발명은 불휘발성 메모리 장치 및 그것의 메모리 관리 방법에 관한 것으로, 더욱 상세하게는 3차원 어레이 구조를 갖는 불휘발성 메모리 장치 및 그것의 메모리 관리 방법에 관한 것이다.
반도체 메모리(semiconductor memory)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리는 크게 휘발성 메모리(Volatile memory)와 불휘발성 메모리(Nonvolatile memory)로 구분된다.
휘발성 메모리는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리에는 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) 등이 있다. 플래시 메모리는 크게 노어 타입과 낸드 타입으로 구분된다.
최근에, 반도체 메모리 장치의 집적도를 향상시키기 위하여, 3차원 어레이 구조를 갖는 반도체 메모리 장치가 연구되고 있다.
본 발명의 목적은 읽기 디스터브를 감소시킨 불휘발성 메모리 장치 및 그것의 메모리 관리 방법을 제공하는 데 있다.
본 발명의 다른 목적은 프로그램시 부스팅 효율을 향상시킨 불휘발성 메모리 장치 및 그것의 메모리 관리 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 신뢰성 및 프로그램 효율을 향상시킨 휘발성 메모리 장치 및 그것의 메모리 관리 방법을 제공하는 데 있다.
본 발명에 따른 불휘발성 메모리 장치의 메모리 관리 방법은 복수의 메모리 블록의 서브 블록들의 프로그램 여부를 검출하는 단계; 및 상기 검출 결과에 따라, 상기 복수의 메모리 블록 중 프로그램된 서브 블록을 포함하지 않는 메모리 블록에 우선하여 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램하는 단계를 포함한다.
실시 예로서, 상기 쓰기 데이터가 프로그램되는 메모리 블록(이하, 대상 메모리 블록)은 프로그램되지 않은 서브 블록을 포함한다.
실시 예로서, 상기 쓰기 데이터를 프로그램하는 단계는 상기 쓰기 데이터를 상기 대상 메모리 블록의 프로그램되지 않은 서브 블록에 프로그램한다.
실시 예로서, 상기 서브 블록들은 서로 독립적으로 프로그램 가능하다.
본 발명에 따른 불휘발성 메모리 장치의 메모리 관리 방법은 메모리 블록의 서브 블록들의 프로그램 여부를 검출하는 단계; 및 상기 검출 결과를 참조하여 상기 메모리 블록에 쓰기 데이터를 프로그램하는 단계를 포함하되, 상기 쓰기 데이터를 프로그램하는 단계는 상기 쓰기 데이터를 상기 메모리 블록의 프로그램되지 않은 서브 블록들 중 공통 소스 라인(CSL)과 가장 가까운 서브 블록에 프로그램한다.
실시 예로서, 상기 서브 블록들은 서로 독립적으로 프로그램 가능하다.
본 발명에 따른 불휘발성 메모리 장치의 메모리 관리 방법은 메모리 블록의 서브 블록들의 프로그램 여부를 검출하는 단계; 및 상기 검출 결과에 따라, 상기 메모리 블록의 적어도 하나의 서브 블록을 소거하는 단계를 포함하되, 상기 적어도 하나의 서브 블록을 소거하는 단계는 상기 메모리 블록의 프로그램된 서브 블록들 중 공통 소스 라인(CSL)으로부터 가장 멀리 떨어진 서브 블록을 소거한다.
실시 예로서, 상기 서브 블록들은 서로 독립적으로 소거 가능하다.
본 발명에 따른 불휘발성 메모리 장치의 메모리 관리 방법은 복수의 메모리 블록의 서브 블록들의 머지 타임을 독출하는 단계; 및 상기 독출된 머지 타임에 따라, 상기 서브 블록들 중 소거 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록)을 선택적으로 소거하는 단계를 포함하되, 상기 우선 순위 블록을 공통 소스 라인(CSL)과의 이격도 또는 상기 복수의 메모리 블록 각각에 포함된 서브 블록들의 프로그램 여부에 따라 결정한다.
실시 예로서, 상기 소거하는 단계는 상기 우선 순위 블록보다 작은 머지 타임을 갖는 서브 블록(이하, 머지 타임 블록)을 검출하는 단계; 및 상기 우선 순위 블록과 상기 머지 타임 블록의 머지 타임 차이를 미리 정해진 비교 값과 비교하는 단계를 포함한다.
본 발명에 따른 불휘발성 메모리 장치의 메모리 관리 방법은 복수의 메모리 블록의 서브 블록들의 프로그램/소거 사이클(이하, P/E 사이클)을 독출하는 단계; 및 상기 독출된 P/E 사이클에 따라, 상기 서브 블록들 중 프로그램 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록)을 선택적으로 프로그램하는 단계를 포함하되, 상기 우선 순위 블록을 공통 소스 라인(CSL)과의 이격도 또는 상기 복수의 메모리 블록 각각에 포함된 서브 블록들의 프로그램 여부에 따라 결정한다.
실시 예로서, 상기 프로그램하는 단계는 상기 우선 순위 블록보다 작은 P/E 사이클을 갖는 서브 블록(이하, P/E 사이클 블록)을 검출하는 단계; 및 상기 우선 순위 블록과 상기 P/E 사이클 블록의 P/E 사이클 차이를 미리 정해진 비교 값과 비교하는 단계를 포함한다.
본 발명에 따른 불휘발성 메모리 장치는 복수의 서브 블록을 포함하는 복수의 메모리 블록; 및 상기 복수의 메모리 블록을 제어하는 제어 로직을 포함하되, 상기 제어 로직은 쓰기 요청에 응답하여, 상기 복수의 메모리 블록들 중 프로그램된 서브 블록을 포함하지 않는 메모리 블록에 우선하여 프로그램된 서브 블록을 포함하는 메모리 블록에 상기 쓰기 데이터를 프로그램한다.
실시 예로서, 상기 제어 로직은 상기 복수의 메모리 블록에 포함된 서브 블록들이 독립적으로 프로그램되도록 제어한다.
본 발명에 따른 불휘발성 메모리 장치는 복수의 서브 블록을 포함하는 메모리 블록; 및 상기 메모리 블록을 제어하는 제어 로직을 포함하되, 상기 제어 로직은 상기 복수의 서브 블록들이 독립적으로 프로그램 또는 소거되도록 제어하고, 쓰기 요청 또는 소거 요청에 응답하여 상기 복수의 서브 블록 각각의 공통 소스 라인(CSL)과의 이격도에 따라 상기 복수의 서브 블록 각각을 선택적으로 프로그램 또는 소거한다.
본 발명에 따르면 불휘발성 메모리 장치의 읽기 디스터브가 감소된다.
또한, 불휘발성 메모리 장치의 프로그램 동작에서 부스팅 효율이 향상된다.
또한, 불휘발성 메모리 장치의 신뢰성 및 프로그램 효율이 향상된다.
도 1은 불휘발성 메모리 장치(100)를 나타내는 블록도이다.
도 2는 도 1의 메모리 셀 어레이(110)를 나타내는 블록도이다.
도 3은 도 2의 메모리 블록들(BLK1~BLKh) 중 하나(BLKi)를 예시적으로 나타낸 사시도이다.
도 4는 도 3의 메모리 블록(BLKi)을 선(Ⅰ-Ⅰ')을 따라 자른 단면을 나타내는 단면도이다.
도 5는 도 4의 트랜지스터 구조(TS)를 나타내는 단면도이다.
도 6은 도 3 내지 도 5을 참조하여 설명된 메모리 블록(BLKi)의 등가 회로를 나타내는 회로도이다.
도 7은 도 6의 메모리 블록(BLKi)의 하부 메모리 셀 그룹 및 상부 메모리 셀 그룹을 나타내는 회로도이다.
도 8은 본 발명의 제 1 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다.
도 9는 본 발명의 제 1 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다.
도 10은 도 9의 메모리 관리 방법을 보다 상세하게 나타낸 순서도이다.
도 11은 본 발명의 제 2 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다.
도 12는 본 발명의 제 3 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다.
도 13은 본 발명의 제 2 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다.
도 14는 본 발명의 제 3 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다.
도 15는 본 발명의 제 4 실시 예에 따른 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)을 나타내는 블록도이다.
도 16은 본 발명의 제 5 실시 예에 따른 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)을 나타내는 블록도이다.
도 17은 본 발명의 제 6 실시 예에 따른 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)을 나타내는 블록도이다.
도 18은 본 발명의 제 4 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다.
도 19는 본 발명의 제 5 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다.
도 20은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 나타내는 블록도이다.
도 21은 도 20의 메모리 시스템(1000)의 응용 예를 나타내는 블록도이다.
도 22는 도 21을 참조하여 설명된 메모리 시스템(2000)을 포함하는 컴퓨팅 시스템(3000)을 나타내는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명들은 모두 청구된 발명의 부가적인 설명을 제공하기 위한 예시적인 것이다. 그러므로 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 여기서 소개되는 실시 예는 개시된 내용이 철저하고 완전해 질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 포함한다고 언급되는 경우에, 이는 그 외의 다른 구성요소를 더 포함할 수도 있다는 것을 의미한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 불휘발성 메모리 장치(100)를 나타내는 블록도이다. 도 1을 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 데이터 입출력 회로(140), 그리고 제어 로직(150)을 포함한다.
메모리 셀 어레이(110)는 선택 라인들(SL, 예를 들면 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)), 워드 라인들(WL), 그리고 더미 워드 라인들(DWL)을 통해 어드레스 디코더(120)에 연결되고, 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 예시적으로, 행 방향으로 배열되는 메모리 셀들은 워드 라인들(WL)에 연결된다. 열 방향으로 배열되는 메모리 셀들은 비트 라인들(BL)에 연결된다. 예를 들면, 열 방향으로 배열되는 메모리 셀들은 복수의 셀 그룹들(예를 들면, 스트링)을 형성할 것이다. 그리고, 복수의 셀 그룹들이 비트 라인들(BL)에 각각 연결될 것이다. 예시적으로, 메모리 셀 어레이(110)는 셀 당 하나 또는 그 이상의 비트를 저장할 수 있도록 구성된다.
어드레스 디코더(120)는 선택 라인들(SL, 예를 들면 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)), 워드 라인들(WL), 그리고 더미 워드 라인들(DWL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(150)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(120)는 외부로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하도록 구성된다. 디코딩된 행 어드레스를 이용하여, 어드레스 디코더(120)는 선택 라인들(SL), 워드 라인들(WL), 그리고 더미 워드 라인들(DWL)을 선택한다. 어드레스 디코더(120)는 전달된 어드레스(ADDR) 중 열 어드레스를 디코딩하도록 구성된다. 디코딩된 열 어드레스는 읽기 및 쓰기 회로(130)에 전달된다. 예시적으로, 어드레스 디코더(120)는 행 디코더, 열 디코더, 어드레스 버퍼 등과 같이 잘 알려진 구성 요소들을 포함한다.
읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결되고, 데이터 라인들(DL)을 통해 데이터 입출력 회로(140)에 연결된다. 읽기 및 쓰기 회로(130)는 제어 로직(150)의 제어에 응답하여 동작한다. 읽기 및 쓰기 회로(130)는 어드레스 디코더(120)로부터 디코딩된 열 어드레스를 수신하도록 구성된다. 디코딩된 열 어드레스를 이용하여, 읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 선택한다.
예시적으로, 읽기 및 쓰기 회로(130)는 데이터 입출력 회로(140)로부터 데이터를 수신하고, 수신된 데이터를 메모리 셀 어레이(110)에 기입한다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽고, 읽어진 데이터를 데이터 입출력 회로(140)에 전달한다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)의 제 1 저장 영역으로부터 데이터를 읽고, 읽어진 데이터를 메모리 셀 어레이(110)의 제 2 저장 영역에 기입한다. 예를 들면, 읽기 및 쓰기 회로(230)는 카피-백(copy-back) 동작을 수행하도록 구성된다.
예시적으로, 읽기 및 쓰기 회로(130)는 페이지 버퍼(또는 페이지 레지스터), 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다. 다른 예로서, 읽기 및 쓰기 회로(130)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다.
데이터 입출력 회로(140)는 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 데이터 입출력 회로(140)는 제어 로직(150)의 제어에 응답하여 동작한다. 데이터 입출력 회로(140)는 외부와 데이터(DATA)를 교환하도록 구성된다. 데이터 입출력 회로(140)는 외부로부터 전달되는 데이터(DATA)를 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(130)에 전달하도록 구성된다. 데이터 입출력 회로(140)는 읽기 및 쓰기 회로로부터 데이터 라인들(DL)을 통해 전달되는 데이터(DATA)를 외부로 출력하도록 구성된다. 예시적으로, 데이터 입출력 회로(140)는 데이터 버퍼 등과 같이 잘 알려진 구성 요소를 포함한다.
제어 로직(150)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 그리고 데이터 입출력 회로(140)에 연결된다. 제어 로직(150)은 플래시 메모리 장치(100)의 제반 동작을 제어하도록 구성된다. 제어 로직(150)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다.
제어 로직(150)은 전압 생성기(150)를 포함한다. 전압 생성기(150)는 불휘발성 메모리 장치(100)의 동작 시에 요구되는 다양한 레벨의 전압들을 생성하도록 구성된다. 예를 들면, 전압 생성기(150)는 다양한 레벨의 고전압들을 생성하도록 구성된다. 전압 생성기(150)에 의해 생성된 전압들은 어드레스 디코더(120)를 통해 워드 라인들(WL) 및 더미 워드 라인들(DWL)에 전달된다.
도 2는 도 1의 메모리 셀 어레이(110)를 나타내는 블록도이다. 도 2를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKh)을 포함한다. 각 메모리 블록(BLK)은 3차원 구조(또는 수직 구조)를 갖는다. 예를 들면, 각 메모리 블록(BLK)은 제 1 내지 제 3 방향들을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 메모리 블록(BLK)은 제 2 방향을 따라 신장된 복수의 낸드 스트링들(NS)을 포함한다. 예를 들면, 제 1 및 제 3 방향들을 따라 복수의 낸드 스트링들(NS)이 제공될 것이다.
각 낸드 스트링(NS)은 비트 라인(BL), 적어도 하나의 스트링 선택 라인(SSL), 적어도 하나의 접지 선택 라인(GSL), 워드 라인들(WL), 적어도 하나의 더미 워드 라인(DWL), 그리고 공통 소스 라인(CSL)에 연결된다. 즉, 각 메모리 블록은 복수의 비트 라인들(BL), 복수의 스트링 선택 라인들(SSL). 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 복수의 더미 워드 라인들(DWL), 그리고 복수의 공통 소스 라인(CSL)에 연결될 것이다. 메모리 블록들(BLK1~BLKh)은 도 4를 참조하여 더 상세하게 설명된다.
도 3은 도 2의 메모리 블록들(BLK1~BLKh) 중 하나(BLKi)를 예시적으로 나타낸 사시도이다. 도 4는 도 3의 메모리 블록(BLKi)을 선(Ⅰ-Ⅰ')을 따라 자른 단면을 나타내는 단면도이다. 도 3 및 도 4를 참조하면, 메모리 블록(BLKi)은 제 1 내지 제 3 방향들을 따라 신장된 구조물들을 포함한다.
우선, 기판(111)이 제공된다. 예시적으로, 기판(111)은 제 1 타입 불순물로 도핑된 실리콘 물질을 포함할 것이다. 예를 들면, 기판(111)은 p 타입 불순물로 도핑된 실리콘 물질을 포함할 것이다. 예를 들면, 기판(111)은 p 타입 웰(예를 들면, 포켓 p 웰)일 것이다. 예를 들면, 기판(111)은 p-타입 웰을 둘러사는 n-타입 웰을 더 포함할 수 있다. 이하에서, 기판(111)은 p 타입 실리콘인 것으로 가정한다. 그러나, 기판(111)은 p 타입 실리콘으로 한정되지 않는다.
기판(111) 상에, 제 1 방향을 따라 신장된 복수의 도핑 영역들(311~314)이 제공된다. 예를 들면, 복수의 도핑 영역들(311~314)은 기판(111)과 상이한 제 2 타입을 가질 것이다. 예를 들면, 복수의 도핑 영역들(311~314)은 n-타입을 가질 것이다. 이하에서, 제 1 내지 제 4 도핑 영역들(311~314)은 n-타입들인 것으로 가정한다. 그러나, 제 1 내지 제 4 도핑 영역들(311~314)은 n-타입들인 것으로 한정되지 않는다.
제 1 및 제 2 도핑 영역들(311, 312) 사이에 대응하는 기판(111) 상의 영역에서, 제 1 방향을 따라 신장되는 복수의 절연 물질들(112)이 제 2 방향을 따라 순차적으로 제공된다. 예를 들면, 복수의 절연 물질들(112) 및 기판(111)은 제 2 방향을 따라 미리 설정된 거리 만큼 이격되어 제공될 것이다. 예를 들면, 복수의 절연 물질들(112)은 각각 제 2 방향을 따라 미리 설정된 거리 만큼 이격되어 제공될 것이다. 예시적으로, 절연 물질들(112)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다.
제 1 및 제 2 도핑 영역들(311, 312) 사이에 대응하는 기판(111) 상의 영역에서, 제 1 방향을 따라 순차적으로 배치되며 제 2 방향을 따라 절연 물질들(112)을 관통하는 복수의 필라들(113)이 제공된다. 예시적으로, 복수의 필라들(113) 각각은 절연 물질들(112)을 관통하여 기판(111)과 연결될 것이다.
예시적으로, 각 필라(113)는 복수의 물질들로 구성될 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 제 1 타입으로 도핑된 실리콘 물질을 포함할 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 기판(111)과 동일한 타입으로 도핑된 실리콘 물질을 포함할 것이다. 이하에서, 각 필라(113)의 표면층(114)은 p-타입 실리콘을 포함하는 것으로 가정한다. 그러나, 각 필라(113)의 표면층(114)은 p-타입 실리콘을 포함하는 것으로 한정되지 않는다.
각 필라(113)의 내부층(115)은 절연 물질로 구성된다. 예를 들면, 각 필라(113)의 내부층(115)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질로 충진될 것이다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연 물질들(112), 필라들(113), 그리고 기판(111)의 노출된 표면을 따라 절연막(116)이 제공된다. 예시적으로, 절연막(116)의 두께는 절연 물질들(112) 사이의 거리의 1/2 보다 작을 것이다. 즉, 절연 물질들(112) 중 제 1 절연 물질의 하부면에 제공된 절연막(116), 그리고 제 1 절연 물질 하부의 제 2 절연 물질의 상부면에 제공된 절연막(116) 사이에, 절연 물질들(112) 및 절연막(116) 이외의 물질이 배치될 수 있는 영역이 제공될 것이다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연막(116)의 노출된 표면 상에 도전 물질들(211~291)이 제공된다. 예를 들면, 기판(111)에 인접한 절연 물질(112) 및 기판(111) 사이에 제 1 방향을 따라 신장되는 도전 물질(211)이 제공된다. 더 상세하게는, 기판(111)에 인접한 절연 물질(112)의 하부면의 절연막(116) 및 기판(111) 사이에, 제 1 방향으로 신장되는 도전 물질(211)이 제공된다.
절연 물질들(112) 중 특정 절연 물질 상부면의 절연막(116) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(116) 사이에, 제 1 방향을 따라 신장되는 도전 물질이 제공된다. 예시적으로, 절연 물질들(112) 사이에, 제 1 방향으로 신장되는 복수의 도전 물질들(221~281)이 제공된다. 또한, 절연 물질들(112) 상의 영역에 제 1 방향을 따라 신장되는 도전 물질(291)이 제공된다. 예시적으로, 제 1 방향으로 신장된 도전 물질들(211~291)은 금속 물질일 것이다. 예시적으로, 제 1 방향으로 신장된 도전 물질들(211~291)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, 제 1 방향으로 신장되는 복수의 절연 물질들(112), 제 1 방향을 따라 순차적으로 배치되며 제 3 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 제 1 방향을 따라 신장되는 복수의 도전 물질들(212~292)이 제공된다.
제 3 및 제 4 도핑 영역들(313, 314) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 3 및 제 4 도핑 영역들(312, 313) 사이의 영역에서, 제 1 방향으로 신장되는 복수의 절연 물질들(112), 제 1 방향을 따라 순차적으로 배치되며 제 3 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 제 1 방향을 따라 신장되는 복수의 도전 물질들(213~293)이 제공된다.
복수의 필라들(113) 상에 드레인들(320)이 각각 제공된다. 예시적으로, 드레인들(320)은 제 2 타입으로 도핑된 실리콘 물질들일 것이다. 예를 들면, 드레인들(320)은 n 타입으로 도핑된 실리콘 물질들일 것이다. 이하에서, 드레인들(320)는 n-타입 실리콘을 포함하는 것으로 가정한다. 그러나, 드레인들(320)은 n-타입 실리콘을 포함하는 것으로 한정되지 않는다. 예시적으로, 각 드레인(320)의 폭은 대응하는 필라(113)의 폭 보다 클 수 있다. 예를 들면, 각 드레인(320)은 대응하는 필라(113)의 상부면에 패드 형태로 제공될 수 있다.
드레인들(320) 상에, 제 3 방향으로 신장된 도전 물질들(331~333)이 제공된다. 도전 물질들(331~333)은 제 1 방향을 따라 순차적으로 배치된다. 도전 물질들(331~333) 각각은 대응하는 영역의 드레인들(320)과 연결된다. 예시적으로, 드레인들(320) 및 제 3 방향으로 신장된 도전 물질(333)은 각각 콘택 플러그들(contact plug)을 통해 연결될 수 있다. 예시적으로, 제 3 방향으로 신장된 도전 물질들(331~333)은 금속 물질들일 것이다. 예시적으로, 제 3 방향으로 신장된 도전 물질들(331~333)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
도 3 및 도 4에서, 각 필라(113)는 절연막(116)의 인접한 영역 및 제 1 방향을 따라 신장되는 복수의 도체 라인들(211~291, 212~292, 213~293) 중 인접한 영역과 함께 스트링을 형성한다. 예를 들면, 각 필라(113)는 절연막(116)의 인접한 영역 및 제 1 방향을 따라 신장되는 복수의 도체 라인들(211~291, 212~292, 213~293) 중 인접한 영역과 함께 낸드 스트링(NS)을 형성한다. 낸드 스트링(NS)은 복수의 트랜지스터 구조들(TS)을 포함한다. 트랜지스터 구조(TS)는 도 5를 참조하여 더 상세하게 설명된다.
도 5는 도 4의 트랜지스터 구조(TS)를 나타내는 단면도이다. 도 3 내지 도 5를 참조하면, 절연막(116)은 제 1 내지 제 3 서브 절연막들(117, 118, 119)을 포함한다. 예시적으로, 필라(113)에 인접한 제 1 서브 절연막(117)은 열산화막을 포함할 것이다. 제 2 서브 절연막(118)은 질화막 또는 금속 산화막(예를 들면, 알루미늄 산화막, 하프늄 산화막 등)을 포함할 것이다. 예시적으로, 제 1 방향으로 신장된 도전 물질(233)과 인접한 제 3 서브 절연막(119)은 단일층 또는 다층으로 형성될 수 있다. 제 3 서브 절연막(119)은 제 1 및 제 2 서브 절연막들(117, 118) 보다 높은 유전상수를 갖는 고유전막(예를 들면, 알루미늄 산화막, 하프늄 산화막 등)일 수 있다. 예시적으로, 제 1 내지 제 3 서브 절연막들(117~119)은 ONO (oxide-nitride-oxide)를 구성할 수 있다.
도전 물질(233)은 게이트(또는 제어 게이트)로 동작할 것이다. 도전 물질(233)에 인접한 제 3 서브 절연막(119)은 블로킹 절연막으로 동작할 것이다. 제 2 서브 절연막(118)은 전하 저장막으로 동작할 것이다. 예를 들면, 제 2 서브 절연막(118)은 전하 포획층으로 동작할 것이다. 필라(113)에 인접한 제 1 서브 절연막(117)은 터널링 절연막으로 동작할 것이다. 필라(113)의 p-타입 실리콘(114)은 바디(body)로 동작할 것이다. 즉, 게이트(또는 제어 게이트, 233), 블로킹 절연막(119), 전하 저장막(118), 터널링 절연막(117), 그리고 바디(114)는 트랜지스터(또는 메모리 셀 트랜지스터 구조)를 형성할 것이다. 이하에서, 필라(113)의 p-타입 실리콘(114)을 제 2 방향의 바디라 부르기로 한다.
메모리 블록(BLKi)은 복수의 필라들(113)을 포함한다. 즉, 메모리 블록(BLKi)은 복수의 낸드 스트링들(NS)을 포함한다. 더 상세하게는, 메모리 블록(BLKi)은 제 2 방향(또는 기판과 수직한 방향)으로 신장된 복수의 낸드 스트링들(NS)을 포함한다.
각 낸드 스트링(NS)은 제 2 방향을 따라 배치되는 복수의 트랜지스터 구조들(TS)을 포함한다. 각 낸드 스트링(NS)의 복수의 트랜지스터 구조들(TS) 중 적어도 하나는 스트링 선택 트랜지스터(SST)로 동작한다. 각 낸드 스트리(NS)의 복수의 트랜지스터 구조들(TS) 중 적어도 하나는 접지 선택 트랜지스터(GST)로 동작한다.
게이트들(또는 제어 게이트들)은 제 1 방향으로 신장된 도전 물질들(211~291, 212~292, 213~293)에 대응한다. 즉, 게이트들(또는 제어 게이트들)은 제 1 방향으로 신장되어 워드 라인들, 그리고 적어도 두 개의 선택 라인들(예를 들면, 적어도 하나의 스트링 선택 라인(SSL) 및 적어도 하나의 접지 선택 라인(GSL))을 형성한다.
제 3 방향으로 신장된 도전 물질들(331~333)은 낸드 스트링들(NS)의 일단에 연결된다. 예시적으로, 제 3 방향으로 신장된 도전 물질들(331~333)은 비트 라인들(BL)로 동작한다. 즉, 하나의 메모리 블록(BLKi)에서, 하나의 비트 라인(BL)에 복수의 낸드 스트링들이 연결된다.
제 1 방향으로 신장된 제 2 타입 도핑 영역들(311~314)이 낸드 스트링들의 타단에 제공된다. 제 1 방향으로 신장된 제 2 타입 도핑 영역들(311~314)은 공통 소스 라인들(CSL)로 동작한다.
요약하면, 메모리 블록(BLKi)은 기판(111)에 수직한 방향(제 2 방향)으로 신장된 복수의 낸드 스트링들을 포함하며, 하나의 비트 라인(BL)에 복수의 낸드 스트링들(NS)이 연결되는 낸드 플래시 메모리 블록(예를 들면, 전하 포획형)으로 동작한다.
도 3 내지 도 5에서, 제 1 방향으로 신장되는 도체 라인들(211~291, 212~292, 213~293)은 9 개의 층에 제공되는 것으로 설명되었다. 그러나, 제 1 방향으로 신장되는 도체 라인들(211~291, 212~292, 213~293)은 9 개의 층에 제공되는 것으로 한정되지 않는다. 예를 들면, 제 1 방향으로 신장되는 도체 라인들은 8개의 층, 16개의 층, 또는 복수의 층에 제공될 수 있다. 즉, 하나의 낸드 스트링에서, 트랜지스터는 8개, 16개, 또는 복수개일 수 있다.
도 3 내지 도 5에서, 하나의 비트 라인(BL)에 3 개의 낸드 스트링들(NS)이 연결되는 것으로 설명되었다. 그러나, 하나의 비트 라인(BL)에 3개의 낸드 스트링들(NS)이 연결되는 것으로 한정되지 않는다. 예시적으로, 메모리 블록(BLKi)에서, 하나의 비트 라인(BL)에 m 개의 낸드 스트링들(NS)이 연결될 수 있다. 이때, 하나의 비트 라인(BL)에 연결되는 낸드 스트링들(NS)의 수 만큼, 제 1 방향으로 신장되는 도전 물질들(211~291, 212~292, 213~293)의 수 및 공통 소스 라인들(311~314)의 수 또한 조절될 것이다.
도 3 내지 도 5에서, 제 1 방향으로 신장된 하나의 도전 물질에 3 개의 낸드 스트링들(NS)이 연결되는 것으로 설명되었다. 그러나, 제 1 방향으로 신장된 하나의 도전 물질에 3 개의 낸드 스트링들(NS)이 연결되는 것으로 한정되지 않는다. 예를 들면, 제 1 방향으로 신장된 하나의 도전 물질에, n 개의 낸드 스트링들(NS)이 연결될 수 있다. 이때, 제 1 방향으로 신장된 하나의 도전 물질에 연결되는 낸드 스트링들(NS)의 수 만큼, 비트 라인들(331~333)의 수 또한 조절될 것이다.
도 6은 도 3 내지 도 5를 참조하여 설명된 메모리 블록(BLKi)의 등가 회로를 나타내는 회로도이다. 도 3 내지 도 6을 참조하면, 제 1 비트 라인(BL1) 및 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11~NS31)이 제공된다. 제 1 비트 라인(BL1)은 제 3 방향으로 신장된 도전 물질(331)에 대응할 것이다. 제 2 비트 라인(BL2) 및 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공된다. 제 2 비트 라인(BL2)은 제 3 방향으로 신장된 도전 물질(332)에 대응할 것이다. 제 3 비트 라인(BL3) 및 공통 소스 라인(CSL) 사이에, 낸드 스트링들(NS13, NS23. NS33)이 제공된다. 제 3 비트 라인(BL3)은 제 3 방향으로 신장된 도전 물질(333)에 대응할 것이다.
각 낸드 스트링(NS)의 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)과 연결된다. 각 낸드 스트링(NS)의 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)과 연결된다. 각 낸드 스트링(NS)의 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST) 사이에 메모리 셀들(MC)이 제공된다.
이하에서, 행 및 열 단위로 낸드 스트링들(NS)을 정의한다. 하나의 비트 라인에 공통으로 연결된 낸드 스트링들(NS)은 하나의 열을 형성한다. 예를 들면, 제 1 비트 라인(BL1)에 연결된 낸드 스트링들(NS11~NS31)은 제 1 열에 대응할 것이다. 제 2 비트 라인(BL2)에 연결된 낸드 스트링들(NS12~NS32)은 제 2 열에 대응할 것이다. 제 3 비트 라인(BL3)에 연결된 낸드 스트링들(NS13~NS33)은 제 3 열에 대응할 것이다.
하나의 스트링 선택 라인(SSL)에 연결되는 낸드 스트링들(NS)은 하나의 행을 형성한다. 예를 들면, 제 1 스트링 선택 라인(SSL1)에 연결된 낸드 스트링들(NS11~NS13)은 제 1 행을 형성한다. 제 2 스트링 선택 라인(SSL2)에 연결된 낸드 스트링들(NS21~NS23)은 제 2 행을 형성한다. 제 3 스트링 선택 라인(SSL3)에 연결된 낸드 스트링들(NS31~NS33)은 제 3 행을 형성한다.
각 낸드 스트링(NS)에서, 높이가 정의된다. 예시적으로, 각 낸드 스트링(NS)에서, 접지 선택 트랜지스터(GST)에 인접한 메모리 셀(MC1)의 높이는 1이다. 각 낸드 스트링(NS)에서, 스트링 선택 트랜지스터(SST)에 인접할수록 메모리 셀의 높이는 증가한다. 각 낸드 스트링(NS)에서, 스트링 선택 트랜지스터(SST)에 인접한 메모리 셀(MC7)의 높이는 7이다.
동일한 행의 낸드 스트링들(NS)의 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL)을 공유한다. 상이한 행의 낸드 스트링들(NS)의 스트링 선택 트랜지스터들(SST)은 상이한 스트링 선택 라인들(SSL1, SSL2, SSL3)에 각각 연결된다.
동일한 행의 낸드 스트링들(NS)의 동일한 높이의 메모리 셀들은 워드 라인(WL)을 공유한다. 동일한 높이에서, 상이한 행의 낸드 스트링들(NS)의 메모리 셀들(MC)에 연결된 워드 라인들(WL)은 공통으로 연결된다. 동일한 행의 낸드 스트링들(NS)의 동일한 높이의 더미 메모리 셀들(DMC)은 더미 워드 라인(DWL)을 공유한다. 동일한 높이에서, 상이한 행의 낸드 스트링들(NS)의 더미 메모리 셀들(DMC)에 연결된 더미 워드 라인들(DWL)은 공통으로 연결된다.
예시적으로, 워드 라인들(WL) 또는 더미 워드 라인들(DWL)은 제 1 방향으로 신장되는 도전 물질들(211~291 212~292, 213~293)이 제공되는 층에서 공통으로 연결될 수 있다. 예시적으로, 제 1 방향으로 신장되는 도전 물질들(211~291 212~292, 213~293)은 콘택을 통해 상부 층에 연결될 것이다. 상부 층에서 제 1 방향으로 신장되는 도전 물질들(211~291 212~292, 213~293)이 공통으로 연결될 수 있다.
동일한 행의 낸드 스트링들(NS)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL)을 공유한다. 상이한 행의 낸드 스트링들(NS)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL)을 공유한다. 즉, 낸드 스트링들(NS11~NS13, NS21~NS23, NS31~NS33)은 접지 선택 라인(GSL)에 공통으로 연결된다.
공통 소스 라인(CSL)은 낸드 스트링들(NS)에 공통으로 연결된다. 예를 들면, 기판(111) 상의 활성 영역에서, 제 1 내지 제 4 도핑 영역들(311~314)이 연결될 것이다. 예를 들면, 제 1 내지 제 4 도핑 영역들(311~314)은 콘택을 통해 상부 층에 연결될 것이다. 상부 층에서 제 1 내지 제 4도핑 영역들(311~314)이 공통으로 연결될 수 있다.
도 6에 도시된 바와 같이, 동일 깊이의 워드 라인들(WL)은 공통으로 연결되어 있다. 따라서, 특정 워드 라인(WL)이 선택될 때, 특정 워드 라인(WL)에 연결된 모든 낸드 스트링들(NS)이 선택될 것이다. 상이한 행의 낸드 스트링들(NS)은 상이한 스트링 선택 라인(SSL)에 연결되어 있다. 따라서, 스트링 선택 라인들(SSL1~SSL3)을 선택함으로써, 동일 워드 라인(WL)에 연결된 낸드 스트링들(NS) 중 비선택 행의 낸드 스트링들(NS)이 비트 라인들(BL1~BL3)로부터 분리될 수 있다. 즉, 스트링 선택 라인들(SSL1~SSL3)을 선택함으로써, 낸드 스트링들(NS)의 행이 선택될 수 있다. 그리고, 비트 라인들(BL1~BL3)을 선택함으로써, 선택 행의 낸드 스트링들(NS)이 열 단위로 선택될 수 있다.
각 낸드 스트링(NS)에서, 더미 메모리 셀(DMC)이 제공된다. 더미 메모리 셀(DMC) 및 접지 선택 라인(GST) 사이에 제 1 내지 제 3 메모리 셀들(MC1~MC3)이 제공된다. 더미 메모리 셀(DMC) 및 스트링 선택 라인(SST) 사이에 제 4 내지 제 6 메모리 셀들(MC4~MC6)이 제공된다. 이하에서, 각 낸드 스트링(NS)의 메모리 셀들(MC)은 더미 메모리 셀(DMC)에 의해 메모리 셀 그룹들로 분할되는 것으로 가정한다. 분할된 메모리 셀 그룹들 중 접지 선택 트랜지스터(GST)에 인접한 메모리 셀들(예를 들면, MC1~MC3)을 하부 메모리 셀 그룹이라 부르기로 한다. 그리고, 분할된 메모리 셀 그룹들 중 스트링 선택 트랜지스터(SST)에 인접한 메모리 셀들(예를 들면, MC4~MC6)을 상부 메모리 셀 그룹이라 부르기로 한다.
도 7은 도 6의 메모리 블록(BLKi)의 하부 메모리 셀 그룹 및 상부 메모리 셀 그룹을 나타내는 회로도이다. 도 7을 참조하면, 메모리 블록(BLKi)의 하부 메모리 셀 그룹 및 상부 메모리 셀 그룹은 각각 메모리 블록(BLKi)의 서브 블록을 형성한다. 예를 들어 설명하면, 메모리 블록(BLKi)의 낸드 스트링들(NS11~NS13, NS21~NS23, NS31~NS33)의 하부 메모리 셀 그룹들은 제 1 서브 블록을 형성한다. 그리고, 메모리 블록(BLKi)의 낸드 스트링들(NS11~NS13, NS21~NS23, NS31~NS33)의 상부 메모리 셀 그룹들은 제 2 서브 블록을 형성한다.
예시적으로, 프로그램 동작 또는 소거 동작은 서브 블록 단위로 수행될 것이다. 예를 들면, 제 1 및 제 2 서브 블록들은 독립적으로 프로그램 또는 소거 가능할 것이다. 예를 들면, 제 1 서브 블록이 프로그램되는 동안 제 2 서브 블록은 프로그램 금지될 수 있다. 그리고, 제 1 서브 블록이 소거되는 동안 제 2 서브 블록은 소거 금지될 수 있다. 마찬가지로, 제 2 서브 블록이 프로그램 또는 소거되는 동안, 제 1 서브 블록은 프로그램 금지 또는 소거 금지될 수 있다. 즉, 각 낸드 스트링(NS)에서, 메모리 셀들(MC1~MC6) 중 일부(예를 들면, MC1~MC3)가 소거되는 동안 나머지 일부(예를 들면, MC4~MC6)는 소거 금지될 수 있다.
도 8은 본 발명의 제 1 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다. 도 8을 참조하면, 본 발명의 제 1 실시 예에서, 불휘발성 메모리 장치(100, 도 1 참조)는 복수의 메모리 블록(410, 420)을 포함한다. 도 8에서는 두 개의 메모리 블록들(410, 420)만 도시되었지만, 이는 예시적인 것으로 불휘발성 메모리 장치(100)는 세 개 이상의 메모리 블록을 포함할 수 있다.
하나의 메모리 블록이 복수의 서브 블록을 포함하는 경우, 일부 서브 블록에 읽기 디스터브가 발생할 수 있다. 예를 들어, 하나의 메모리 블록이 프로그램된 서브 블록 및 프로그램되지 않은 서브 블록을 모두 포함한다고 가정한다. 프로그램된 서브 블록을 읽기 위해서, 불휘발성 메모리 장치(100)는 프로그램되지 않은 서브 블록의 워드 라인에 읽기 전압을 인가한다. 그리고, 인가된 읽기 전압은 프로그램되지 않은 서브 블록의 문턱 전압 분포를 변화시킬 수 있다. 그리고, 이러한 읽기 디스터브는 불휘발성 메모리 장치(100)의 신뢰성을 저하시킨다.
읽기 디스터브는 하나의 메모리 블록이 프로그램된 서브 블록과 프로그램되지 않은 서브 블록을 모두 포함하기 때문에 발생한다. 따라서, 프로그램된 서브 블록 및 프로그램되지 않은 서브 블록을 모두 포함하는 메모리 블록(이하, 부분 저장 블록이라 한다.)의 수가 증가할수록 읽기 디스터브도 증가할 수 있다.
본 발명의 제 1 실시 예에서는 읽기 디스터브를 최소화하는 메모리 관리 방법을 제공한다. 특히, 본 발명의 메모리 관리 방법은 부분 저장 블록의 수를 최소화한다.
이하에서는 도 8을 참조하여 본 발명의 제 1 실시 예에 따른 메모리 관리 방법을 구체적으로 설명한다. 도 8을 참조하면, 불휘발성 메모리 장치(100)에는 두 개의 메모리 블록(410, 420)이 포함되어 있다. 그리고 메모리 블록들(410, 420)은 각각 두 개의 서브 블록들을 포함한다. 빗금친 서브 블록(412)는 프로그램된 서브 블록을 나타낸다. 빗금이 없는 서브 블록들(411, 421, 422)은 프로그램되지 않은 서브 블록들을 나타낸다.
제 1 메모리 블록(410)은 프로그램된 서브 블록(412) 및 프로그램되지 않은 서브 블록(411)을 모두 포함한다. 따라서, 제 1 메모리 블록(410)은 부분 저장 블록이다. 제 2 메모리 블록(420)은 프로그램된 서브 블록을 포함하지 않는다. 이하에서, 이러한 메모리 블록은 비어있는 메모리 블록이라 한다.
불휘발성 메모리 장치(100)에 쓰기 요청이 수신되면, 제어 로직(150, 도 1 참조)은 쓰기 데이터를 프로그램할 메모리 블록을 결정한다. 이때, 제어 로직(150)은 메모리 블록들(410, 420)에 포함된 서브 블록들(411, 412, 421, 422)의 프로그램 여부를 검출한다. 여기서 프로그램 여부는 서브 블록이 프로그램 상태인지 또는 소거 상태인지를 나타내는 것을 의미한다.
그리고, 제어 로직(150)은 검출된 프로그램 여부에 따라, 쓰기 데이터를 메모리 블록에 프로그램한다. 이때, 부분 저장 블록을 최소화하기 위해, 제어 로직(150)은 일부 서브 블록이 프로그램된 제 1 메모리 블록(410)에 쓰기 데이터를 프로그램한다. 구체적으로, 제 1 메모리 블록(410)의 비어 있는 서브 블록(411)에 쓰기 데이터를 프로그램한다.
한편, 제어 로직(150)은 각 서브 블록(411, 412, 421, 422)을 독립적으로 프로그램할 수 있다.
위와 같은 구성에 따르면, 쓰기 데이터를 프로그램하여도 불휘발성 메모리 장치(100)의 부분 저장 블록은 1개가 된다.
반면에, 본 발명의 실시 예와 달리 쓰기 데이터를 제 2 메모리 블록(420) 중 어느 한 서브 블록에 프로그램한다고 가정한다. 그러면, 프로그램 종료 후 제 2 메모리 블록(420)도 부분 저장 블록이 될 것이다. 따라서, 부분 저장 블록의 수는 2개가 될 것이다.
따라서, 본 발명의 제 1 실시 예에 따르면, 부분 저장 블록의 수가 최소화된다. 그 결과 불휘발성 메모리 장치의 읽기 디스터브가 감소될 수 있다.
도 9는 본 발명의 제 1 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다. 도 9를 참조하면, 메모리 관리 방법은 S110 및 S120 단계를 포함한다.
S110 단계에서, 불휘발성 메모리 장치(100, 도 1 참조)는 복수의 메모리 블록의 서브 블록들의 프로그램 여부를 검출한다. 여기서, 프로그램 여부는 서브 블록이 프로그램 상태인지 또는 소거 상태인지 나타내는 것을 의미한다. 프로그램 여부를 검출하는 구체적인 방법은 위에서 설명한 바와 동일하다.
S120 단계에서, 불휘발성 메모리 장치(100)는 데이터 쓰기 요청에 따라 쓰기 데이터를 프로그램한다. 구체적으로, 불휘발성 메모리 장치(100)는 서브 블록의 프로그램 여부에 따라, 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램한다. 즉, 불휘발성 메모리 장치(100)는 부분 저장 블록을 최소화하기 위해, 프로그램된 서브 블록을 포함하지 않는 메모리 블록에 우선하여 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램한다.
불휘발성 메모리 장치(100)가 쓰기 데이터를 프로그램할 메모리 블록(이하, 대상 메모리 블록이라 한다.)을 결정하는 구체적인 방법은 위에서 설명한 바와 동일하다. 한편, 대상 메모리 블록은 쓰기 데이터를 저장하기 위해 프로그램되지 않은 서브 블록을 포함한다. 즉, 대상 메모리 블록은 부분 저장 블록이다. 그리고, 불휘발성 메모리 장치(100)는 쓰기 데이터를 대상 메모리 블록의 프로그램되지 않은 서브 블록에 프로그램한다.
한편, 불휘발성 메모리 장치(100)에 부분 저장 블록이 없으면, 불휘발성 메모리 장치(100)는 쓰기 데이터를 프로그램된 서브 블록을 포함하지 않은 메모리 블록에 프로그램할 수 있다.
상기와 같은 구성에 따르면, 부분 저장 블록의 수가 최소화된다. 그 결과, 읽기 디스터브가 감소할 수 있다.
도 10은 도 9의 메모리 관리 방법을 보다 상세하게 나타낸 순서도이다. 도 10을 참조하면, 메모리 관리 방법은 S210 단계 내지 S230 단계를 포함한다.
S210 단계에서, 불휘발성 메모리 장치(100, 도 1 참조)는 복수의 메모리 블록의 서브 블록들의 프로그램 여부를 검출한다. 여기서, 프로그램 여부는 서브 블록이 프로그램 상태인지 또는 소거 상태인지 나타내는 것을 의미한다. 프로그램 여부를 검출하는 구체적인 방법은 위에서 설명한 바와 동일하다.
S220 단계에서, 불휘발성 메모리 장치(100)는 부분 저장 블록이 존재하는 지 판단한다. 부분 저장 블록이 존재하면 메모리 관리 방법은 S230 단계로 진행한다. 부분 저장 블록이 존재하지 않으면, 메모리 관리 방법은 종료한다.
S230 단계에서, 불휘발성 메모리 장치(100)는 데이터 쓰기 요청에 따라 쓰기 데이터를 프로그램한다. 구체적으로, 불휘발성 메모리 장치(100)는 서브 블록의 프로그램 여부에 따라, 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램한다. 즉, 불휘발성 메모리 장치(100)는 부분 저장 블록을 최소화하기 위해, 프로그램된 서브 블록을 포함하지 않는 메모리 블록에 우선하여 프로그램된 서브 블록을 포함하는 메모리 블록에 쓰기 데이터를 프로그램한다. 불휘발성 메모리 장치(100)가 쓰기 데이터를 프로그램하는 구체적인 방법은 위에서 설명한 바와 동일하다.
상기와 같은 구성에 따르면, 부분 저장 블록의 수가 최소화된다. 그 결과, 읽기 디스터브가 감소할 수 있다.
도 11은 본 발명의 제 2 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다. 도 11을 참조하면, 불휘발성 메모리 장치(100, 도 1 참조)의 메모리 셀 어레이(500)는 메모리 블록(510)을 포함한다. 그리고, 메모리 블록(510)은 복수의 서브 블록(511, 512, 513)을 포함한다.
하나의 메모리 블록에 복수의 서브 블록이 포함된 경우, 프로그램 부스팅 효율이 감소할 수 있다. 구체적으로 설명하면, 복수의 서브 블록 중 공통 소스 라인(CSL)로부터 멀리 떨어진 서브 블록(이하, 상단 서브 블록)이 먼저 프로그램되었다고 가정한다. 이후에, 공통 소스 라인(CSL)에 가까운 서브 블록(이하, 하단 서브 블록)을 프로그램할 때, 비트 라인으로부터의 하단 서브 블록으로의 전하 주입을 먼저 프로그램된 상단 서브 블록이 방해하게 된다. 그 결과, 하단 서브 블록에 비트 라인으로부터 전하가 충분히 주입되지 못한 상태에서, 하단 서브 블록에 프로그램 펄스 전압이 인가된다. 그 결과, 하단 서브 블록의 프로그램시 부스팅 효율이 감소하게 된다.
이러한 부스팅 효율의 감소는 공통 소스 라인(CSL)으로부터 멀리 떨어진 서브 블록이 공통 소스 라인(CSL)과 가까운 서브 블록보다 먼저 프로그램되었기 때문에 발생한다.
본 발명의 제 2 실시 예에서는 불휘발성 메모리 장치(100)의 부스팅 효율을 향상시키기 위해, 메모리 블록을 프로그램할 때 공통 소스 라인(CSL)과 가까운 서브 블록부터 프로그램한다.
구체적인 설명을 위해 도 11을 참조하면, 메모리 블록(510)은 세 개의 서브 블록(511, 512, 513)을 포함한다. 다만, 이는 예시적인 것으로서, 메모리 블록(510)은 두 개 이상의 서브 블록을 포함할 수 있다.
각 서브 블록(511, 512, 513)은 공통 소스 라인(CSL)을 공유한다. 그리고, 아래에 위치한 서브 블록일수록 공통 소스 라인(CSL)과의 이격 거리가 가깝다. 즉, 제 1 서브 블록(511)은 공통 소스 라인(CSL)과의 거리가 가장 멀다. 제 3 서브 블록(513)은 공통 소스 라인(CSL)과의 거리가 가장 가깝다. 그리고, 제 2 서브 블록은 공통 소스 라인(CSL)과의 거리가 제 1 서브 블록(511)보다 가깝고 제 3 서브 블록(513)보다 멀다.
불휘발성 메모리 장치(100)는 데이터 쓰기 요청을 수신하면, 공통 소스 라인(CSL)에 가장 가까운 서브 블록(513)에 우선적으로 쓰기 데이터를 프로그램한다. 그리고, 공통 소스 라인(CSL)에 가장 가까운 서브 블록(513)이 프로그램된 상태이면, 불휘발성 메모리 장치(100)는 공통 소스 라인(CSL)과 다음으로 가까운 서브 블록(512)에 쓰기 데이터를 프로그램한다. 이와 같이 불휘발성 메모리 장치(100)는 공통 소스 라인(CSL)에 가장 가까운 순서에 따라 순차적으로 서브 블록들을 프로그램한다.
위와 같은 메모리 관리 방법에 따르면, 서브 블록을 프로그램할 때 위쪽에 위치한(즉, 공통 소스 라인(CSL)으로부터 더 멀리 떨어진) 서브 블록에 의한 전하 주입 방해가 발생하지 않는다. 따라서, 불휘발성 메모리 장치(100)의 프로그램 동작의 부스팅 효율이 향상될 수 있다.
도 12는 본 발명의 제 3 실시 예에 따른 메모리 관리 방법을 나타내는 도면이다. 도 12를 참조하면, 불휘발성 메모리 장치(100, 도 1 참조)의 메모리 셀 어레이(600)는 메모리 블록(610)을 포함한다. 그리고, 메모리 블록(610)은 복수의 서브 블록(611, 612, 613)을 포함한다.
하나의 메모리 블록에 복수의 서브 블록이 포함된 경우, 프로그램 부스팅 효율이 감소할 수 있다. 프로그램 부스팅 효율이 감소하는 구체적인 이유는 본 발명의 제 2 실시 예에서 설명한 바와 동일하다.
본 발명의 제 3 실시 예에서는 불휘발성 메모리 장치(100)의 부스팅 효율을 향상시키기 위해, 메모리 블록을 소거할 때 공통 소스 라인(CSL)으로부터 멀리 떨어진 서브 블록부터 소거한다.
구체적인 설명을 위해 도 12를 참조하면, 메모리 블록(610)은 세 개의 서브 블록(611, 612, 613)을 포함한다. 다만, 이는 예시적인 것으로서, 메모리 블록(510)은 두 개 이상의 서브 블록을 포함할 수 있다. 한편, 각 서브 블록(611, 612, 613)은 프로그램된 서브 블록이다.
각 서브 블록(611, 612, 613)은 공통 소스 라인(CSL)을 공유한다. 그리고, 아래에 위치한 서브 블록일수록 공통 소스 라인(CSL)과의 이격 거리가 가깝다. 즉, 제 1 서브 블록(611)은 공통 소스 라인(CSL)과의 거리가 가장 멀다. 제 3 서브 블록(613)은 공통 소스 라인(CSL)과의 거리가 가장 가깝다. 그리고, 제 2 서브 블록은 공통 소스 라인(CSL)과의 거리가 제 1 서브 블록(611)보다 가깝고 제 3 서브 블록(613)보다 멀다.
불휘발성 메모리 장치(100)는 데이터 소거 요청을 수신하면, 공통 소스 라인(CSL)으로부터 가장 멀리 떨어진 서브 블록(611)을 우선적으로 소거한다. 그리고, 공통 소스 라인(CSL)에 가장 가까운 서브 블록(611)이 소거된 상태이면, 불휘발성 메모리 장치(100)는 공통 소스 라인(CSL)으로부터 다음으로 멀리 떨어진 서브 블록(612)을 소거한다. 이와 같이 불휘발성 메모리 장치(100)는 공통 소스 라인(CSL)으로부터 멀리 떨어진 순서에 따라 순차적으로 서브 블록들을 소거한다.
위와 같은 메모리 관리 방법에 따르면, 비어있는 서브 블록을 프로그램할 때 위쪽에 위치한(즉, 공통 소스 라인(CSL)으로부터 더 멀리 떨어진) 서브 블록에 의한 전하 주입 방해가 발생하지 않는다. 따라서, 불휘발성 메모리 장치(100)의 프로그램 동작의 부스팅 효율이 향상될 수 있다.
도 13은 본 발명의 제 2 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다. 도 13을 참조하면, 메모리 관리 방법은 S310 및 S320 단계를 포함한다.
S310 단계에서, 불휘발성 메모리 장치(100, 도 1 참조)는 메모리 블록의 서브 블록들의 프로그램 여부를 검출한다. 이때, 프로그램 여부는 서브 블록이 프로그램 상태인지 소거 상태인지 나타내는 것을 의미한다.
S320 단계에서, 불휘발성 메모리 장치(100)는 서브 블록들의 프로그램 여부 검출 결과를 참조하여 쓰기 데이터를 프로그램할 서브 블록을 결정한다. 구체적으로 불휘발성 메모리 장치(100)는 메모리 블록의 프로그램되지 않은 서브 블록들 중 공통 소스 라인(CSL)과 가장 가까운 서브 블록을 프로그램한다.
불휘발성 메모리 장치(100)가 서브 블록을 프로그램하는 구체적인 방법은 도 11에서 설명한 바와 동일하다. 한편, 불휘발성 메모리 장치(100)는 서브 블록들이 서로 독립적으로 프로그램 가능하도록 서브 블록들을 제어할 수 있다.
위와 같은 메모리 관리 방법에 따르면, 비어있는 서브 블록을 프로그램할 때 위쪽에 위치한(즉, 공통 소스 라인(CSL)으로부터 더 멀리 떨어진) 서브 블록에 의한 전하 주입 방해가 발생하지 않는다. 따라서, 불휘발성 메모리 장치(100)의 프로그램 동작의 부스팅 효율이 향상될 수 있다.
도 14는 본 발명의 제 3 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다. 도 14를 참조하면, 메모리 관리 방법은 S410 및 S420 단계를 포함한다.
S410 단계에서, 불휘발성 메모리 장치(100)는 메모리 블록의 서브 블록들의 프로그램 여부를 검출한다. 이때, 프로그램 여부는 서브 블록이 프로그램 상태인지 소거 상태인지 나타내는 것을 의미한다.
S320 단계에서, 불휘발성 메모리 장치(100)는 서브 블록들의 프로그램 여부 검출 결과를 참조하여, 데이터 소거 요청에 따라 소거할 서브 블록을 결정한다. 구체적으로 불휘발성 메모리 장치(100)는 메모리 블록의 프로그램되지 않은 서브 블록들 중 공통 소스 라인(CSL)으로부터 가장 멀리 떨어진 서브 블록을 소거한다.
불휘발성 메모리 장치(100)가 서브 블록을 프로그램하는 구체적인 방법은 도 12에서 설명한 바와 동일하다. 한편, 불휘발성 메모리 장치(100)는 서브 블록들이 서로 독립적으로 소거 가능하도록 서브 블록들을 제어할 수 있다.
위와 같은 메모리 관리 방법에 따르면, 비어있는 서브 블록을 프로그램할 때 위쪽에 위치한(즉, 공통 소스 라인(CSL)으로부터 더 멀리 떨어진) 서브 블록에 의한 전하 주입 방해가 발생하지 않는다. 따라서, 불휘발성 메모리 장치(100)의 프로그램 동작의 부스팅 효율이 향상될 수 있다.
도 15는 본 발명의 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)를 예시적으로 나타내는 블록도이다.
예시적으로, 플래시 변환 계층(700)은 제어 로직(150, 도 1 참조)에 의해 구동될 것이다. 예시적으로, 플래시 변환 계층(700)은 불휘발성 메모리 장치(100)의 미리 설정된 주소 영역에 저장될 것이다. 그리고, 파워-온 시에, 플래시 변환 계층(700)은 저장된 영역으로부터 독출될 것이다.
도 1 및 도 15를 참조하면, 플래시 변환 계층(700)은 호스트(미도시)로부터 수신되는 논리 주소(LBA)를 불휘발성 메모리 장치(100)에서 사용되는 물리 주소(PBA)로 변환할 것이다.
플래시 변환 계층(700)은 불휘발성 메모리 장치(100)의 동작 특성을 향상시키기 위한 배경 동작들을 수행할 것이다. 예를 들면, 플래시 변환 계층(700)은 머지(merge), 가비지 컬렉션(garbage collection), 마모도 관리(wear-leveling), 그리고 리프레시(refresh) 등을 수행할 것이다.
플래시 변환 계층(700)은 매핑 테이블(710) 및 머지 타임 테이블(720)을 포함한다. 매핑 테이블(710)은 논리 주소(LBA) 및 물리 주소(PBA) 사이의 사상 정보를 저장하도록 구성된다. 예를 들면, 논리 주소 A에 대응하는 데이터가 불휘발성 메모리 장치(100)의 물리 주소 C의 저장 영역에 저장된 경우, 매핑 테이블(710)은 논리 주소 A 및 물리 주소 C의 사상 정보를 저장할 것이다. 머지(merge), 가비지 컬렉션(garbage collection), 리프레시(refresh) 등의 배경 동작에 의해 데이터가 저장된 물리 주소가 변화하면, 매핑 테이블(710)에 저장된 사상 정보 또한 갱신될 것이다.
머지 타임 테이블(720)은 불휘발성 메모리 장치(100)의 메모리 블록들(BLK1~BLKh)의 서브 블록들 각각의 머지 타임을 저장하도록 구성된다.
본 발명에서, 불휘발성 메모리(100)는 머지 타임 테이블(720)에 저장된 머지 타임을 참조하여 메모리 블록들을 관리할 수 있다. 불휘발성 메모리(100)가 메모리 블록들을 관리하는 구체적인 방법은 도 18과 함께 후술될 것이다.
도 16은 본 발명의 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)의 다른 예를 나타내는 블록도이다.
도 16에 도시된 플래시 변환 계층(800)은 도 15에 도시된 플래시 변환 계층(700, 도 15 참조)과 기능이나 구성이 실질적으로 동일하다. 다만, 도 16의 플래 변환 계층(800)은 머지 타임 테이블(720, 도 15 참조) 대신 P/E 사이클 테이블(820)을 포함한다.
P/E 사이클 테이블(820)은 불휘발성 메모리 장치(100)의 메모리 블록들(BLK1~BLKh)의 서브 블록들 각각의 P/E 사이클 횟수를 저장하도록 구성된다. 여기서, P/E 사이클은 서브 블록의 하나의 프로그램 동작과 하나의 소거 동작으로써 구성되는 사이클을 의미한다.
본 발명에서, 불휘발성 메모리(100)는 P/E 사이클 테이블(820)에 저장된 P/E 사이클을 참조하여 메모리 블록들을 관리할 수 있다. 불휘발성 메모리(100)가 메모리 블록들을 관리하는 구체적인 방법은 도 19와 함께 후술될 것이다.
도 17은 본 발명의 불휘발성 메모리 장치의 플래시 변환 계층(Flash Translation Layer)의 또 다른 예를 블록도이다.
도 17에 도시된 플래시 변환 계층(900)은 도 15 및 도 16에 도시된 플래시 변환 계층(700, 800, 도 15 및 도 16 참조)과 기능이나 구성이 실질적으로 동일하다. 다만, 도 17의 플래 변환 계층(900)은 머지 타임 테이블(920) 및 P/E 사이클 테이블(930)을 포함한다.
머지 타임 테이블(920) 및 P/E 사이클 테이블(930)의 구체적인 구성 및 동작은 도 15 및 도 16에서 설명한 바와 동일하다.
본 발명에서, 불휘발성 메모리(100)는 머지 타임 테이블(920) 및 P/E 사이클 테이블(930)에 저장된 머지 타임 및 P/E 사이클을 참조하여 메모리 블록들을 관리할 수 있다. 불휘발성 메모리(100)가 메모리 블록들을 관리하는 구체적인 방법은 도 18 및 도 19와 함께 후술될 것이다.
도 18은 본 발명의 제 4 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다. 도 18을 참조하면, 메모리 관리 방법은 S510 단계 내지 S550 단계를 포함한다.
S510 단계에서, 불휘발성 메모리 장치(100, 도 1 참조)는 복수의 메모리 블록의 서브 블록들의 머지 타임을 독출한다. 머지 타임은 머지 타임 테이블(720, 920, 도 15 및 도 17 참조)로부터 독출된다.
S520 단계에서, 불휘발성 메모리 장치(100)는 서브 블록을 선택적으로 소거하기 위해, 서브 블록들의 머지 타임을 비교한다. 그리고, 불휘발성 메모리 장치(100)는 소거 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록이라 한다.)보다 작은 머지 타임을 갖는 서브 블록(이하, 머지 타임 블록이라 한다.)을 검출한다.
여기서, 우선 순위 블록은 머지 타임을 고려하지 않을 때, 가장 먼저 소거 대상으로 선택될 서브 블록을 의미한다. 그리고, 우선 순위 블록은 공통 소스 라인(CSL)과의 이격도 또는 메모리에 포함된 서브 블록들의 프로그램 여부에 따라 결정될 수 있다. 구체적으로, 부분 저장 블록과 비어있는 메모리 블록이 있으면, 부분 저장 블록의 수를 최소화하기 위해, 부분 저장 블록에 포함된 서브 블록이 우선 순위 블록이 될 수 있다. 또는, 하나의 메모리 블록에 포함된 복수의 서브 블록에 있어서, 프로그램 부스팅 효율을 향상시키기 위해, 프로그램된 서브 블록 중 공통 소스 라인(CSL)으로부터 가장 멀리 떨어진 서브 블록이 우선 순위 블록이 될 수 있다.
공통 소스 라인(CSL)과의 이격도 또는 메모리에 포함된 서브 블록들의 프로그램 여부에 따라 가장 먼저 소거될 서브 블록(또는, 우선 순위 블록)을 결정하는 구체적인 방법은 제 1 및 제 3 실시 예에서 설명한 바와 동일하다.
머지 타임 블록이 존재하면 메모리 관리 방법은 S530 단계로 진행한다. 그렇지 않으면, 메모리 관리 방법은 S550 단계로 진행한다.
S530 단계에서, 불휘발성 메모리 장치(100)는 우선 순위 블록과 머지 타임 블록의 머지 타임 차이를 미리 정해진 비교 값과 비교한다. 실시 예로서, 비교 값은 불휘발성 메모리 장치(100)의 제작자 또는 사용자에 의해 임의로 정해질 수 있다.
머지 타임 차이가 비교 값보다 크면 메모리 관리 방법은 S540 단계로 진행한다. 그렇지 않으면, 메모리 관리 방법은 S550 단계로 진행한다.
S540 단계에서, 머지 타임 차이는 비교 값보다 큰 값이다. 따라서, 메모리의 효율적 관리를 위해서, 불휘발성 메모리 장치(100)는 머지 타임 차이를 우선적으로 고려하여 소거될 서브 블록을 결정한다. 따라서, 불휘발성 메모리 장치(100)는 우선 순위 블록의 소거 우선 순위를 무시하고, 머지 타임이 작은 머지 타임 블록을 소거한다.
실시 예로서, 머지 타임 블록이 복수인 경우, 불휘발성 메모리 장치(100)는 머지 타임이 가장 작은 머지 타임 블록을 소거한다.
S550 단계에서, 머지 타임 차이는 비교 값보다 작은 값이다. 따라서, 읽기 디스터브 감소 또는 부스팅 효율 향상을 위해서, 불휘발성 메모리 장치(100)는 우선 순위 블록을 소거한다.
상기와 같은 구성에 따르면, 머지 타임 차이가 큰 경우, 불휘발성 메모리 장치(100)는 메모리의 효율적 관리를 위해 머지 타임이 작은 서브 블록을 우선적으로 소거한다. 그리고, 머지 타임 차이가 큰 경우, 불휘발성 메모리 장치(100)는 읽기 디스터브 감소 또는 부스팅 효율 향상을 위해서 우선 순위 블록을 소거한다. 그 결과, 불휘발성 메모리 장치(100)의 성능이 향상될 수 있다.
도 19는 본 발명의 제 5 실시 예에 따른 메모리 관리 방법을 나타내는 순서도이다. 도 19를 참조하면, 메모리 관리 방법은 S610 단계 내지 S650 단계를 포함한다.
S610 단계에서, 불휘발성 메모리 장치(100, 도 1 참조)는 복수의 메모리 블록의 서브 블록들의 P/E 사이클 횟수를 독출한다. P/E 사이클 횟수는 P/E 사이클 테이블(820, 930, 도 16 및 도 17 참조)로부터 독출된다.
S620 단계에서, 불휘발성 메모리 장치(100)는 서브 블록을 선택적으로 프록램하기 위해, 서브 블록들의 P/E 사이클을 비교한다. 그리고, 불휘발성 메모리 장치(100)는 프로그램 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록이라 한다.)보다 작은 P/E 사이클을 갖는 서브 블록(이하, P/E 사이클 블록이라 한다.)을 검출한다.
여기서, 우선 순위 블록은 P/E 사이클을 고려하지 않을 때, 가장 먼저 쓰기 데이터를 프로그램할 서브 블록을 의미한다. 그리고, 우선 순위 블록은 공통 소스 라인(CSL)과의 이격도 또는 메모리에 포함된 서브 블록들의 프로그램 여부에 따라 결정될 수 있다. 구체적으로, 부분 저장 블록과 비어있는 메모리 블록이 있으면, 부분 저장 블록의 수를 최소화하기 위해, 부분 저장 블록에 포함된 서브 블록이 우선 순위 블록이 될 수 있다. 또는, 하나의 메모리 블록에 포함된 복수의 서브 블록에 있어서, 프로그램 부스팅 효율을 향상시키기 위해, 프로그램된 서브 블록 중 공통 소스 라인(CSL)과 가장 가까운 서브 블록이 우선 순위 블록이 될 수 있다.
공통 소스 라인(CSL)과의 이격도 또는 메모리에 포함된 서브 블록들의 프로그램 여부에 따라 쓰기 데이터를 프로그램할 서브 블록(또는, 우선 순위 블록)을 결정하는 구체적인 방법은 제 1 및 제 3 실시 예에서 설명한 바와 동일하다.
P/E 사이클 블록이 존재하면 메모리 관리 방법은 S630 단계로 진행한다. 그렇지 않으면, 메모리 관리 방법은 S650 단계로 진행한다.
S630 단계에서, 불휘발성 메모리 장치(100)는 우선 순위 블록과 P/E 사이클 블록의 P/E 사이클 횟수 차이를 미리 정해진 비교 값과 비교한다. 실시 예로서, 비교 값은 불휘발성 메모리 장치(100)의 제작자 또는 사용자에 의해 임의로 정해질 수 있다.
P/E 사이클 횟수 차이가 비교 값보다 크면 메모리 관리 방법은 S640 단계로 진행한다. 그렇지 않으면, 메모리 관리 방법은 S650 단계로 진행한다.
S640 단계에서, P/E 사이클 횟수 차이는 비교 값보다 큰 값이다. 따라서, 메모리의 효율적 관리를 위해서, 불휘발성 메모리 장치(100)는 P/E 사이클 횟수 차이를 우선적으로 고려하여 쓰기 데이터가 프로그램될 서브 블록을 결정한다. 따라서, 불휘발성 메모리 장치(100)는 우선 순위 블록의 프로그램 우선 순위를 무시하고, P/E 사이클 횟수가 작은 P/E 사이클 블록을 프로그램한다.
실시 예로서, P/E 사이클 블록이 복수인 경우, 불휘발성 메모리 장치(100)는 P/E 사이클 횟수가 가장 작은 P/E 사이클 블록을 프로그램한다.
S650 단계에서, P/E 사이클 횟수 차이는 비교 값보다 작은 값이다. 따라서, 읽기 디스터브 감소 또는 부스팅 효율 향상을 위해서, 불휘발성 메모리 장치(100)는 우선 순위 블록을 프로그램한다.
상기와 같은 구성에 따르면, P/E 사이클 횟수 차이가 큰 경우, 불휘발성 메모리 장치(100)는 메모리의 효율적 관리를 위해 P/E 사이클 횟수가 작은 서브 블록을 우선적으로 프로그램한다. 그리고, P/E 사이클 횟수 차이가 큰 경우, 불휘발성 메모리 장치(100)는 읽기 디스터브 감소 또는 부스팅 효율 향상을 위해서 우선 순위 블록을 프로그램한다. 그 결과, 불휘발성 메모리 장치(100)의 성능이 향상될 수 있다.
도 20은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 보여주는 블록도이다. 도 20을 참조하면, 메모리 시스템(1000)은 불휘발성 메모리 장치(1100) 및 컨트롤러(1500)를 포함한다.
불휘발성 메모리 장치(1100)는 도 1 내지 도 19를 참조하여 설명된 불휘발성 메모리 장치(100)와 마찬가지로 구성된다. 즉, 메모리 블록(BLKi)은 복수의 서브 블록들을 포함할 것이다. 서브 블록들 사이에 더미 메모리 셀들(DMC) 및 더미 워드 라인들(DWL)이 제공될 것이다. 서브 블록들은 독립적으로 프로그램 또는 소거 가능할 것이다. 그리고, 쓰기 데이터를 프로그램할 때, 프로그램된 서브 블록을 포함하는 메모리 블록이 우선적으로 프로그램된다. 또는, 복수의 프로그램되지 않은 서브 블록들을 포함하는 메모리 블록에 쓰기 데이터를 프로그램할 때, 공통 소스 라인(CSL)에 가장 가까운 서브 블록이 우선적으로 프로그램된다. 또는, 복수의 프로그램된 서브 블록들을 포함하는 메모리 블록의 일부 서브 블록을 소거할 때, 공통 소스 라인(CSL)로부터 가장 먼 서브 블록이 우선적으로 소거된다. 따라서, 메모리 시스템(1000)의 신뢰성 및 프로그램 효율이 향상될 것이다.
컨트롤러(1500)는 호스트(Host) 및 불휘발성 메모리 장치(1100)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(500)는 불휘발성 메모리 장치(1100)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(500)는 불휘발성 메모리 장치(1100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 컨트롤러(1500)는 불휘발성 메모리 장치(1100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(1500)는 불휘발성 메모리 장치(1100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
컨트롤러(1500)는 내부 버스(1510), 프로세서(1520), 램(1530, RAM, Random Access Memory), 호스트 인터페이스(1540), 오류 정정 블록(1550), 그리고 메모리 인터페이스(1560)를 포함한다.
내부 버스(1510)는 컨트롤러(1500)의 구성 요소들 사이에 채널을 제공한다.
프로세서(1520)는 컨트롤러(1500)의 제반 동작을 제어하도록 구성된다. 예를 들면, 프로세서(1520)는 컨트롤러(1500)에서 구동되는 펌웨어, 코드 등을 구동하도록 구성된다. 예를 들면, 프로세서(1520)는 불휘발성 메모리 장치(1100)를 제어하도록 구성되는 펌웨어, 코드 등을 구동하도록 구성된다.
램(1530)은 프로세서(1520)의 동작 메모리, 불휘발성 메모리 장치(1100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 불휘발성 메모리 장치(1100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다.
호스트 인터페이스(1540)는 호스트(Host) 및 컨트롤러(1500) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 호스트 인터페이스(1540)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(호스트)와 통신하도록 구성된다.
오류 정정 블록(1550)은 오류 정정 코드(ECC)를 이용하여 불휘발성 메모리 장치(1100)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성된다. 오류 정정 블록(1550)은 오류 정정 코드(ECC, error correcting code)를 포함한다.
메모리 인터페이스(1560)는 불휘발성 메모리 장치(1200)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
컨트롤러(1500) 및 불휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(1500) 및 불휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성한다. 예를 들면, 컨트롤러(1500) 및 불휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성한다.
컨트롤러(1500) 및 불휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성한다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(1000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(1000)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP (portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), DMB (Digital Multimedia Broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적으로, 불휘발성 메모리 장치(1100) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치(1100) 또는 메모리 시스템(1000)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장된다.
도 21은 도 20의 메모리 시스템(1000)의 응용 예를 보여주는 블록도이다. 도 21을 참조하면, 메모리 시스템(2000)은 불휘발성 메모리 장치(2100) 및 컨트롤러(2200)를 포함한다. 불휘발성 메모리 장치(2100)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할된다. 복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 도 21에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다.
각 불휘발성 메모리 칩은 도 1 내지 도 19를 참조하여 설명된 불휘발성 메모리 장치(100)와 마찬가지로 구성된다. 즉, 메모리 블록(BLKi)은 복수의 서브 블록들을 포함할 것이다. 서브 블록들 사이에 더미 메모리 셀들(DMC) 및 더미 워드 라인들(DWL)이 제공될 것이다. 서브 블록들은 독립적으로 프로그램 또는 소거 가능할 것이다. 그리고, 쓰기 데이터를 프로그램할 때, 프로그램된 서브 블록을 포함하는 메모리 블록이 우선적으로 프로그램된다. 또는, 복수의 프로그램되지 않은 서브 블록들을 포함하는 메모리 블록에 쓰기 데이터를 프로그램할 때, 공통 소스 라인(CSL)에 가장 가까운 서브 블록이 우선적으로 프로그램된다. 또는, 복수의 프로그램된 서브 블록들을 포함하는 메모리 블록의 일부 서브 블록을 소거할 때, 공통 소스 라인(CSL)로부터 가장 먼 서브 블록이 우선적으로 소거된다. 따라서, 메모리 시스템(2000)의 신뢰성 및 프로그램 효율이 향상될 것이다.
도 21에서, 하나의 채널에 복수의 불휘발성 메모리 칩들이 연결되는 것으로 설명되었다. 그러나, 하나의 채널에 하나의 불휘발성 메모리 칩이 연결되도록 메모리 시스템(2000)이 변형될 수 있음이 이해될 것이다.
도 22는 도 21을 참조하여 설명된 메모리 시스템(2000)을 포함하는 컴퓨팅 시스템(3000)을 보여주는 블록도이다. 도 22를 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리 장치(3100), 램(3200, RAM, Random Access Memory), 사용자 인터페이스(3300), 전원(3400), 그리고 메모리 시스템(2000)을 포함한다.
메모리 시스템(3500)은 시스템 버스(3500)를 통해, 중앙처리장치(3100), 램(3200), 사용자 인터페이스(3300), 그리고 전원(3400)에 전기적으로 연결된다. 사용자 인터페이스(3300)를 통해 제공되거나, 중앙 처리 장치(3100)에 의해서 처리된 데이터는 메모리 시스템(2000)에 저장된다.
도 22에서, 불휘발성 메모리 장치(2100)는 컨트롤러(2200)를 통해 시스템 버스(3500)에 연결되는 것으로 도시되어 있다. 그러나, 불휘발성 메모리 장치(2100)는 시스템 버스(3500)에 직접 연결되도록 구성될 수 있다. 이때, 불휘발성 메모리 장치(2100)의 읽기 및 소거 동작은 중앙처리장치(3100)에 의해 제어될 것이다. 그리고, 불휘발성 메모리 장치(2100)의 프로그램 동작 또는 소거 동작은 또한 중앙처리장치(3100)에 의해 제어될 것이다.
도 22에서, 도 21을 참조하여 설명된 메모리 시스템(2000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(2000)은 도 20을 참조하여 설명된 메모리 시스템(1000)으로 대체될 수 있다.
예시적으로, 컴퓨팅 시스템(3000)은 도 1 및 도 21을 참조하여 설명된 메모리 시스템들(1000, 2000)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예를 들어 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한 각 실시 예는 여러 가지 형태로 변형될 수 있다. 또한, 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허 청구범위와 균등한 것들에 의해 정해져야 한다.
1000, 2000 : 메모리 시스템
3000 : 컴퓨팅 시스템
100 : 불휘발성 메모리 장치
BLKi : 메모리 블록
400, 500, 600 : 메모리 셀 어레이
700, 800, 900 : 플래시 변환 계층
710, 810, 910 : 매핑 테이블
720, 920 : 머지 타임 테이블
820, 930 : P/E 사이클 테이블

Claims (10)

  1. 불휘발성 메모리 장치의 메모리 관리 방법에 있어서,
    상기 불휘발성 메모리 장치의 복수의 메모리 블록에 포함되는 서브 블록들이 프로그램되었는지 여부를 검출하는 단계;
    상기 검출 결과에 기초하여, 상기 복수의 메모리 블록 중 프로그램된 서브 블록 및 프로그램되지 않은 서브 블록을 포함하는 제 1 메모리 블록을 결정하는 단계; 및
    상기 검출 결과에 기초하여, 상기 복수의 메모리 블록 중 프로그램된 서브 블록을 포함하지 않는 제 2 메모리 블록에 우선하여 상기 제 1 메모리 블록에 쓰기 데이터를 프로그램하는 단계를 포함하는 메모리 관리 방법.
  2. 불휘발성 메모리 장치의 메모리 관리 방법에 있어서,
    상기 불휘발성 메모리 장치에 포함되는 메모리 블록의 서브 블록들의 프로그램 여부를 검출하는 단계;
    상기 검출 결과를 참조하여 상기 메모리 블록에 쓰기 데이터를 프로그램하는 단계;
    상기 메모리 블록의 상기 서브 블록들의 머지 타임을 독출하는 단계; 및
    상기 독출된 머지 타임에 따라, 상기 서브 블록들 중 소거 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록)을 선택적으로 소거하는 단계를 포함하되,
    상기 쓰기 데이터를 프로그램하는 단계는 상기 쓰기 데이터를 상기 메모리 블록의 프로그램되지 않은 서브 블록들 중 공통 소스 라인(CSL)과 가장 가까운 서브 블록에 프로그램하는 메모리 관리 방법.
  3. 제 2 항에 있어서,
    상기 검출 결과를 참조하여, 상기 메모리 블록의 적어도 하나의 서브 블록을 소거하는 단계를 더 포함하는 메모리 관리 방법.
  4. 제 3 항에 있어서,
    상기 적어도 하나의 서브 블록을 소거하는 단계는 상기 메모리 블록의 프로그램된 서브 블록들 중 상기 공통 소스 라인(CSL)으로부터 가장 멀리 떨어진 서브 블록을 소거하는 메모리 관리 방법.
  5. 삭제
  6. 제 2 항에 있어서,
    상기 우선 순위 블록은 상기 공통 소스 라인(CSL)과 상기 메모리 블록의 상기 서브 블록들의 이격도에 따라 결정되는 메모리 관리 방법.
  7. 제 2 항에 있어서,
    상기 소거 우선 순위를 갖는 서브 블록을 선택적으로 소거하는 단계는,
    상기 우선 순위 블록의 머지 타임보다 작은 머지 타임을 갖는 서브 블록(이하, 머지 타임 블록)을 검출하는 단계; 및
    상기 우선 순위 블록의 상기 머지 타임과 상기 머지 타임 블록의 상기 머지 타임 사이의 차이를 미리 정해진 비교 값과 비교하는 단계를 포함하는 메모리 관리 방법.
  8. 불휘발성 메모리 장치의 메모리 관리 방법에 있어서,
    상기 불휘발성 메모리 장치에 포함되는 복수의 메모리 블록의 서브 블록들의 프로그램/소거 사이클(이하, P/E 사이클) 횟수를 독출하는 단계; 및
    상기 독출된 P/E 사이클 횟수에 따라, 상기 서브 블록들 중 프로그램 우선 순위를 갖는 서브 블록(이하, 우선 순위 블록)을 선택적으로 프로그램하는 단계를 포함하되,
    공통 소스 라인(CSL)과 상기 서브 블록들의 이격도 또는 상기 복수의 메모리 블록 각각에 포함된 서브 블록들의 프로그램 여부에 따라 상기 우선 순위 블록을 결정하는 메모리 관리 방법.
  9. 제 8 항에 있어서,
    상기 프로그램 우선 순위를 갖는 서브 블록을 선택적으로 프로그램하는 단계는,
    상기 우선 순위 블록의 P/E 사이클 횟수 보다 작은 P/E 사이클 횟수를 갖는 서브 블록(이하, P/E 사이클 블록)을 검출하는 단계; 및
    상기 우선 순위 블록의 상기 P/E 사이클 횟수와 상기 P/E 사이클 블록의 상기 P/E 사이클 횟수 사이의 차이를 미리 정해진 비교 값과 비교하는 단계를 포함하는 메모리 관리 방법.
  10. 제 9 항에 있어서,
    상기 프로그램 우선 순위를 갖는 서브 블록을 선택적으로 프로그램하는 단계는,
    상기 비교 결과에 기초하여, 상기 우선 순위 블록 또는 상기 P/E 사이클 블록을 프로그램하는 단계를 더 포함하는 메모리 관리 방법.
KR1020120020506A 2012-02-28 2012-02-28 불휘발성 메모리 장치 및 그것의 메모리 관리 방법 KR101916718B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120020506A KR101916718B1 (ko) 2012-02-28 2012-02-28 불휘발성 메모리 장치 및 그것의 메모리 관리 방법
US13/686,906 US9082492B2 (en) 2012-02-28 2012-11-27 Nonvolatile memory device and memory management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020506A KR101916718B1 (ko) 2012-02-28 2012-02-28 불휘발성 메모리 장치 및 그것의 메모리 관리 방법

Publications (2)

Publication Number Publication Date
KR20130098743A KR20130098743A (ko) 2013-09-05
KR101916718B1 true KR101916718B1 (ko) 2018-11-09

Family

ID=49002709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020506A KR101916718B1 (ko) 2012-02-28 2012-02-28 불휘발성 메모리 장치 및 그것의 메모리 관리 방법

Country Status (2)

Country Link
US (1) US9082492B2 (ko)
KR (1) KR101916718B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5814867B2 (ja) * 2012-06-27 2015-11-17 株式会社東芝 半導体記憶装置
KR20150026209A (ko) * 2013-09-02 2015-03-11 삼성전자주식회사 수직형 메모리 장치 및 그 제조 방법
US9177654B2 (en) * 2014-03-26 2015-11-03 Burst Corporation Solid-state memory device with plurality of memory cards
KR102301772B1 (ko) 2015-03-09 2021-09-16 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
JP5909294B1 (ja) * 2015-03-11 2016-04-26 力晶科技股▲ふん▼有限公司 不揮発性記憶装置のための書き込み回路及び方法、並びに不揮発性記憶装置
KR102312404B1 (ko) * 2015-09-07 2021-10-13 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법
US9449698B1 (en) 2015-10-20 2016-09-20 Sandisk Technologies Llc Block and zone erase algorithm for memory
US10157680B2 (en) * 2015-12-22 2018-12-18 Sandisk Technologies Llp Sub-block mode for non-volatile memory
KR102452993B1 (ko) * 2016-03-25 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102452994B1 (ko) * 2016-09-06 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
JP6545649B2 (ja) * 2016-09-16 2019-07-17 東芝メモリ株式会社 メモリデバイス
KR102559528B1 (ko) * 2018-03-20 2023-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11087849B2 (en) * 2018-05-08 2021-08-10 Sandisk Technologies Llc Non-volatile memory with bit line controlled multi-plane mixed sub-block programming
US10839922B2 (en) 2018-05-26 2020-11-17 Sandisk Technologies Llc Memory disturb detection
US11984181B2 (en) * 2019-06-28 2024-05-14 Western Digital Technologies, Inc. Systems and methods for evaluating integrity of adjacent sub blocks of data storage apparatuses
US11189351B2 (en) * 2020-03-27 2021-11-30 Sandisk Technologies Llc Peak and average current reduction for sub block memory operation
US11455244B2 (en) * 2020-09-04 2022-09-27 Western Digital Technologies, Inc. Zoned namespace limitation mitigation using sub block mode
US20240161828A1 (en) * 2022-11-14 2024-05-16 Sandisk Technologies Llc Non-volatile memory with sub-blocks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804718B2 (en) 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US20100322000A1 (en) 2009-06-19 2010-12-23 Samsung Electronics Co., Ltd. Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175991B2 (ja) 2003-10-15 2008-11-05 株式会社東芝 不揮発性半導体記憶装置
JP2007149170A (ja) 2005-11-24 2007-06-14 Matsushita Electric Ind Co Ltd 不揮発性メモリ回路及びその駆動方法
JP5072723B2 (ja) 2008-06-11 2012-11-14 株式会社東芝 不揮発性半導体記憶装置
US8130528B2 (en) 2008-08-25 2012-03-06 Sandisk 3D Llc Memory system with sectional data lines
KR101635502B1 (ko) 2009-07-22 2016-07-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 프로그램 방법
KR101662273B1 (ko) 2009-11-27 2016-10-05 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804718B2 (en) 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US20100322000A1 (en) 2009-06-19 2010-12-23 Samsung Electronics Co., Ltd. Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby

Also Published As

Publication number Publication date
US20130223147A1 (en) 2013-08-29
KR20130098743A (ko) 2013-09-05
US9082492B2 (en) 2015-07-14

Similar Documents

Publication Publication Date Title
KR101916718B1 (ko) 불휘발성 메모리 장치 및 그것의 메모리 관리 방법
US9552884B2 (en) Nonvolatile memory and erasing method thereof
US9704590B2 (en) Operating method of nonvolatile memory and method of controlling nonvolatile memory
US9147492B2 (en) Control method of nonvolatile memory device
US8923053B2 (en) Nonvolatile memory device, operating method thereof, and memory system including the same
US8488402B2 (en) Nonvolatile memory device and method of reading the same using different precharge voltages
TWI518693B (zh) 非揮發性記憶體裝置、其操作方法以及包含該些標的之記憶體系統
KR101868393B1 (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
JP6320010B2 (ja) 3次元構造のメモリセルアレイを含む不揮発性メモリ
US20110199829A1 (en) Nonvolatile Memory Device, Programming Method Thereof And Memory System Including The Same
KR101523677B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법 그리고 그것을 포함하는 메모리 시스템
KR20130104032A (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 읽기 방법
KR102127296B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR20160056383A (ko) 불휘발성 메모리 장치 및 그것의 소거 방법

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