KR20120124285A - 배드 블록 관리를 위한 방법 및 메모리 시스템 - Google Patents

배드 블록 관리를 위한 방법 및 메모리 시스템 Download PDF

Info

Publication number
KR20120124285A
KR20120124285A KR1020110042096A KR20110042096A KR20120124285A KR 20120124285 A KR20120124285 A KR 20120124285A KR 1020110042096 A KR1020110042096 A KR 1020110042096A KR 20110042096 A KR20110042096 A KR 20110042096A KR 20120124285 A KR20120124285 A KR 20120124285A
Authority
KR
South Korea
Prior art keywords
block
unit
bad
units
virtual
Prior art date
Application number
KR1020110042096A
Other languages
English (en)
Inventor
서동영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110042096A priority Critical patent/KR20120124285A/ko
Priority to US13/438,203 priority patent/US20120284469A1/en
Publication of KR20120124285A publication Critical patent/KR20120124285A/ko
Priority to US14/659,250 priority patent/US20150186065A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/065Replication mechanisms
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

Abstract

여기서는 메모리 시스템의 배드 블록 관리 방법을 제공한다. 실시 예에 따른 복수의 유닛들을 갖는 가상 블록들 및 적어도 하나의 예비 블록을 포함하는 메모리 시스템의 배드 블록 관리 방법은, 상기 가상 블록들 및 상기 적어도 하나의 예비 블록을 대응하는 물리 블록들로 맵핑하는 단계, 상기 가상 블록들 중 어느 하나의 유닛을 배드 유닛으로 판별하는 단계, 및 상기 배드 유닛의 교체 영역을 상기 적어도 하나의 예비 블록의 유닛으로 할당하는 단계를 포함한다. 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 관리 방법은, 서브 블록 단위로 배드 블록을 관리함으로써, 보다 효율적으로 메모리 블록을 관리하게 된다.

Description

배드 블록 관리를 위한 방법 및 메모리 시스템{MEMORY SYSTEM AND METHOD FOR BAD BLOCK MANAGEMENT}
본 발명은 배드 블록 관리를 위한 메모리 시스템 및 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phosphide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 비휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 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차원 어레이 구조를 갖는 반도체 메모리 장치가 연구되고 있다.
본 발명의 목적은 효율적으로 배드 블록을 관리하는 메모리 시스템 및 그것의 배드 블록 관리 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 복수의 유닛들을 갖는 가상 블록들 및 적어도 하나의 예비 블록을 포함하는 메모리 시스템의 배드 블록 관리 방법은: 상기 가상 블록들 및 상기 적어도 하나의 예비 블록을 대응하는 물리 블록들로 맵핑하는 단계; 상기 가상 블록들 중 어느 하나의 유닛을 배드 유닛으로 판별하는 단계; 및 상기 배드 유닛의 교체 영역을 상기 적어도 하나의 예비 블록의 유닛으로 할당하는 단계를 포함한다.
실시 예에 있어서, 상기 메모리 시스템은 블록 단위로 소거 동작을 수행한다.
실시 예에 있어서, 상기 배드 유닛을 갖는 가상 블록의 소거 동작시, 상기 교체 영역을 상기 적어도 하나의 예비 블록의 상기 유닛과는 다른 유닛으로 할당하는 단계를 더 포함한다.
실시 예에 있어서, 상기 적어도 하나의 예비 블록의 상기 유닛을 무효화 데이터로 처리하는 단계를 더 포함한다.
실시 예에 있어서, 상기 배드 유닛을 판별하는 단계는, 상기 적어도 하나의 예비 블록에서 상기 배드 유닛을 갖는 가상 블록을 교체할 예비 블록이 존재하는 지를 판별하는 단계를 더 포함한다.
실시 예에 있어서, 교체할 예비 블록이 존재할 때, 상기 배드 유닛을 갖는 상기 가상 블록을 상기 존재하는 예비 블록과 교체하는 단계를 더 포함한다.
실시 예에 있어서, 상기 가상 블록과 상기 예비 블록이 교체된 후에, 상기 교체된 가상 블록과는 다른 가상 블록에서 어느 하나의 유닛이 배드 유닛으로 판별될 때, 상기 다른 가상 블록의 배드 유닛의 교체 영역을 상기 교체된 예비 블록의 유닛으로 할당하는 단계를 더 포함한다.
실시 예에 있어서, 교체할 예비 블록이 존재하지 않을 때, 상기 교체 영역을 상기 적어도 하나의 예비 블록의 유닛으로 할당하는 단계를 더 포함한다.
실시 예에 있어서, 상기 가상 블록들 중 어느 하나에서 발생한 적어도 2 개의 배드 유닛들의 교체 영역들을 하나의 예비 블록의 유닛들로 할당하는 단계를 더 포함한다.
실시 예에 있어서, 상기 하나의 예비 블록의 유닛들로 할당하는 단계는, 상기 하나의 예비 블록에서 할당 가능한 유닛들의 개수가 기준 값 이상일 때, 상기 적어도 2 개의 배드 유닛들의 교체 영역들을 상기 하나의 예비 블록의 유닛들로 할당하는 단계; 및 상기 하나의 예비 블록에서 할당 가능한 유닛들의 개수가 기준 값 미만일 때, 상기 적어도 2개의 배드 유닛들 중 적어도 하나의 교체 영역을 상기 하나의 예비 블록과 다른 예비 블록의 유닛으로 할당하는 단계를 더 포함한다.
실시 예에 있어서, 각각의 상기 물리 블록들은, 상기 복수의 유닛들에 대응하는 복수의 서브 블록들을 포함하고, 각각의 상기 서브 블록들은, 제 1 방향 및 제 3 방향으로 형성된 기판 위에 제 2 방향으로 적층된 메모리 셀들을 포함하고, 상기 제 1 방향, 제 2 방향, 및 제 3 방향들은 서로 수직이다.
본 발명의 실시 예에 따른 메모리 시스템은, 복수의 서브 블록들을 갖는 메모리 블록들을 포함하는 적어도 하나의 비휘발성 메모리 장치; 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고, 상기 메모리 제어기는, 메모리 블록 단위로 소거 동작을 수행하고, 서브 블록 단위로 배드 블록을 관리한다.
실시 예에 있어서, 각각의 상기 복수의 서브 블록들은, 제 1 방향 및 제 3 방향으로 형성된 기판 위에, 워드라인 컷들 사이에 제 2 방향으로 기판 형태로 적층된 적어도 하나의 접지 선택 라인, 복수의 워드라인들, 및 적어도 하나의 스트링 선택 라인; 및 상기 적어도 하나의 접지 선택 라인, 상기 복수의 워드라인들, 및 상기 적어도 하나의 스트링 선택 라인을 관통하는 복수의 필라들을 포함하고, 상기 제 1 방향, 제 2 방향, 및 제 3 방향들은 서로 수직이고, 각각의 상기 복수의 필라들은 대응하는 비트라인에 연결된 상부면과 공통 소스 라인에 연결된 하부면을 갖는다.
실시 예에 있어서, 각각의 상기 복수의 서브 블록들은, 제 1 방향 및 제 3 방향으로 형성된 기판 위에, 워드라인 컷들 사이에 제 2 방향으로 기판 형태로 적층된 적어도 하나의 접지 선택 라인, 복수의 워드라인들, 및 적어도 하나의 스트링 선택 라인; 및 상기 적어도 하나의 접지 선택 라인, 상기 복수의 워드라인들, 및 상기 적어도 하나의 스트링 선택 라인을 관통하는 복수의 필라들을 포함하고, 상기 제 1 방향, 제 2 방향, 및 제 3 방향들은 서로 수직이고, 상기 적어도 하나의 스트링 선택 라인은 스트링 선택 라인 컷으로 분리되고, 각각의 상기 복수의 필라들은 대응하는 비트라인에 연결된 상부면과, 공통 소스 라인에 연결된 하부면을 갖는다.
실시 예에 있어서, 상기 메모리 제어기는, 상기 메모리 블록들의 어느 하나에서 상기 서블 블록들 중 어느 하나가 배드 블록으로 판별될 때, 상기 배드 블록을 상기 메모리 블록들의 어느 하나와 다른 메모리 블록의 서브 블록들 중 어느 하나로 할당시키는 배드 블록 관리 유닛을 포함한다.
상술한 바와 같이 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 관리 방법은, 서브 블록 단위로 배드 블록을 관리함으로써, 보다 효율적으로 메모리 블록을 관리하게 된다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1에 도시된 서브 블록들을 갖는 메모리 블록에 대한 제 1 실시 예를 보여주는 도면이다.
도 3은 도 1에 도시된 서브 블록들을 갖는 메모리 블록에 대한 제 2 실시 예를 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 메모리 시스템에서 논리 블록과 물리 블록 사이의 할당 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 배드 블록 관리 방법을 설명하기 위하여 개념적으로 보여주는 도면이다.
도 6은 도 5에 도시된 상태에서 제 1 가상 블록(VB1)을 소거 동작시킨 후 배드 블록 관리 방법을 예시적으로 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 배드 블록 관리 방법에 대한 다른 실시 예를 개념적으로 보여주는 도면이다.
도 8은 도 7에서 제 1 가상 블록(VB1)과 예비 블록(RB)이 교체된 후에 제 1 가상 블록(VB1)의 소거 동작 후에 배드 블록 관리 방법을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 배드 블록 관리 방법에 대한 또 다른 실시 예를 개념적으로 보여주는 도면이다.
도 10 내지 도 13에서는 가상 블록의 유닛의 업데이트 반복시 배드 블록 관리 방법을 예시적으로 보여주는 도면들이다.
도 14는 본 발명의 실시 예에 따른 배드 블록 관리 방법을 이용할 때 가상 블록(VB)의 어드레스로부터 물리 블록의 어드레스로 변환되는 상태를 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다.
도 16은 본 발명의 실시 예에 따른 모비낸드에 대한 블록도이다.
도 17은 본 발명의 실시 예에 따른 SSD에 대한 블록도이다.
도 18은 도 17에 도시된 SSD를 갖는 컴퓨팅 시스템에 대한 블록도이다.
도 19은 도 17에 도시된 SSD를 갖는 전자기기에 대한 블록도이다.
도 20는 도 17에 도시된 SSD를 이용하는 서버 시스템에 대한 블록도이다.
도 21은 본 발명의 실시 예에 따른 PPN 장치를 예시적으로 보여주는 도면이다.
도 22는 본 발명의 실시 예에 따른 휴대용 전자 장치를 예시적으로 보여주는 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(10)을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(10)은 적어도 하나의 비휘발성 메모리 장치(100) 및 메모리 제어기(200)를 포함한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)는 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetroresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다. 또한, 본 발명의 비휘발성 메모리 장치는 3차원 어레이 구조(Three-Dimentional Array Structure)로 구현될 수 있다. 본 발명은 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(Charge Trap Flash, "CTF"라 불림)에도 모두 적용 가능하다. 아래에서는 설명의 편의를 위하여, 본 발명의 비휘발성 메모리 장치(110)가 수직형 낸드 플래시 메모리 장치(VNAND)라고 가정하겠다.
비휘발성 메모리 장치(100)는 기판 위에 수직 방향(제 2 방향)으로 신장된 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 여기서 기판은 제 1 방향 및 제 3 방향으로 형성된다. 여기서 제 1 방향, 제 2 방향, 및 제 3 방향은 각각 서로 수직이다. 여기서 각각의 메모리 블록들(BLK1~BLKz)은 복수의 서브 블록들(SBLK1~SBLK4)을 포함한다. 여기서 서브 블록들(SBLK1~SBLK4)은 구조적인 형태로 구분될 수 있다. 이로 인하여 각각의 서브 블록들(SBLK1~SBLK4)은 서로 다른 구조적인 특징 혹은 전기적인 특성을 가질 수 있다.
도 1에서는 각각의 메모리 블록들(BLK1~BLKz)이 4개의 서브 블록들(SBLK1~SBLK4)을 포함한다고 도시되지만, 각각의 본 발명의 서브 블록의 개수가 2개 이상이라는 것은 당업자에게 알려질 것이다. 아래에서는 설명의 편의를 위하여, 각각의 메모리 블록들(BLK1~BLKz)이 4개의 서브 블록들(SBLK1~SBLK4)을 포함한다고 가정하겠다.
각각의 메모리 블록들(BLK1~BLKz)은 복수의 페이지들(도시되지 않음)을 포함하고, 각각의 페이지들은 워드라인에 연결된 복수의 메모리 셀들을 포함한다. 여기서 각각의 메모리 셀들은 대응하는 비트라인에 연결되고 적어도 하나의 비트를 저장할 수 있다. 한편, 메모리 블록들(BLK1~BLKz)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 번호 US 2009-0306583, US 2010-0078701, US 2010-0117141, US 2010-0140685, US 2010-02135527, US 2010-0224929, US 2010-0315875, US 2010-0322000, US 2011-0013458, US 2011-0018036에서 설명될 것이다.
실시 예에 있어서, 비휘발성 메모리 장치(100)는 블록 단위로 소거 동작을 수행할 수 있다. 다른 실시 예에 있어서, 비휘발성 메모리 장치(100)는 서브 블록 단위로 소거 동작을 수행할 수 있다.
메모리 제어기(200)는 외부의 호스트의 요청에 따라 데이터를 입출력한다. 메모리 제어기(200)는 비휘발성 메모리 장치(100)를 제어한다. 예를 들어, 메모리 제어기(200)는 호스트의 요청에 응답하여 입력된 데이터를 비휘발성 메모리 장치(100)에 저장시키거나 혹은 호스트의 요청에 응답하여 비휘발성 메모리 장치(100)에 저장된 데이터를 출력시킨다. 실시 예에 있어서, 메모리 제어기(200)는 하드웨어/소프트웨어/펌웨어(firmware)를 이용하여 비휘발성 메모리 장치(100)를 제어할 수 있다.
메모리 제어기(200)는 배드 블록을 관리하기 위하여 비휘발성 메모리(100)의 메모리 블록들(BLK1~BLKz)을 서브 블록 단위로 관리하는 배드 블록 관리 유닛(220)를 포함한다. 도시되지 않았지만, 메모리 제어기(200)는 적어도 하나의 프로세싱 유닛, 버퍼 메모리, 랜덤화 회로, 에러 정정 회로, 호스트 인터페이스 및 비휘발성 메모리 인터페이스 등을 포함할 수 있다.
한편, 비휘발성 메모리 장치(100) 및 메모리 제어기(200)는 하나의 기판 위에 단일 칩으로 구현될 수 있다.
한편, 메모리 시스템(10)의 좀 더 자세한 것은 삼성 전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 특허 US 2010-0082890에서 설명될 것이다.
본 발명의 실시 예에 따른 메모리 시스템(10)은 서브 블록 단위로 배드 블럭을 관리함으로써, 메모리 블록의 효용성을 증대시키고, 가비지 콜렉션(garbage collection, 다른 말로, "유효 데이터 복사"(valid data copy))을 줄일 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(10)은 배드가 서브 블록에 한정된 특성을 이용하여 배드 블록을 관리함으로써, 배드가 발생된 메모리 블록을 교체하지 않고 서브 블록 단위로 교체시킨다. 이로써, 본 발명의 실시 예에 따른 메모리 시스템(10)은 종래의 그것과 비교하여 적은 양의 예비 블록을 가지고도 종래의 비슷한 관리 효과를 얻을 수 있다.
도 2는 도 1에 도시된 서브 블록들을 갖는 메모리 블록(BLK1)에 대한 제 1 실시 예를 보여주는 도면이다. 도 2를 참조하면, 기판 위에 4개의 서브 블록들(SBLK1~SBLK4)이 형성된다. 여기서, 각각의 서브 블록들(SBLK1~SBLK4)은 워드라인 컷들(WL Cut) 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)이 적층됨으로써 형성된다. 여기서 각각의 워드라인 컷들은, 도시되지 않았지만 공통 소스 라인(Common Source Line:CSL)을 포함한다. 실시 예에 있어서, 각각의 워드라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결된다.
복수의 필라들이 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)을 관통한다. 여기서 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)은 기판 형태로 구현된다. 또한, 복수의 필라들은 비트라인들(BL)이 연결된 상부면 및 공통 소스 라인(CSL)에 연결된 하부면을 포함한다.
아래에서는 메모리 블록(BLK1)에 대한 등가 회로(도시되지 않음)를 설명하도록 하겠다. 각각의 버티컬 스트링들은 하나의 비트라인과 공통 소스 라인(CSL) 사이에 배치된다. 비트라인은 제 3 방향으로 신장하는 전도성 물질에 대응한다. 각각의 버티컬 스트링들을 위한 스트링 선택 트랜지스터는 대응하는 비트라인에 연결된다. 여기서 스트링 선택 트랜지스터의 게이트에는 스트링 선택 라인(SSL)이 연결된다. 각각의 버티컬 스트링들을 위한 접지 선택 트랜지스터는 공통 소스 라인 (CSL)에 연결된다. 여기서 접지 선택 트랜지스터의 게이트에는 접지 선택 라인(GSL)이 연결된다. 메모리 셀 트랜지스터들(메모리 셀들)은 각각의 버티컬 스트링들의 스트링 선택 트랜지스터와 접지 선택 트랜지스터 사이에 형성된다. 여기서 메모리 셀 트랜지스터들의 게이트들에는 워드라인들(WL)이 연결된다.
이후로, 버티컬 스트링들은 로우와 컬럼 유닛들로 정의될 것이다. 공통으로 하나의 비트라인에 연결된 적어도 하나의 스트링은 하나의 컬럼을 형성한다. 그러므로 적어도 하나의 버티컬 스트링은 하나의 컬럼에 대응하는 비트라인에 연결된다. 또한, 하나의 스트링 선택 라인에 연결된 적어도 하나의 버티컬 스트링은 하나의 로우를 형성한다. 그러므로, 적어도 하나의 버티컬 스트링은 하나의 로우에 대응하는 스트링 선택 라인에 연결된다.
각각의 버티컬 스트링에서, 높이 정의될 수 있다. 각각의 버티컬 스트링에서, 접지 선택 트랜지스터에 인접한 메모리 셀의 높이가 1이라고 가정하면, 스트링 선택 트랜지스터에 더 인접하는 각 메모리 셀의 높이는 증가할 것이다.
동일한 로우의 버티컬 스트링은 스트링 선택 라인을 공유한다. 다른 로우의 버티컬 스트링들은 다른 스트링 선택 라인에 각각 연결된다. 동일한 로우에서 버티컬 스트링들에서 동일한 높이를 갖는 메모리 셀들은 워드라인을 공유한다. 동일한 높이에서, 다른 로우에서 버티컬 스트링들의 워드라인들은 공통으로 연결된다. 워드라인들은, 제 1 방향으로 신장하는 전도성 물질들을 제공되는 한 층에서 일반적으로 연결된다. 제 1 방향으로 신장하는 전도성 물질들은 콘택을 통하여 상위 층에 연결될 수 있다. 제 1 방향으로 신장하는 전도성 물질들은 상위 층에 공통적으로 연결된다.
동일한 로우의 버티컬 스트링들은 접지 선택 라인(GSL)을 공유한다. 다른 로우들의 버티컬 스트링들은 다른 접지 선택 라인들에 각각 연결된다. 즉, 버티컬 스트링들은 공통으로 접지 선택 라인(GSL)에 연결된다. 더, 공통 소스 라인(CSL)은 버티컬 스트링들에 공통으로 연결될 수 있다.
상술 된 2에서 도시된 바와 같이, 동일한 높이를 갖는 워드라인들은 공통적으로 연결된다. 따라서, 특별한 워드라인이 선택될 때, 특별한 워드라인에 연결된 모든 버티컬 스트링들은 선택된다. 다른 로우들의 버티컬 스트링들은 다른 스트링 선택 라인들에 연결된다. 그러므로, 적어도 하나의 스트링 선택 라인들의 선택에 의하여, 버티컬 스트링들의 로우는 선택될 수 있다. 게다가, 비트라인들을 선택에 의하여, 선택된 로우의 버티컬 스트링들은 로우 유닛들에서 선택될 수 있다.
본 발명의 실시 예에 따른 메모리 블록은 두 개의 워드라인들이 하나로 병합된 구조, 다른 말로 워드라인 병합 구조(Merged Wordline Structure)로 구현될 수 있다.
도 3은 도 1에 도시된 서브 블록들을 갖는 메모리 블록(BLK1)에 대한 제 2 실시 예를 보여주는 도면이다. 도 3을 참조하면, 기판 위에 4개의 서브 블록들(SBLK1~SBLK4)이 형성된다. 각각의 서브 블록들(SBLK1~SBLK4)은 기판 위에 워드라인 컷들 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)이 적층됨으로써 형성된다. 여기서 적어도 하나의 스트링 선택 라인(SSL)은 스트링 선택 라인 컷으로 분리된다. 여기서 각각의 워드라인 컷들은, 도시되지 않았지만 공통 소스 라인(Common Source Line:CSL)을 포함한다. 실시 예에 있어서, 각각의 워드라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결된다.
도 3에서는 워드라인 컷들 사이의 대상을 서브 블록으로 도시하였는데, 본 발명이 반드시 여기에 한정되지 않는다. 본 발명의 서브 블록은 워드라인 컷과 스트링 선택 라인 컷 사이의 대상을 서브 블록으로 명명할 수 있다는 것은 당업자에게 알려질 것이다.
도 4는 본 발명의 실시 예에 따른 메모리 시스템(10)에서 논리 블록과 물리 블록 사이의 맵핑 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 논리 블록에는 가상 블록(Virtual Block; VB) 및 예비 블록(Reserved Block; RB)을 포함한다. 여기서 가상 블록(VB)은 데이터를 저장하기 위한 논리 블록이고, 예비 블록(RB)은 가상 블록(VB)의 배드 유닛을 관리하는데 이용하기 위한 논리 블록이다. 여기서 배드 유닛은 가상 블록(VB)의 유닛들(UNIT1~UNIT4) 중 배드가 발생한 유닛이다. 각각의 가상 블록(VB) 및 예비 블록(RB)은 4개의 유닛들(UNIT1~UNIT4)을 포함한다.
각각의 유닛들(UNIT1~UNIT4)은 물리 블록(BLK)의 서브 블록들(SBLK1~SBLK4) 중 어느 하나로 맵핑될 수 있다. 도 4에 도시된 바와 같이, 물리 블록(BLK)의 제 1 서브 블록(SBLK1)으로 가상 블록(VB)의 유닛들(UNIT1~UNIT4) 중 어느 하나가 맵핑되거나 예비 블록(RB)의 유닛들(UNIT1~UNIT4) 중 어느 하나가 맵핑될 수 있다.
도 5는 본 발명의 배드 블록 관리 방법을 설명하기 위하여 개념적으로 보여주는 도면이다. 도 5를 참조하면, 논리 블록들은 3 개의 가상 블록들(VB1, VB2, VB3) 및 하나의 예비 블록(RB)을 포함한다. 도 5에서는 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1), 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3), 및 제 3 가상 블록(VB3)의 제 2 유닛(UNIT2)에 배드가 발생하였다고 가정하겠다. 이때, 배드 블록 관리 유닛(도 1 참조, 220)은, 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역으로 예비 블록(RB)의 제 1 유닛(UNIT1)을 할당하고, 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3)에 대한 교체 영역으로 예비 블록(RB)의 제 3 유닛(UNIT3)을 할당하고, 제 3 가상 블록(VB3)의 제 3 유닛(UNIT3)에 대한 교체 영역으로 예비 블록(RB)의 제 3 유닛(UNIT3)을 할당한다.
본 발명에 따르면 하나의 물리 블록으로 복수의 물리 블록들의 배드를 처리할 수 있다.
아래에서는 비휘발성 메모리 장치(도 1 참조, 100)가 블록 단위로 소거 동작을 수행한다고 가정하겠다. 소거 동작이 블록 단위로 수행되기 때문에, 소거 동작 후 서블 블록 단위로 교체된 경우에는 예비 블록에 대한 추가적인 관리가 필요하다.
도 6은 도 5에 도시된 상태에서 제 1 가상 블록(VB1)을 소거 동작시킨 후 배드 블록 관리 방법을 예시적으로 설명하기 위한 도면이다. 도 5에 도시된 제 1 가상 블록(VB1)의 소거 동작 시, 예비 블록(RB)에는 제 1 유닛(UNIT1), 제 2 유닛(UNIT2), 제 3 유닛(UNIT3)에 데이터가 저장되어 있다. 이에 예비 블록(RB)를 모두 소거시킬 수 없다. 이에, 도 6에 도시된 바와 같이, 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 예비 블록(RB)의 남은 영역인 제 4 유닛(UNIT4)으로 할당한다. 여기서, 예비 블록(RB)의 제 1 유닛(UNIT1)은 무효화 데이터를 저장하고 있다고 업데이트될 것이다. 이로써, 제 1 가상 블록(VB1)의 리-맵핑(re-mapping)이 수행된다.
상술 된 바와 같이, 본 발명의 실시 예에 따른 배드 블록 관리 방법은 가상 블록이 소거될 때에도 예비 블록의 소거 비용을 최소화시킬 수 있다.
도 5 내지 도 6에서는 가상 블록의 어느 하나의 유닛에 배드가 발생되면, 예비 블록의 유닛에 할당시키도록 구현되었다. 그러나 본 발명의 배드 블록 관리 방법이 반드시 여기에 한정되지 않는다는 것은 당업자에게 알려질 것이다. 본 발명의 실시 예에 따른 배드 블록 관리 방법은 가상 블록의 유닛에 배드가 발생되면, 우선적으로 가상 블록(VB)을 예비 블록(RB)과 교체하도록 구현될 수 있다.
도 7은 본 발명의 실시 예에 따른 배드 블록 관리 방법에 대한 다른 실시 예를 개념적으로 보여주는 도면이다. 도 7을 참조하면, 논리 블록들은 3 개의 가상 블록들(VB1, VB2, VB3) 및 하나의 예비 블록(RB)을 포함한다. 도 7에서는 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1)에 배드가 발생하였다고 가정하겠다. 이때, 배드 블록 관리 유닛(도 1 참조, 220)은, 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1)이 배드 유닛으로 판별될 때, 제 1 가상 블록(VB1)과 예비 블록(RB)을 우선적으로 교체한다. 즉, 가상 블록(VB1)이 예비 블록(RB)이 되고, 예비 블록(RB)이 가상 블록(VB1)이 된다. 여기서 예비 블록(RB)은 배드 유닛의 교체 영역으로 사용되지 않는 블록이다.
상술 된 바와 같이, 본 발명의 실시 예에 따른 배드 블록 관리 방법은, 배드 유닛(UNIT1)을 발생된 가상 블록(VB1)과 예비 블록(RB)을 교체함으로써, 가상 블록(VB1)을 소거할 때, 예비 블록(RB) 내로 리-맵핑을 수행하기 위한 비용을 발생시키지 않을 수 있다.
도 8은 도 7에서 제 1 가상 블록(VB1)과 예비 블록(RB)이 교체된 후에 배드 블록 관리 방법을 예시적으로 보여주는 도면이다. 설명의 편의를 위하여, 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3), 및 제 3 가상 블록(VB3)의 제 2 유닛(UNIT2)에 배드가 발생하였다고 가정하겠다. 또한, 발생한 배드 유닛을 갖는 가상 블록들(VB2, VB3)을 교체할 다른 예비 블록이 없다고 가정하겠다.
이때, 배드 블록 관리 유닛(도 1 참조, 220)은, 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3)에 대한 교체 영역으로 예비 블록(RB)의 제 2 유닛(UNIT2)을 할당하고, 제 3 가상 블록(VB3)의 제 2 유닛(UNIT2)에 대한 교체 영역으로 예비 블록(RB)의 제 3 유닛(UNIT3)을 할당한다. 여기서 예비 블록(RB)의 제 1 유닛(UNIT1)은 배드 유닛이다.
도 7 및 도 8을 참조하면, 본 발명의 실시 예에 따른 배드 블록 관리 방법은, 가상 블록의 배드 유닛에 대한 교체 영역을 예비 블록의 유닛으로 할당하기 전에, 우선적으로 배드 유닛이 발생된 가상 블록을 교체할 예비 블록이 있는 지를 판별하고, 만약, 교체할 예비 블록이 있다면 배드 유닛이 발생한 가상 블록과 예비 블록을 교체하고, 그렇지 않다면, 가상 블록의 배드 유닛을 예비 블록의 유닛으로 할당시킨다.
상술 된 바와 같이, 본 발명의 실시 예에 따른 배드 블록 관리 방법은, 초기에는 예비 블록(RB)의 리-맵핑 비용을 발생시키지 않고, 예비 블록(RB)이 다 소진된 후에만 리-맵핑 비용을 발생시킬 수 있다.
본 발명의 실시 예에 따른 배드 블록 관리 방법은 물리 블록 단위의 교체를 최소화하기 위하여 동일한 가상 블록의 배드 유닛은 동일한 예비 블록으로 할당되도록 구현될 수 있다.
도 9는 본 발명의 실시 예에 따른 배드 블록 관리 방법에 대한 또 다른 실시 예를 개념적으로 보여주는 도면이다. 도 9를 참조하면, 논리 블록들은 3개의 가상 블록들(VB1, VB2, VB3) 및 2개의 예비 블록들(RB1, RB2)을 포함한다.
도 9에서는 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1) 및 제 4 유닛(UNIT4), 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3), 및 제 3 가상 블록(VB3)의 제 2 유닛(UNIT2)에 배드가 발생하였다고 가정하겠다. 이때, 배드 블록 관리 유닛(도 1 참조, 220)은, 제 1 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 1 유닛(UNIT1)으로 할당하고, 제 1 가상 블록(VB1)의 제 4 유닛(UNIT4)에 대한 교체 영역을 제 1 예비 블록(RB)의 제 2 유닛(UNIT2)으로 할당하고, 제 2 가상 블록(VB2)의 제 3 유닛(UNIT3)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 3 유닛(UNIT3)으로 할당하고, 제 3 가상 블록(VB3)의 제 3 유닛(UNIT3)에 대한 교체 영역을 제 2 예비 블록(RB2)의 제 1 유닛(UNIT1)으로 할당한다.
여기서 제 3 가상 블록(VB3)의 제 3 유닛(UNIT3)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 4 유닛(UNIT4)에 할당시키지 않는 이유는, 제 1 및 제 2 가상 블록들(VB1, VB2)에서 추가로 발생되는 배드 유닛에 대한 교체 영역을 제 1 예비 블록(RB1)의 유닛으로 할당시키거나, 제 1 및 제 2 가상 블록들(VB1, VB2)에서 추가로 업데이트되는 유닛을 제 1 예비 블록(RB1)의 유닛으로 할당시키도록 하기 위함이다. 즉, 본 발명의 실시 예에 따른 배드 블록 관리 방법은, 배드 유닛이 발생할 때 하나의 예비 블록에 할당 가능한 유닛의 개수가 기준 값 이하일 때, 다른 예비 블록의 유닛으로 할당하도록 구현될 것이다.
본 발명의 실시 예에 따른 배드 블록 관리 방법은, 하나의 가상 블록의 배드 유닛들에 대한 교체 영역들을 동일한 예비 블록에 할당되도록 구현될 것이다.
본 발명의 실시 예에 따른 배드 블록 관리 방법은, 예비 블록에 맵핑을 수행할 때 동일한 가상 블록에 포함되는 배드 유닛들을 동일한 예비 블록의 유닛들로 맵핑시킨다. 이를 통해, 가상 블록에 대응하는 교체 유닛들이 동시에 무효화될 경우, 대응하여 맵핑된 예비 블록의 유닛들도 동시에 무효화시킴으로써, 전체 블록의 무효화가 빠르게 증가된다. 그 결과로써, 하나의 블록이 모두 무효화됨으로써, 가비지 콜렉션없이 블록 소거가 수행될 수 있다.
도 10 내지 도 13에서는 가상 블록의 유닛의 업데이트 반복시 배드 블록 관리 방법을 예시적으로 보여주는 도면들이다.
도 10은 가상 블록의 유닛의 업데이트 반복을 설명하기 위한 논리 블록들을 예시적으로 보여주는 도면이다. 도 10을 참조하면, 논리 블록들은 하나의 가상 블록(VB1)과 2개의 예비 블록들(RB1, RB2)을 포함한다. 가상 블록(VB1)은 제 1 유닛(UNIT1)과 제 4 유닛(UNIT4)이 배드 상태라고 가정하겠다. 이때, 배드 블록 관리 유닛(도 1 참조, 220)은 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 1 유닛(UNIT1)으로 할당하고, 가상 블록(VB1)의 제 4 유닛(UNIT4)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 2 유닛(UNIT2)으로 할당한다.
본 발명의 실시 예에 따른 메모리 시스템은, 교체 유닛(예비 블록의 유닛)의 재요청을 관리함으로써, 교체 비용을 줄일 수 있다. 본 발명의 실시 예에 따른 메모리 시스템은 업데이트 주기가 비슷한 가상 블록들을 하나의 교체 블록(예비 블록)에 모아둔다. 본 발명의 실시 예에 따른 메모리 시스템은 교체 유닛의 할당시 로그 유닛과 같은 형태로 사용할 수 있다.
도 11은 도 10에 도시된 제 1 유닛(UNIT1)이 업데이트될 때 배드 블록 관리 방법을 예시적으로 보여주는 도면이다. 도 11을 참조하면, 배드 블록 관리 유닛(도 1 참조, 220)은 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 3 유닛(UNIT1)으로 할당하고, 가상 블록(VB1)의 제 4 유닛(UNIT4)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 2 유닛(UNIT2)으로 할당한다. 여기서 제 1 예비 블록(RB1)의 제 1 유닛(UNIT1)은 무효화 데이터로 할당될 것이다.
도 12는 도 11에 도시된 제 1 유닛(UNIT1)이 업데이트될 때 배드 블록 관리 방법을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 배드 블록 관리 유닛(도 1 참조, 220)은 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 4 유닛(UNIT4)으로 할당하고, 가상 블록(VB1)의 제 4 유닛(UNIT4)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 2 유닛(UNIT2)으로 할당한다. 여기서 제 1 예비 블록(RB1)의 제 1 유닛(UNIT1) 및 제 3 유닛(UNIT3)은 무효화 데이터로 할당될 것이다.
도 13는 도 12에 도시된 제 1 유닛(UNIT1)이 업데이트될 때 배드 블록 관리 방법을 예시적으로 보여주는 도면이다. 배드 블록 관리 유닛(도 1 참조, 220)은 가상 블록(VB1)의 제 1 유닛(UNIT1)에 대한 교체 영역을 제 2 예비 블록(RB2)의 제 1 유닛(UNIT1)으로 할당하고, 가상 블록(VB1)의 제 4 유닛(UNIT4)에 대한 교체 영역을 제 1 예비 블록(RB1)의 제 2 유닛(UNIT2)으로 할당한다. 여기서 제 1 예비 블록(RB1)의 제 1 유닛(UNIT1), 제 3 유닛(UNIT3), 및 제 4 유닛(UNIT4)은 무효화 데이터로 할당될 것이다.
도 14는 본 발명의 실시 예에 따른 배드 블록 관리 방법을 이용할 때 가상 블록(VB)의 어드레스로부터 물리 블록의 어드레스로 변환되는 상태를 예시적으로 보여주는 도면이다. 아래에서는 가상 블록(VB)의 제 2 유닛(UNIT2)이 배드 유닛이고, 가상 블록(VB)의 제 2 유닛(UNIT2)에 대한 교체 영역은 예비 블록(RB)의 제 1 유닛(UNIT1)으로 할당된다고 가정하겠다. 도 14를 참조하면, 하나의 논리 블록은 제 1 내지 4 논리 어드레스들(LBN1~LBN2)을 포함하고, 제 1 물리 블록(BLK1)은 가상 블록(VB)에 대응하는 물리 블록이고, 제 2 물리 블록(BLK2)은 예비 블록(RB)에 대응하는 물리 블록이다.
여기서, 제 1 논리 어드레스들(LBN1)은 가상 블록(VB)의 제 1 유닛(UNIT1)에 대응하는 논리 어드레스들이고, 제 2 논리 어드레스들(LBN2)은 예비 블록(RB)의 제 1 유닛(UNIT1)에 대응하는 논리 어드레스들이고, 제 3 논리 어드레스들(LBN3)은 가상 블록(VB)의 제 3 유닛(UNIT3)에 대응하는 논리 어드레스들이고, 제 4 논리 어드레스들(LBN4)은 가상 블록(VB)의 제 4 유닛(UNIT1)에 대응하는 논리 어드레스들이다.
실시 예에 있어서, 제 1 내지 제 4 논리 어드레스들(LBN1~LNN4)은 순차적으로 할당될 수 있다.
도 14를 다시 참조하면, 제 1 논리 어드레스들(LBN1)은 제 1 물리 블록(BLK1)의 제 1 서브 블록(SBLK1)의 물리 어드레스들(PBN1)로 변환되고, 제 3 논리 어드레스들(LBN3)은 제 1 물리 블록(BLK1)의 제 3 서브 블록(SBLK3)의 물리 어드레스들(PBN3)로 변환되고, 제 4 논리 어드레스들(LBN4)은 제 1 물리 블록(BLK1)의 제 4 서브 블록(SBLK4)의 물리 어드레스들(PBN4)로 변환될 것이다. 또한, 제 2 논리 어드레스들(LBN2)은 제 2 물리 블록(BLK2)의 제 1 서브 블록(SBLK1)의 물리 어드레스들(PBN1)로 변환될 것이다.
실시 예에 있어서, 제 1 물리 블록(BLK1)의 물리 어드레스들(PBN1~PNB4)은 순차적으로 할당될 것이다.
실시 예에 있어서, 제 1 물리 블록(BLK1)의 물리 어드레스들(PBN1~PNB4)은 순차적으로 할당될 것이다.
본 발명의 실시 예에 따른 메모리 시스템은, 서브 블록 단위로 배드 블록을 관리함으로써, 배드가 발생된 메모리 블록의 사용 가능한 영역을 버리지 않고 이용할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 하나의 가상 블록에 여러 유닛들이 배드가 발생할 때 배드가 발생된 유닛들을 하나의 예비 블록의 유닛들로 할당함으로써, 블록 단위의 소거 동작시 메모리 블록을 효율적으로 관리할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 배드가 발생한 가상 블록을 예비 블록으로 교체함으로써, 배드가 발생한 가상 블록을 예비 블록으로 재활용할 수 있다.
도 15는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다. 도 15를 참조하면, 메모리 카드(2000)는 적어도 하나의 플래시 메모리 장치(2100), 버퍼 메모리 장치(2200) 및 그것을 제어하는 메모리 제어기(2300)를 포함한다. 메모리 카드(2000)는 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및/혹은 동작을 포함할 것이다.
플래시 메모리 장치(2100)는 도 1에 도시된 비휘발성 메모리 장치(100)와 동일한 구성 및/혹은 동작을 포함한다.
버퍼 메모리 장치(2200)는 메모리 카드(2000)의 동작 중 생성되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리 장치(2200)는 디램 혹은 에스램 등으로 구현될 수 있다.
메모리 제어기(2300)는 호스트 및 플래시 메모리(2100)에 사이에 연결된다. 호스트로부터의 요청에 응답하여, 메모리 제어기(2300)는 플래시 메모리 장치(2100)를 억세스한다. 메모리 제어기(2300)는 도 1에 도시된 메모리 제어기(200)와 동일한 구성 및/혹은 동작을 포함한다.
메모리 제어기(2300)는 적어도 하나의 마이크로 프로세서(2310), 호스트 인터페이스(2350), 플래시 인터페이스(2360)를 포함한다. 적어도 하나의 마이크로 프로세서(2310)는 펌웨어(firmware)를 동작하도록 구현된다. 호스트 인터페이스(2350)는 호스트와 메모리 카드(2000) 사이에 데이터 교환을 수행하기 위한 카드 프로토콜(예를 들어, SD/MMC)을 통해 호스트와 인터페이싱한다.
이러한 메모리 카드(2000)는 멀티미디어 카드(Multimedia Card: MMC), 보안 디지털(Security Digital: SD), miniSD, 메모리 스틱(Memory Stick), 스마트미디어(SmartMedia), 트랜스플래시(TransFlash) 카드 등에 적용가능하다.
한편, 메모리 카드(2000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 번호 US 2010-0306583에서 설명될 것이다.
도 16은 본 발명의 실시 예에 따른 모비낸드에 대한 블록도이다. 도 16을 참조하면, 모비낸드(3000)는 적어도 하나의 낸드 플래시 메모리 장치(3100) 및 제어기(3200)를 포함할 수 있다. 모비낸드(3000)는 MMC 4.4(다른 말로, eMMC) 규격을 지원한다. 모비낸드(3000)는 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및/혹은 동작을 포함할 것이다.
적어도 하나의 낸드 플래시 메모리 장치(3100)는 도 1에 도시된 비휘발성 메모리 장치(100)와 동일한 구성 및/혹은 동작을 포함한다. 실시 예에 있어서, 낸드 플래시 메모리 장치(3100)는 SDR(Sing Data Rate) 낸드 혹은 DDR(Double Data Rate) 낸드일 수 있다. 실시 예에 있어서, 낸드 플래시 메모리 장치(3100)는 단품의 낸드 플래시 메모리 장치들을 포함할 수 있다. 여기서, 단품의 낸드 플래시 메모리 장치들은 하나의 패키지(예를 들어, FBGA, Fine-pitch Ball Grid Array)에 적층되어 구현될 수 있다.
제어기(3200)는 도 1에 도시된 메모리 제어기(200)와 동일한 구성 및/혹은 동작을 포함한다. 제어기(3200)는 적어도 하나의 제어기 코어(3210), 호스트 인터페이스(3250) 및 낸드 인터페이스(3260)를 포함한다. 적어도 하나의 제어기 코어(3210)는 모비낸드(3000)의 전반적인 동작을 제어한다.
호스트 인터페이스(3250)는 제어기(3210)와 호스트의 인터페이싱을 수행한다. 낸드 인터페이스(3260)는 낸드 플래시 메모리 장치(3100)와 제어기(3200)의 인터페이싱을 수행한다. 실시 예에 있어서, 호스트 인터페이스(3250)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 다른 실시 예에 있어서, 모비낸드(3000)의 호스트 인터페이스(3250)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다.
모비낸드(3000)는 호스트로부터 전원전압들(Vcc, Vccq)을 인가받는다. 여기서, 제 1 전원전압(Vcc: 3.3V)은 낸드 플래시 메모리 장치(3100) 및 낸드 인터페이스(3230)에 제공되고, 제 2 전원전압(Vccq: 1.8V/3.3V)은 제어기(3200)에 제공된다.
본 발명의 실시 예에 따른 모비낸드(3000)는 대용량의 데이터를 저장하는 데 유리할 뿐 아니라, 향상된 읽기 동작 특성을 갖는다. 본 발명의 실시 예에 따른 모비낸드(3000)는 소형 및 저전력이 요구되는 모바일 제품(예를 들어, 갤럭시S, 아이폰 등)에 응용 가능하다.
한편, 본 발명은 솔리드 스테이트 드라이버(Solid State Drive: 이하, 'SSD'라고 함)에 적용가능하다.
도 17은 본 발명의 실시 예에 따른 SSD에 대한 블록도이다. 도 17를 참조하면, SSD(4000)는 복수의 플래시 메모리 장치들(4100) 및 SSD 제어기(4200)를 포함한다.
단품의 플래시 메모리 장치(4100)는, 도 1에 도시된 비휘발성 메모리 장치(100)와 동일한 구성 및/혹은 동작을 포함한다.
SSD 제어기(4200)는 도 1에 도시된 메모리 제어기(200)와 동일한 구성 및/혹은 동작을 포함한다.
SSD 제어기(4200)는 복수의 플래시 메모리 장치들(4100)을 제어한다. SSD 제어기(4200)는 적어도 하나의 중앙처리장치(4210), 버퍼 메모리(4220), 호스트 인터페이스(4250) 및 플래시 인터페이스(4260)를 포함한다.
버퍼 메모리(4220)는 외부와 플래시 메모리 장치들(4100) 간의 이동 데이터를 임시로 저장한다. 또한, 버퍼 메모리(4220)는 중앙처리장치(4210)에 의해서 운용될 프로그램을 저장하는 데에도 사용된다. 버퍼 메모리(4220)는 디램(DRAM) 혹은 에스램(SRAM)으로 구현될 수 있다. 도 17에서 버퍼(4220)는 SSD 제어기(4200) 내부에 포함되지만, 본 발명이 반드시 여기에 한정될 필요는 없다는 것은 당업자에 알려질 것이다. 본 발명의 실시 예에 따른 버퍼 메모리는 SSD 제어기(4200)의 외부에 배치될 수 있다.
호스트 인터페이스(4250)는 중앙처리장치(4210)의 제어에 따라 호스트와 통신 프로토콜 방식으로 데이터를 교환한다. 실시 예에 있어서, 통신 프로토콜은 ATA(Advanced Technology Attachment) 프로토콜일 수 있다. 이러한 ATA 프로토콜은 SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, ESATA(External SATA) 인터페이스 등을 포함한다. 다른 실시 예에 있어서, 통신 프로토콜은 USB(Universal Serial Bus) 프로토콜일 수 있다.
호스트 인터페이스(4250)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(4210)의 제어에 따라 CPU 버스를 경유하지 않고 버퍼 메모리(4220)를 통해 전송된다.
플래시 인터페이스(4260)는 저장 장치로 사용되는 플래시 메모리 장치들(4100)과 SSD 제어기(4200) 사이의 인터페이싱을 수행한다. 플래시 인터페이스(4260)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명의 실시 예에 따른 SSD(4000)는 프로그램 동작시 랜덤 데이터를 저장함으로써, 데이터의 신뢰성을 향상시킨다. 그 결과로써 본 발명의 SSD(4000)는 저장된 데이터의 신뢰성을 향상시킬 수 있다. 한편, SSD(4000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 번호 US 2010-0082890에서 설명될 것이다.
도 18은 도 17에 도시된 SSD(4000)를 갖는 컴퓨팅 시스템에 대한 블록도이다. 도 18을 참조하면, 컴퓨팅 시스템(5000)은, 적어도 하나의 중앙처리장치(5100), 비휘발성 메모리 장치(5200), 램(5300), 입출력 장치(5400), 및, SSD(5500)를 포함한다.
적어도 하나의 중앙처리장치(5100)는 시스템 버스에 연결된다. 비휘발성 메모리 장치(5200)는 컴퓨팅 시스템(5000)을 동작하는데 필요한 데이터가 저장된다. 이러한 데이터에는 개시 명령 시퀀스, 혹은 기본적인 입/출력 동작 시스템(예를 들어, BIOS) 시퀀스 등이다. 램(5300)은 중앙처리장치(5100)가 실행될 때 생성되는 데이터가 임시로 저장된다.
입출력 장치(5400)는, 실시 예에 있어서, 키보드, 포인팅 장치(마우스), 모니터, 모뎀, 등이 입출력 장치 인터페이스를 통하여 시스템 버스에 연결된다.
SSD(5500)는 읽기 가능한 저장 장치로써, 도 17에 도시된 SSD(4000)와 동일하게 구현된다.
도 19은 도 17에 도시된 SSD(4000)를 갖는 전자기기에 대한 블록도이다. 도 19을 참조하면, 전자기기(6000)는, 프로세서(6100), 롬(6200), 램(6300), 및 플래시 인터페이스(6400), 및 SSD(6500)을 포함한다.
프로세서(6100)는 펌웨어 코드 혹은 임의의 코드를 실행하기 위하여 램(6300)을 억세스한다. 또한, 프로세서(6100)는 개시 명령 시퀀스 혹은 기본 입출력 동작 시스템 시퀀스들과 같은 고정 명령 시퀀스들을 실행하기 위하여 롬(6200)에 억세스한다. 플래시 인터페이스(6400)는 전자기기(6000)와 SSD(6500) 사이의 인터페이싱을 수행한다.
SSD(6500)는 전자기기(6000)에 착탈이 가능할 수 있다. SSD(6500)는, 도 19에 도시된 SSD(4000)와 동일하게 구현된다.
본 발명의 전자기기(6000)는 셀룰러 폰, 개인 디지털 보조기(Personal Digital Assistants: PDAs), 디지털 카메라, 캠코더, 및 휴대용 오디오 재생장치(예를 들어, MP3), PMP 등이 될 수 있다.
도 20는 도 17에 도시된 SSD(4000)를 이용하는 서버 시스템에 대한 블록도이다. 도 20를 참조하면, 서버 시스템(7000)은 서버(7100), 및 서버(7100)를 동작하는 데 필요한 데이터를 저장하는 적어도 하나의 SSD(7200)를 포함한다. 여기서 적어도 하나의 SSD(7200)는, 도 17에 도시된 SSD(4000)와 동일한 구성 및 동일한 동작으로 구현된다.
서버(7100)는 응용 통신 모듈(7110), 데이터 처리 모듈(7120), 업그레이드 모듈(7130), 스케줄링 센터(7140), 로컬 리소스 모듈(7150), 및 리페어 정보 모듈(7160)을 포함한다.
응용 통신 모듈(7110)은 서버(7100)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나 혹은 서버(7100)와 SSD(7200)이 통신하도록 구현된다. 응용 통신 모듈(7110)은 사용자 인터페이스를 통하여 인가된 데이터 혹은 정보를 데이터 처리 모듈(7120)로 전송한다.
데이터 처리 모듈(7120)은 로컬 리소스 모듈(7150)에 링크된다. 여기서 로컬 리소스 모듈(7150)은 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 인가한다.
업그레이드 모듈(7130)은 데이터 처리 모듈(7120)과 인터페이싱 한다. 업그레이드 모듈(7130)은 SSD(7200)로부터 전송된 데이터 혹은 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 혹은 다른 정보들을 전자기기(appliance)에 업그레이드한다.
스케쥴링 센터(7140)는 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용한다.
리페어 정보 모듈(7160)은 데이터 처리 모듈(7120)과 인터페이싱한다. 리페어 정보 모듈(7160)은 사용자에게 리페어 관련 정보(예를 들어, 오디오, 비디오, 혹은 문서 파일)를 인가하는데 이용된다. 데이터 처리 모듈(7120)은 SSD(7100)으로부터 전송된 정보를 근거로 하여 관련된 정보를 패키징한다. 그 뒤, 이러한 정보는 SSD(7200)에 전송되거나 혹은 사용자에게 디스플레이된다.
본 발명의 실시 예에 따른 메모리 시스템은 PPN(Perfect Page New) 장치에도 적용가능하다.
도 21은 본 발명의 실시 예에 따른 PPN 장치(8000)를 예시적으로 보여주는 도면이다. 도 21을 참조하면, PPN 장치(8000)는 복수의 낸드 플래시 메모리들(8100) 및 그것들을 제어하는 제어기(8200)를 포함한다. PPN 장치(8000)는 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및/혹은 동작을 포함하도록 구현될 수 있다.
PPN 장치(8000)는 DDR(Double Data Rate) 인터페이스를 갖는 PPN 프로토콜을 통하여 호스트와 통신을 수행한다. PPN 장치(8000)와 호스트 사이에는 제 1 호스트 채널(HC1) 및 제 2 호스트 채널(HC2)을 통하여 데이터 통신이 수행된다. 여기서 호스트 채널의 개수가 2개로 제한되지 않는다는 것은 당업자에게 알려질 것이다. 한편, PPN 장치(8000)는 호스트에 에러 정정 엔진이 요구되지 않도록 데이터의 신뢰성을 보장한다. 예를 들어, PPN 장치(8000)는 3년 이상 3000회의 프로그램/소거 싸이클을 보장한다.
복수의 낸드 플래시 메모리들(8100)과 제어기(8200) 사이에는 내부 채널들(IC1~IC4)을 통하여 데이터 통신이 수행된다. 여기서 내부 채널의 개수가 4개로 제한되지 않는다는 것은 당업자에게 알려질 것이다.
본 발명의 실시 예에 따른 메모리 시스템은 태블릿(tablet) 제품(예를 들어, 갤럭시탭, 아이패드 등)에도 적용가능하다.
도 22는 본 발명의 실시 예에 따른 휴대용 전자 장치(9000)를 예시적으로 보여주는 도면이다. 도 22를 참조하면, 휴대용 전자 장치(9000)는 일반적으로 적어도 하나의 컴퓨터 판독 가능 매체(9020), 처리 시스템(9040), 입출력 서브시스템(9060), 무선 주파수 회로(9080) 및 오디오 회로(9100)를 포함한다. 각 구성요소들 적어도 하나의 통신 버스 혹은 신호선(9030)으로 연결될 수 있다.
휴대용 전자 장치(9000)는, 한정되지 않는 핸드헬드 컴퓨터(handheld computer), 태블릿 컴퓨터, 이동 전화, 미디어 플레이어, PDA(personal digital assistant) 등과 이들 아이템 중 둘 이상의 조합을 포함하는 임의의 휴대용 전자 장치일 수 있다. 여기서 적어도 하나의 컴퓨터 판독 가능 매체(9020)는 도 1에 도시된 메모리 시스템(10)을 포함한다. 한편, 휴대용 전자 장치(9000)에 대한 좀더 자세한 것은 참고 문헌으로 결합된 미국 등록 번호 US 7,509,588에서 설명될 것이다.
본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 실시 예에 있어서, 본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 메모리 시스템
100: 비휘발성 메모리 장치
BLK1~BLKz: 메모리 블록
SBLK1~SBLK4: 서브 블록
VB, VB1, VB2, VB3: 가상 블록
RB, RB1, RB2: 예비 블록
200: 메모리 제어기
220: 배드 블록 관리 유닛

Claims (10)

  1. 복수의 유닛들을 갖는 가상 블록들 및 적어도 하나의 예비 블록을 포함하는 메모리 시스템의 배드 블록 관리 방법에 있어서:
    상기 가상 블록들 및 상기 적어도 하나의 예비 블록을 대응하는 물리 블록들로 맵핑하는 단계;
    상기 가상 블록들 중 어느 하나의 유닛을 배드 유닛으로 판별하는 단계; 및
    상기 배드 유닛의 교체 영역을 상기 적어도 하나의 예비 블록의 제 1 유닛으로 할당하는 단계를 포함하고,
    각각의 상기 물리 블록들은, 상기 복수의 유닛들에 대응하는 복수의 서브 블록들을 포함하고, 각각의 상기 서브 블록들은, 제 1 방향 및 제 3 방향으로 형성된 기판 위에 제 2 방향으로 적층된 메모리 셀들을 포함하는 배드 블록 관리 방법.
  2. 제 1 항에 있어서,
    상기 제 1 방향, 제 2 방향, 및 제 3 방향들은 서로 수직인 배드 블록 관리 방법.
  3. 제 1 항에 있어서,
    상기 메모리 시스템은 블록 단위로 소거 동작을 수행하고,
    상기 배드 유닛을 갖는 가상 블록의 소거 동작시, 상기 교체 영역을 상기 적어도 하나의 예비 블록의 상기 제 1 유닛과는 다른 제 2 유닛으로 할당하는 단계를 더 포함하는 배드 블록 관리 방법.
  4. 제 3 항에 있어서,
    상기 적어도 하나의 예비 블록의 상기 제 1 유닛을 무효화 데이터로 처리하는 단계를 더 포함하는 배드 블록 관리 방법.
  5. 제 1 항에 있어서,
    상기 배드 유닛을 판별하는 단계는,
    상기 적어도 하나의 예비 블록에서 상기 배드 유닛을 갖는 가상 블록을 교체할 예비 블록이 존재하는 지를 판별하는 단계; 및
    교체할 예비 블록이 존재할 때, 상기 배드 유닛을 갖는 상기 가상 블록을 상기 존재하는 예비 블록과 교체하는 단계를 포함하는 배드 블록 관리 방법.
  6. 제 5 항에 있어서,
    상기 배드 유닛을 판별하는 단계는,
    상기 가상 블록과 상기 예비 블록이 교체된 후에, 상기 교체된 가상 블록과는 다른 가상 블록에서 어느 하나의 유닛이 배드 유닛으로 판별될 때, 상기 다른 가상 블록의 배드 유닛의 교체 영역을 상기 교체된 예비 블록의 유닛으로 할당하는 단계를 더 포함하는 배드 블록 관리 방법.
  7. 제 1 항에 있어서,
    상기 배드 유닛을 판별하는 단계는,
    상기 적어도 하나의 예비 블록에서 상기 배드 유닛을 갖는 가상 블록을 교체할 예비 블록이 존재하는 지를 판별하는 단계; 및
    교체할 예비 블록이 존재하지 않을 때, 상기 교체 영역을 상기 적어도 하나의 예비 블록의 유닛으로 할당하는 단계를 포함하는 배드 블록 관리 방법.
  8. 제 1 항에 있어서,
    상기 가상 블록들 중 어느 하나에서 발생한 적어도 2 개의 배드 유닛들의 교체 영역들을 하나의 예비 블록의 유닛들로 할당하는 단계를 더 포함하고,
    상기 하나의 예비 블록의 유닛들로 할당하는 단계는,
    상기 하나의 예비 블록에서 할당 가능한 유닛들의 개수가 기준 값 이상일 때, 상기 적어도 2 개의 배드 유닛들의 교체 영역들을 상기 하나의 예비 블록의 유닛들로 할당하는 단계; 및,
    상기 하나의 예비 블록에서 할당 가능한 유닛들의 개수가 기준 값 미만일 때, 상기 적어도 2개의 배드 유닛들 중 적어도 하나의 교체 영역을 상기 하나의 예비 블록과 다른 예비 블록의 유닛으로 할당하는 단계를 포함하는 배드 블록 관리 방법.
  9. 복수의 서브 블록들을 갖는 메모리 블록들을 포함하는 적어도 하나의 비휘발성 메모리 장치; 및
    상기 적어도 하나의 비휘발성 메모리 장치를 제어하고, 메모리 블록 단위로 소거 동작을 수행하고, 서브 블록 단위로 배드 블록을 관리하는 메모리 제어기를 포함하는 메모리 시스템.
  10. 제 9 항에 있어서,
    각각의 상기 복수의 서브 블록들은,
    제 1 방향 및 제 3 방향으로 형성된 기판 위에, 워드라인 컷들 사이에 제 2 방향으로 기판 형태로 적층된 적어도 하나의 접지 선택 라인, 복수의 워드라인들, 및 적어도 하나의 스트링 선택 라인; 및
    상기 적어도 하나의 접지 선택 라인, 상기 복수의 워드라인들, 및 상기 적어도 하나의 스트링 선택 라인을 관통하는 복수의 필라들을 포함하고,
    상기 제 1 방향, 제 2 방향, 및 제 3 방향들은 서로 수직이고,
    상기 적어도 하나의 스트링 선택 라인은 스트링 선택 라인 컷으로 분리되고,
    각각의 상기 복수의 필라들은 대응하는 비트라인에 연결된 상부면과, 공통 소스 라인에 연결된 하부면을 갖는 메모리 시스템
KR1020110042096A 2011-05-03 2011-05-03 배드 블록 관리를 위한 방법 및 메모리 시스템 KR20120124285A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110042096A KR20120124285A (ko) 2011-05-03 2011-05-03 배드 블록 관리를 위한 방법 및 메모리 시스템
US13/438,203 US20120284469A1 (en) 2011-05-03 2012-04-03 Memory system and bad block management method
US14/659,250 US20150186065A1 (en) 2011-05-03 2015-03-16 Memory system and bad block management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110042096A KR20120124285A (ko) 2011-05-03 2011-05-03 배드 블록 관리를 위한 방법 및 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20120124285A true KR20120124285A (ko) 2012-11-13

Family

ID=47091039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110042096A KR20120124285A (ko) 2011-05-03 2011-05-03 배드 블록 관리를 위한 방법 및 메모리 시스템

Country Status (2)

Country Link
US (2) US20120284469A1 (ko)
KR (1) KR20120124285A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005844A (ko) * 2016-07-07 2018-01-17 고려대학교 산학협력단 메모리 관리 시스템 및 그 방법
KR20210080907A (ko) * 2019-12-23 2021-07-01 주식회사 디에이아이오 비휘발성 메모리 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455048B2 (en) 2013-06-28 2016-09-27 Sandisk Technologies Llc NAND flash word line management using multiple fragment pools
KR102136396B1 (ko) 2013-08-30 2020-07-22 삼성전자주식회사 디램의 배드 페이지 관리 기능을 갖는 디램 콘트롤러 및 그에 따른 배드 페이지 관리방법
KR102137934B1 (ko) 2013-10-02 2020-07-28 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러를 포함하는 메모리 시스템
KR102342849B1 (ko) 2015-03-04 2021-12-23 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템, 상기 비휘발성 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9548121B2 (en) * 2015-06-18 2017-01-17 Macronix International Co., Ltd. Memory device having only the top poly cut
KR102469539B1 (ko) 2017-12-22 2022-11-22 삼성전자주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 저장 장치
US11294580B2 (en) 2017-12-22 2022-04-05 Samsung Electronics Co., Ltd. Nonvolatile memory device
CN109960618A (zh) * 2017-12-26 2019-07-02 航天信息股份有限公司 用于增强税控设备中存储单元可靠性的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP5016832B2 (ja) * 2006-03-27 2012-09-05 株式会社東芝 不揮発性半導体記憶装置及びその製造方法
TWI435219B (zh) * 2010-07-29 2014-04-21 Phison Electronics Corp 資料保護方法、記憶體控制器及可攜式記憶體儲存裝置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005844A (ko) * 2016-07-07 2018-01-17 고려대학교 산학협력단 메모리 관리 시스템 및 그 방법
KR20210080907A (ko) * 2019-12-23 2021-07-01 주식회사 디에이아이오 비휘발성 메모리 시스템

Also Published As

Publication number Publication date
US20120284469A1 (en) 2012-11-08
US20150186065A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
US11301373B2 (en) Reconstruction of address mapping in a host of a storage system
US9190155B2 (en) Memory system
US10540274B2 (en) Memory devices including dynamic superblocks, and related methods and electronic systems
US9529705B2 (en) Nonvolatile memory system including nonvolatile memory device and memory controller that loads a mapping table on a sub-bitmap and method of operating the memory controller
KR20120124285A (ko) 배드 블록 관리를 위한 방법 및 메모리 시스템
US9715444B2 (en) Storage device having nonvolatile memory device and write method
US10924552B2 (en) Hyper-converged flash array system
US9116795B2 (en) Non-volatile memory devices using a mapping manager
US10965751B2 (en) Just a bunch of flash (JBOF) appliance with physical access application program interface (API)
KR102295208B1 (ko) 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
US10061695B2 (en) Memory system and operating method thereof
US10409718B2 (en) Memory system and operating method thereof
US9257192B2 (en) Memory system performing multi-step erase operation based on stored metadata
US20160246529A1 (en) Storage device and operating method of the same
CN112201292A (zh) 控制器及其操作方法
KR20120109903A (ko) 불휘발성 메모리의 제어 방법 및 그것을 포함하는 메모리 시스템
US20200401328A1 (en) Storage device and method of operating the same
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
US20170109078A1 (en) Memory System and Method for Increasing Read Parallelism of Translation Pages
US9792068B2 (en) Memory system and method of controlling nonvolatile memory
US11455249B2 (en) Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system
CN112306386A (zh) 存储装置及其操作方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid