KR102395434B1 - 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 - Google Patents

비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR102395434B1
KR102395434B1 KR1020170034938A KR20170034938A KR102395434B1 KR 102395434 B1 KR102395434 B1 KR 102395434B1 KR 1020170034938 A KR1020170034938 A KR 1020170034938A KR 20170034938 A KR20170034938 A KR 20170034938A KR 102395434 B1 KR102395434 B1 KR 102395434B1
Authority
KR
South Korea
Prior art keywords
remapping
address
memory
block
bad
Prior art date
Application number
KR1020170034938A
Other languages
English (en)
Other versions
KR20180106518A (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 KR1020170034938A priority Critical patent/KR102395434B1/ko
Priority to US15/824,068 priority patent/US10622091B2/en
Priority to CN201810151093.6A priority patent/CN108628757B/zh
Publication of KR20180106518A publication Critical patent/KR20180106518A/ko
Application granted granted Critical
Publication of KR102395434B1 publication Critical patent/KR102395434B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 장치는 메모리 셀 어레이 및 배드 블록 리맵핑 회로를 포함한다. 메모리 셀 어레이는 복수의 제1 메모리 블록들을 포함하는 제1 매트, 및 복수의 제2 메모리 블록들을 포함하고 제1 매트와 페어링되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스된다. 배드 블록 리맵핑 회로는 제1 선택 메모리 블록에 불량이 발생한 경우에, 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생한다. 제1 리맵핑 어드레스에 기초하여 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 제2 선택 메모리 블록이 액세스된다.

Description

비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템{NONVOLATILE MEMORY DEVICE AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 전원 공급이 중단될 때 저장된 데이터를 상실하는지 여부에 따라 휘발성 메모리 장치(volatile memory device)와 비휘발성 메모리 장치(nonvolatile memory device)로 구분될 수 있다. 비휘발성 메모리 장치는 페이지(page), 블록(block) 및/또는 매트 단위로 미리 정해진 동작들을 수행할 수 있다. 페이지는 데이터 독출(read) 동작을 수행하는 최소 단위이고, 블록은 데이터 소거(erase) 동작을 수행하는 최소 단위이며, 매트는 데이터 기입(program)/독출/소거 동작과 같은 각 독립적인 동작을 수행하는 최소 단위일 수 있다. 여러 개의 페이지들이 하나의 블록을 형성할 수 있고, 여러 개의 블록들이 하나의 매트를 형성할 수 있다.
본 발명의 일 목적은 배드 블록의 개수를 감소시킬 수 있는 비휘발성 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비휘발성 메모리 장치는 메모리 셀 어레이 및 배드 블록 리맵핑 회로를 포함한다. 상기 메모리 셀 어레이는 복수의 제1 메모리 블록들을 포함하는 제1 매트, 및 복수의 제2 메모리 블록들을 포함하고 상기 제1 매트와 페어링(pairing)되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스된다. 상기 배드 블록 리맵핑 회로는 상기 제1 선택 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생한다. 상기 제1 리맵핑 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 상기 제2 선택 메모리 블록이 액세스된다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 시스템은 메모리 컨트롤러 및 상기 메모리 컨트롤러에 의해 제어되는 비휘발성 메모리 장치를 포함한다. 상기 비휘발성 메모리 장치는 메모리 셀 어레이 및 배드 블록 리맵핑 회로를 포함한다. 상기 메모리 셀 어레이는 복수의 제1 메모리 블록들을 포함하는 제1 매트, 및 복수의 제2 메모리 블록들을 포함하고 상기 제1 매트와 페어링(pairing)되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스된다. 상기 배드 블록 리맵핑 회로는 상기 제1 선택 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생한다. 상기 제1 리맵핑 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 상기 제2 선택 메모리 블록이 액세스된다.
상기와 같은 본 발명의 실시예들에 따른 비휘발성 메모리 장치는 메모리 셀 어레이에 포함되는 두 개 이상의 매트들이 페어링되어 동작하는 병합 블록 구조를 가질 수 있다. 하나의 메모리 블록에 불량이 발생한 경우에, 불량이 발생한 메모리 블록 및 이와 페어링된 메모리 블록을 모두 배드 블록으로 처리하지 않으며, 불량이 발생한 메모리 블록만을 리맵핑 메모리 블록으로 대체하도록 어드레스 리맵핑을 수행할 수 있다. 또한, 우선순위 디코더를 이용하여 메모리 블록의 중복 선택 없이 런타임 불량이 발생한 메모리 블록만을 다른 리맵핑 메모리 블록으로 대체할 수 있다. 따라서, 불량이 발생하지 않은 메모리 블록을 효과적으로 사용할 수 있고, 유효 메모리 블록의 개수를 증가시킬 수 있으며, 실제로는 별개로 불량이 발생한 메모리 블록들을 한 쌍으로 불량이 발생한 것처럼 처리할 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 매트의 일 예를 나타내는 도면이다.
도 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 구체적으로 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 5a, 5b, 6, 7, 8 및 9는 도 4의 비휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다.
도 10, 11 및 12는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 다른 예를 나타내는 블록도들이다.
도 13 및 14는 도 12의 비휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다.
도 15 및 16은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 또 다른 예를 나타내는 블록도들이다.
도 17a 및 17b는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 예를 나타내는 회로도들이다.
도 18은 본 발명의 실시예들에 따른 메모리 시스템의 구동 방법을 나타내는 순서도이다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 솔리드 스테이트 드라이브(solid state drive; SSD)를 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(nonvolatile memory device; NVM)(100)를 포함한다.
비휘발성 메모리 장치(100)는 메모리 컨트롤러(20)에 의해 제어되고 액세스된다. 예를 들어, 메모리 컨트롤러(20)는 호스트(미도시)의 요청에 따라 비휘발성 메모리 장치(100)에 데이터를 기입(즉, 프로그램)하거나 비휘발성 메모리 장치(100)로부터 데이터를 독출하거나 비휘발성 메모리 장치(100)에 저장된 데이터를 소거할 수 있다.
메모리 컨트롤러(20)는 제어 라인을 통해 커맨드(CMD) 및 어드레스(ADDR)를 비휘발성 메모리 장치(100)에 전송하고, 데이터 입출력 라인을 통해 비휘발성 메모리 장치(100)와 데이터(DAT)를 주고받는다. 상기 제어 라인 및 상기 데이터 입출력 라인의 일부 또는 전부를 채널이라 부를 수 있다.
한편, 도시하지는 않았지만, 메모리 컨트롤러(20)는 상기 제어 라인을 통해 데이터 스트로브 신호(DQS), 칩 인에이블 신호(/CE), 기입 인에이블 신호(/WE), 독출 인에이블 신호(/RE), 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE) 등을 포함하는 제어 신호를 비휘발성 메모리 장치(100)에 더 전송할 수도 있고, 전원 라인을 통해 전원 전압을 비휘발성 메모리 장치(100)에 더 전송할 수도 있다.
비휘발성 메모리 장치(100)는 메모리 셀 어레이(110) 및 배드 블록 리맵핑 회로(170)를 포함한다. 메모리 셀 어레이(110)는 복수의 매트들을 포함한다. 예를 들어, 메모리 셀 어레이(110)는 제1 내지 제N(N은 2 이상의 자연수) 매트들(MAT1, MAT2, ..., MATN)을 포함할 수 있다.
도 2는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 매트의 일 예를 나타내는 도면이다.
도 2를 참조하면, 상기 복수의 매트들 중 제1 매트(MAT1)는 복수의 메모리 블록들(또는 복수의 블록들)을 포함할 수 있다. 예를 들어, 제1 매트(MAT1)는 제1 내지 제M(M은 2 이상의 자연수) 메모리 블록들(BLK1, BLK2, ..., BLKM)을 포함할 수 있다.
상기 복수의 메모리 블록들 중 제1 메모리 블록(BLK1)은 복수의 페이지들을 포함할 수 있다. 예를 들어, 제1 메모리 블록(BLK1)은 제1 내지 제K(K는 2 이상의 자연수) 페이지들(PG1, PG2, ..., PGK)을 포함할 수 있다.
비휘발성 메모리 장치는 페이지, 블록 및/또는 매트 단위로 미리 정해진 동작들을 수행할 수 있다. 예를 들어, 비휘발성 메모리 장치는 페이지 단위로 데이터 독출 동작을 수행할 수 있고, 블록 단위로 데이터 소거 동작을 수행할 수 있으며, 매트 단위로 데이터 기입/독출/소거 동작과 같은 각 독립적인 동작을 수행할 수 있다. 또한, 비휘발성 메모리 장치는 메모리 셀 어레이의 일부분에 불량이 발생한 경우에, 블록 단위로 메모리 셀 어레이를 비활성화(disable)시킬 수 있다.
한편, 도시하지는 않았지만, 제2 내지 제M 메모리 블록들(BLK2~BLKM) 각각은 제1 메모리 블록(BLK1)과 유사하게 복수의 페이지들을 포함할 수 있고, 제2 내지 제N 매트들(MAT2~MATN)은 제1 매트(MAT1)와 유사하게 복수의 메모리 블록들 및 복수의 페이지들을 포함할 수 있다. 각 매트에 포함되는 메모리 블록들의 개수는 실질적으로 동일할 수 있고, 각 메모리 블록에 포함되는 페이지들의 개수는 실질적으로 동일할 수 있다.
다시 도 1을 참조하면, 제1 내지 제N 매트들(MAT1~MATN) 중 적어도 두 개는 서로 페어링(pairing)되어 동작한다. 본 명세서에서, 두 개 이상의 매트들이 페어링되어 동작한다는 것은, 두 개 이상의 매트들이 하나의 어드레스에 의해 액세스되는 것을 나타낸다. 예를 들어, 제1 및 제2 매트들(MAT1, MAT2)이 서로 페어링되어 동작하는 경우에, 하나의 어드레스에 의해 제1 매트(MAT1)에 포함되는 하나의 메모리 블록과 제2 매트(MAT2)에 포함되는 하나의 메모리 블록이 실질적으로 동시에 액세스될 수 있다. 이러한 구조를 병합 블록(merged block) 구조 또는 병합 페이지(merged page) 구조라고 부를 수 있다.
배드 블록 리맵핑 회로(170)는 메모리 컨트롤러(20)로부터 수신되는 어드레스(ADDR)에 대응하는 메모리 블록에 불량이 발생한 경우에, 불량 메모리 블록 대신에 정상 메모리 블록이 액세스되도록 어드레스(ADDR)를 리맵핑하여 리맵핑 어드레스를 발생한다. 본원발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 배드 블록 리맵핑 회로(170)는, 상기와 같은 병합 블록 구조에서 하나의 어드레스에 의해 실질적으로 동시에 액세스되는 복수의 메모리 블록들 중 불량 메모리 블록만을 정상 메모리 블록으로 대체하도록 리맵핑 동작을 수행함으로써, 페어링되어 동작하는 복수의 메모리 블록들 중 하나에 불량이 발생하더라도 나머지 메모리 블록들을 정상적으로 사용할 수 있다. 배드 블록 리맵핑 회로(170)의 동작에 대해서는 도 4 내지 16을 참조하여 상세하게 후술하도록 한다.
도 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 구체적으로 나타내는 블록도이다.
도 3을 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 페이지 버퍼(130), 입출력 회로(140), 전압 발생기(150), 제어 회로(160) 및 배드 블록 리맵핑 회로(170)를 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 매트들(MAT1, MAT2, ..., MATN)로 구분될 수 있다. 도 2를 참조하여 상술한 것처럼, 매트는 각 독립적인 동작을 수행하는 최소 단위일 수 있고, 복수의 매트들(MAT1~MATN) 각각은 복수의 메모리 블록들을 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있다. 상기 복수의 메모리 셀들 각각은 복수의 워드 라인들 중 하나 및 복수의 비트 라인들 중 하나에 각각 연결될 수 있다. 예를 들어, 상기 복수의 메모리 셀들은 비휘발성 메모리 셀들일 수 있다. 도 17a 및 17b를 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들은 2차원 어레이(array) 구조 또는 3차원 수직 어레이 구조로 배열될 수 있다.
로우 디코더(120)는 상기 복수의 워드 라인들에 연결될 수 있다. 로우 디코더(120)는 로우 어드레스(RADDR)에 응답하여, 상기 복수의 워드 라인들 중 적어도 하나를 선택 워드 라인으로 결정할 수 있고, 상기 복수의 워드 라인들 중에서 상기 선택 워드 라인을 제외한 나머지 워드 라인들을 비선택 워드 라인들로 결정할 수 있다.
전압 발생기(150)는 전원 전압에 기초하여 비휘발성 메모리 장치(100)의 동작에 필요한 워드 라인 전압들(VWL)을 발생할 수 있다. 워드 라인 전압들(VWL)은 로우 디코더(120)를 통해 상기 복수의 워드 라인들에 인가될 수 있다.
예를 들어, 데이터 소거 동작 시에, 전압 발생기(150)는 메모리 블록의 웰에 소거 전압을 인가하고 메모리 블록의 모든 워드 라인들에 접지 전압을 인가할 수 있다. 소거 검증 동작 시에, 전압 발생기(150)는 하나의 메모리 블록의 모든 워드 라인들에 소거 검증 전압을 인가하거나 워드 라인 단위로 소거 검증 전압을 인가할 수 있다. 다른 예에서, 데이터 프로그램 동작 시, 전압 발생기(150)는 상기 선택 워드 라인에 프로그램 전압을 인가하고, 상기 비선택 워드 라인들에는 프로그램 패스 전압을 인가할 수 있다. 프로그램 검증 동작 시에, 전압 발생기(150)는 상기 선택 워드 라인에 프로그램 검증 전압을 인가하고, 상기 비선택 워드 라인들에는 검증 패스 전압을 인가할 수 있다. 또한, 데이터 독출 동작 시에, 전압 발생기(150)는 상기 선택 워드 라인에 독출 전압을 인가하고, 상기 비선택 워드 라인들에는 독출 패스 전압을 인가할 수 있다.
페이지 버퍼(130)는 상기 복수의 비트 라인들에 연결될 수 있다. 페이지 버퍼(130)는 컬럼 어드레스(CADDR)에 응답하여, 메모리 셀 어레이(110)에 프로그램 될 기입 데이터를 저장하거나 혹은 메모리 셀 어레이(110)로부터 감지된 독출 데이터를 저장할 수 있다. 즉, 페이지 버퍼(130)는 비휘발성 메모리 장치(100)의 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다.
입출력 회로(140)는 컬럼 어드레스(CADDR)에 응답하여, 상기 기입 데이터를 페이지 버퍼(130)를 거쳐서 메모리 셀 어레이(110)에 제공하거나 혹은 메모리 셀 어레이(110)로부터 페이지 버퍼(130)를 거쳐서 출력되는 상기 독출 데이터를 외부(예를 들어, 도 1의 메모리 컨트롤러(20))에 제공할 수 있다.
일 실시예에서, 페이지 버퍼(130)와 입출력 회로(140)는 메모리 셀 어레이(110)의 제1 저장 영역으로부터 데이터를 독출하고, 독출된 데이터를 메모리 셀 어레이(110)의 제2 저장 영역에 기입할 수 있다. 즉, 페이지 버퍼(130)와 입출력 회로(140)는 카피-백(copy-back) 동작을 수행할 수 있다.
제어 회로(160)는 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 메모리 셀 어레이(110)에 대한 데이터 기입/독출/소거 동작을 수행하도록 로우 디코더(120), 페이지 버퍼(130), 입출력 회로(140) 및 전압 발생기(150)를 제어할 수 있다. 예를 들어, 제어 회로(160)는 커맨드(CMD)에 기초하여 로우 디코더(120), 페이지 버퍼(130), 입출력 회로(140) 및 전압 발생기(150)를 제어하기 위한 제어 신호들(미도시)을 발생할 수 있고, 어드레스(ADDR)에 기초하여 로우 어드레스(RADDR) 및 컬럼 어드레스(CADDR)를 발생할 수 있다.
배드 블록 리맵핑 회로(170)는 불량 메모리 블록이 존재하는 경우에, 상기 불량 메모리 블록 대신에 정상 메모리 블록이 액세스되도록 어드레스(ADDR)를 리맵핑하여 리맵핑 어드레스를 발생한다. 예를 들어, 배드 블록 리맵핑 회로(170)는 로우 어드레스(RADDR)에 대한 리맵핑 동작을 수행할 수 있다. 다시 말하면, 로우 어드레스(RADDR)는 메모리 컨트롤러(20)로부터 제공된 입력 어드레스 및 상기 리맵핑 동작에 의해 발생되는 리맵핑 어드레스 중 하나일 수 있다.
도 3에서는 배드 블록 리맵핑 회로(170)가 제어 회로(160)에 포함되는 것으로 도시하였으나, 실시예에 따라서 배드 블록 리맵핑 회로(170)는 제어 회로(160)의 외부에 위치할 수도 있다.
이하에서는 두 개의 매트들이 서로 페어링되어 동작하는 경우(도 4 내지 15), 및 세 개의 매트들이 서로 페어링되어 동작하는 경우(도 16)에 기초하여 본 발명의 실시예들을 더욱 상세하게 후술하도록 한다.
도 4는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 4를 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(170a)를 포함한다. 도시의 편의상, 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(170a)를 제외한 비휘발성 메모리 장치의 구성요소들은 생략되었다.
메모리 셀 어레이(110a)는 두 개의 매트들이 서로 페어링되어 동작하도록 구현된다. 구체적으로, 메모리 셀 어레이(110a)는 제1 매트(MAT1) 및 제2 매트(MAT2)를 포함한다. 제1 매트(MAT1)는 복수의 제1 메모리 블록들(BLK1-1, BLK1-2, ..., BLK1-Y, BLK1-(Y+1), ..., BLK1-Z, RMBLK1-1, RMBLK1-2, ..., RMBLK1-X)(X, Y는 2보다 큰 자연수, Z는 Y보다 큰 자연수)을 포함한다. 제2 매트(MAT2)를 포함한다. 제2 매트(MAT2)는 복수의 제2 메모리 블록들(BLK2-1, BLK2-2, ..., BLK2-Y, BLK2-(Y+1), ..., BLK2-Z, RMBLK2-1, RMBLK2-2, ..., RMBLK2-X)을 포함하고, 제1 매트(MAT1)와 페어링되어 동작한다.
일 실시예에서, 제1 매트(MAT1)는 메모리 셀 어레이(110a)에 저장되는 데이터의 최하위 비트(least significant bit; LSB)들을 저장할 수 있고, 제2 매트(MAT2)는 메모리 셀 어레이(110a)에 저장되는 상기 데이터의 최상위 비트(most significant bit; MSB)들을 저장할 수 있다.
일 실시예에서, 제1 매트(MAT1) 내의 상기 복수의 제1 메모리 블록들은 모두 실질적으로 동일한 성질의 메모리 블록들일 수 있다. 후술되는 것처럼, 메모리 블록들(RMBLK1-1 내지 RMBLK1-X)은 불량 메모리 블록을 대체하는 리맵핑 메모리 블록으로 사용되지만, 메모리 블록들(BLK1-1 내지 BLK1-Z)과 구별되어 별도로 구현되는 리페어용 블록들이 아니고 메모리 블록들(BLK1-1 내지 BLK1-Z)과 실질적으로 동일한 블록들이며, 따라서 임의의 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 하나를 자유롭게 액세스할 수 있다. 이와 유사하게, 제2 매트(MAT2) 내의 상기 복수의 제2 메모리 블록들은 모두 실질적으로 동일한 성질의 메모리 블록들일 수 있다.
배드 블록 리맵핑 회로(170a)로부터 제공되는 입력 어드레스(IADDR) 및 리맵핑 어드레스(RMADDR) 중 하나에 기초하여, 상기 복수의 제1 메모리 블록들 중 하나 및 상기 복수의 제2 메모리 블록들 중 하나가 실질적으로 동시에 액세스된다.
배드 블록 리맵핑 회로(170a)는 메모리 컨트롤러(예를 들어, 도 1의 20)로부터 수신된 입력 어드레스(IADDR)를 선택적으로 리맵핑한다. 구체적으로, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)에 대응하는 상기 복수의 제1 메모리 블록들 중 하나 또는 상기 복수의 제2 메모리 블록들 중 하나가 불량인 경우에(즉, 불량 메모리 블록인 경우에), 입력 어드레스(IADDR)를 리맵핑하여 리맵핑 어드레스(RMADDR)를 발생한다. 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)에 대응하는 상기 복수의 제1 메모리 블록들 중 하나 및 상기 복수의 제2 메모리 블록들 중 하나가 모두 정상인 경우에, 입력 어드레스(IADDR)를 출력할 수 있다.
배드 블록 리맵핑 회로(170a)는 제1 리맵핑 회로(200) 및 제2 리맵핑 회로(300)를 포함할 수 있다. 제1 리맵핑 회로(200)는 제1 매트(MAT1) 내의 상기 복수의 제1 메모리 블록들에 대한 배드 블록 정보 및 리맵핑 정보를 저장할 수 있다. 제2 리맵핑 회로(300)는 제2 매트(MAT2) 내의 상기 복수의 제2 메모리 블록들에 대한 배드 블록 정보 및 리맵핑 정보를 저장할 수 있다.
도 5a, 5b, 6, 7, 8 및 9는 도 4의 비휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다. 도 5a 및 5b는 제1 및 제2 매트들(MAT1, MAT2)이 모두 불량 메모리 블록을 포함하지 않는 경우를 나타내고, 도 6 및 7은 제1 매트(MAT1)만이 하나의 불량 메모리 블록을 포함하는 경우를 나타내며, 도 6 및 7은 제1 및 제2 매트들(MAT1, MAT2)이 모두 하나의 불량 메모리 블록을 포함하는 경우를 나타낸다.
도 5a 및 5b를 참조하면, 제1 및 제2 매트들(MAT1, MAT2)이 모두 불량 메모리 블록을 포함하지 않는 경우에, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)에 대한 리맵핑 동작 없이 입력 어드레스(IADDR)를 그대로 출력할 수 있다.
예를 들어, 도 5a에 도시된 것처럼, 제1 어드레스(ADDR1)에 대응하는 제1 매트(MAT1) 내의 제1 선택 메모리 블록(BLK1-1) 및 제2 매트(MAT2) 내의 제2 선택 메모리 블록(BLK2-1)이 모두 정상 메모리 블록인 경우에, 제1 어드레스(ADDR1)가 입력 어드레스(IADDR)로서 제공되면 배드 블록 리맵핑 회로(170a)는 리맵핑 동작 없이 제1 어드레스(ADDR1)를 출력할 수 있다. 제1 어드레스(ADDR1)에 의해 제1 및 제2 선택 메모리 블록들(BLK1-1, BLK2-1)(빗금 표시 블록들)이 실질적으로 동시에 액세스될 수 있다.
또한, 도 5b에 도시된 것처럼, 제1 어드레스(ADDR1)와 다른 제2 어드레스(ADDR2)에 대응하는 제1 매트(MAT1) 내의 제3 선택 메모리 블록(BLK1-Y) 및 제2 매트(MAT2) 내의 제4 선택 메모리 블록(BLK2-Y)이 모두 정상 메모리 블록인 경우에, 제2 어드레스(ADDR2)가 입력 어드레스(IADDR)로서 제공되면 배드 블록 리맵핑 회로(170a)는 리맵핑 동작 없이 제2 어드레스(ADDR2)를 출력할 수 있다. 제2 어드레스(ADDR2)에 의해 제3 및 제4 선택 메모리 블록들(BLK1-Y, BLK2-Y)(빗금 표시 블록들)이 실질적으로 동시에 액세스될 수 있다.
도 6 및 7을 참조하면, 제1 매트(MAT1)가 하나의 불량 메모리 블록을 포함하는 경우에, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)를 리맵핑하여 리맵핑 어드레스를 출력할 수 있다.
구체적으로, 도 7에 도시된 것처럼, 제1 매트(MAT1) 내의 제1 선택 메모리 블록(BLK1-1)(검정색 표시 블록)에 불량이 발생한 경우에, 배드 블록 리맵핑 회로(170a)는 제1 선택 메모리 블록(BLK1-1)에 대응하는 제1 어드레스(ADDR1)를 배드 블록 정보로 저장할 수 있다. 이후에 입력 어드레스(IADDR)로서 제1 어드레스(ADDR1)가 수신되는 경우에, 배드 블록 리맵핑 회로(170a)는 제1 어드레스(ADDR1)가 상기 배드 블록 정보에 포함됨을 확인하고 제1 어드레스(ADDR1)를 리맵핑하여 리맵핑 어드레스(RMADDR11)를 발생할 수 있다. 이에 따라, 리맵핑 어드레스(RMADDR11)에 기초하여 리맵핑 메모리 블록(RMBLK1-1)과 제2 선택 메모리 블록(BLK2-1)(빗금 표시 블록들)이 실질적으로 동시에 액세스될 수 있다. 한편, 이 경우 리맵핑 메모리 블록(RMBLK1-1)은 최초 설정된 어드레스에 의해 액세스될 수는 없다.
도 7을 참조하여 상술한 리맵핑 동작은 배드 블록 리맵핑 회로(170a)에 포함되는 제1 리맵핑 회로(200)에 의해 수행될 수 있다. 다시 말하면, 제1 리맵핑 회로(200)는 입력 어드레스(IADDR)가 제1 어드레스(ADDR1)와 동일한 경우에 입력 어드레스(IADDR)를 리맵핑 어드레스(RMADDR11)로 대체할 수 있다.
구체적으로, 도 6에 도시된 것처럼, 제1 리맵핑 회로(200)는 제1 저장부(210), 제2 저장부(220), 비교부(230) 및 출력부(240)를 포함할 수 있다. 제1 매트(MAT1)에 대한 상기 배드 블록 정보 및 리맵핑 정보가 제1 리맵핑 회로(200)에 저장될 수 있다.
제1 저장부(210)는 제1 매트(MAT1)에 대한 상기 배드 블록 정보를 저장할 수 있다. 예를 들어, 제1 저장부(210)는 제1 매트(MAT1) 내의 불량 메모리 블록들에 대응하는 어드레스들, 즉 불량 어드레스들(BADDR11, BADDR12, ..., BADDR1X)을 저장할 수 있다. 제1 저장부(210)는 복수의 불량 어드레스 저장 영역들(BSTG1-1, BSTG1-2, ..., BSTG1-X)(212, 214, 216)을 포함할 수 있다. 불량 어드레스 저장 영역(212)은 불량 어드레스(BADDR11)를 저장할 수 있고, 불량 어드레스 저장 영역(214)은 불량 어드레스(BADDR12)를 저장할 수 있으며, 불량 어드레스 저장 영역(216)은 불량 어드레스(BADDR1X)를 저장할 수 있다.
제1 매트(MAT1) 내의 하나의 메모리 블록(BLK1-1)에만 불량이 발생한 경우에, 제1 선택 메모리 블록(BLK1-1)에 대응하는 제1 어드레스(ADDR1)가 불량 어드레스(BADDR11)로서 불량 어드레스 저장 영역(212)에 저장될 수 있고, 나머지 불량 어드레스 저장 영역들(214, 216)은 불량 어드레스들이 저장되지 않고 비어 있을 수 있다.
일 실시예에서, 불량 어드레스 저장 영역들(212, 214, 216) 각각은 하나의 불량 어드레스를 저장하는 하나의 레지스터를 포함하여 구현될 수 있다.
제2 저장부(220)는 제1 매트(MAT1)에 대한 상기 리맵핑 정보를 저장할 수 있다. 예를 들어, 제2 저장부(220)는 제1 매트(MAT1) 내의 상기 불량 메모리 블록들을 대체하고자 하는 제1 매트(MAT1) 내의 리맵핑 메모리 블록들에 대응하는 어드레스들, 즉 리맵핑 어드레스들(RMADDR11, RMADDR12, ..., RMADDR1X)을 저장할 수 있다. 제2 저장부(220)는 복수의 리맵핑 어드레스 저장 영역들(RMSTG1-1, RMSTG1-2, ..., RMSTG1-X)(222, 224, 226)을 포함할 수 있다. 리맵핑 어드레스 저장 영역(222)은 리맵핑 어드레스(RMADDR11)를 저장할 수 있고, 리맵핑 어드레스 저장 영역(224)은 리맵핑 어드레스(RMADDR12)를 저장할 수 있으며, 리맵핑 어드레스 저장 영역(226)은 리맵핑 어드레스(RMADDR1X)를 저장할 수 있다.
리맵핑 어드레스(RMADDR11)는 제1 매트(MAT1) 내의 리맵핑 메모리 블록(RMBLK1-1)에 대응할 수 있고, 리맵핑 어드레스(RMADDR12)는 제1 매트(MAT1) 내의 리맵핑 메모리 블록(RMBLK1-2)에 대응할 수 있으며, 리맵핑 어드레스(RMADDR1X)는 제1 매트(MAT1) 내의 리맵핑 메모리 블록(RMBLK1-X)에 대응할 수 있다. 제2 저장부(220)의 모든 리맵핑 어드레스 저장 영역들(222, 224, 226)에 리맵핑 어드레스들(RMADDR11~RMADDR1X)이 저장되어 있을 수 있고, 비어 있는 리맵핑 어드레스 저장 영역은 존재하지 않을 수 있다.
일 실시예에서, 리맵핑 어드레스 저장 영역들(222, 224, 226) 각각은 하나의 리맵핑 어드레스의 각 비트를 저장하는 복수의 퓨즈들을 포함하여 구현될 수 있다. 예를 들어, 상기 복수의 퓨즈들 각각은 전기 퓨즈(e-fuse)일 수 있다.
비교부(230)는 입력 어드레스(IADDR)와 불량 어드레스들(BADDR11~BADDR1X)을 비교할 수 있다. 비교부(230)는 복수의 비교기들(232, 234, 236)을 포함할 수 있다. 비교기(232)는 입력 어드레스(IADDR)와 불량 어드레스(BADDR11)를 비교할 수 있고, 비교 결과를 나타내는 비교 신호(CS11)를 발생할 수 있다. 비교기(234)는 입력 어드레스(IADDR)와 불량 어드레스(BADDR12)를 비교할 수 있고, 비교 결과를 나타내는 비교 신호(CS12)를 발생할 수 있다. 비교기(236)는 입력 어드레스(IADDR)와 불량 어드레스(BADDR1X)를 비교할 수 있고, 비교 결과를 나타내는 비교 신호(CS1X)를 발생할 수 있다.
입력 어드레스(IADDR)가 불량 어드레스와 실질적으로 동일한 경우에(즉, 입력 어드레스(IADDR)가 히트(hit)된 경우에) 이에 대응하는 비교 신호는 제1 논리 레벨(예를 들어, 논리 하이 레벨)을 가질 수 있고, 입력 어드레스(IADDR)가 불량 어드레스와 서로 다른 경우에 이에 대응하는 비교 신호는 제2 논리 레벨(예를 들어, 논리 로우 레벨)을 가질 수 있다. 예를 들어, 제1 어드레스(ADDR1)가 입력 어드레스(IADDR)로서 수신되어 입력 어드레스(IADDR)가 불량 어드레스(BADDR11)와 실질적으로 동일한 경우에, 비교 신호(CS11)는 상기 제1 논리 레벨을 가질 수 있고, 나머지 비교 신호들(CS12, CS1X)은 상기 제2 논리 레벨을 가질 수 있다.
출력부(240)는 입력 어드레스(IADDR)와 불량 어드레스들(BADDR11~BADDR1X)의 비교 결과에 따라 입력 어드레스(IADDR)를 출력하거나 또는 리맵핑 어드레스들(RMADDR11~RMADDR1X) 중 하나를 출력할 수 있다.
예를 들어, 제1 어드레스(ADDR1)가 입력 어드레스(IADDR)로서 수신되어 입력 어드레스(IADDR)와 불량 어드레스(BADDR11)가 실질적으로 동일한 경우에, 상술한 것처럼 비교 신호(CS11)는 상기 제1 논리 레벨을 가질 수 있고, 출력부(240)는 비교 신호(CS11)에 기초하여 입력 어드레스(IADDR) 대신에 리맵핑 어드레스(RMADDR11)를 출력할 수 있다.
본 발명의 실시예들에 따른 병합 블록 구조를 갖는 비휘발성 메모리 장치는, 불량이 발생한 메모리 블록(BLK1-1) 및 이와 페어링된 메모리 블록(BLK2-1)을 모두 배드 블록으로 처리하지 않으며, 불량이 발생한 메모리 블록(BLK1-1)만을 리맵핑 메모리 블록(RMBLK1-1)으로 대체하도록 어드레스 리맵핑을 수행할 수 있다. 따라서, 불량이 발생하지 않은 메모리 블록(BLK2-1)을 효과적으로 사용할 수 있고, 유효(valid) 메모리 블록의 개수를 증가시킬 수 있다.
도 6 및 7을 참조하여 제1 매트(MAT1)가 하나의 불량 메모리 블록을 포함하는 경우를 설명하였으나, 제1 매트(MAT1)가 복수의 불량 메모리 블록들을 포함하는 경우에도 이와 유사하게 동작할 수 있다. 예를 들어, 제1 매트(MAT1) 내의 메모리 블록(BLK1-2)에 추가적으로 불량이 발생한 경우에 메모리 블록(BLK1-2)에 대응하는 어드레스가 불량 어드레스 저장 영역(214)에 저장될 수 있고, 메모리 블록(BLK1-2)에 대응하는 어드레스가 수신된 경우에 리맵핑 어드레스(RMADDR12)로 대체될 수 있으며, 이에 따라 메모리 블록(BLK1-2)이 리맵핑 메모리 블록(RMBLK1-2)으로 대체될 수 있다. 다만, 제1 매트(MAT1)에서 발생되는 불량 메모리 블록들의 개수가 리맵핑 메모리 블록들(RMBLK1-1 내지 RMBLK1-X)의 개수(즉, X개)를 초과하는 경우에, (X+1)번째로 검출되는 불량 메모리 블록은 리맵핑 메모리 블록으로 대체될 수 없으며, 따라서 최종적으로 배드 블록 처리될 수 있다.
한편, 도시하지는 않았지만, 입력 어드레스(IADDR)가 불량 어드레스와 서로 다른 경우에(즉, 입력 어드레스(IADDR)가 히트되지 않은 경우에) 제1 리맵핑 회로(200)는 리맵핑 동작 없이 입력 어드레스(IADDR)를 그대로 출력할 수 있다. 예를 들어, 도 6의 예에서 제1 어드레스(ADDR1)가 아닌 다른 어드레스가 입력 어드레스(IADDR)로 수신된 경우에, 또는 도 5a에 도시된 것처럼 제1 선택 메모리 블록(BLK1-1)에 불량이 발생하지 않고 제1 어드레스(ADDR1)가 입력 어드레스(IADDR)로 수신된 경우에, 입력 어드레스(IADDR)가 그대로 출력될 수 있다.
도 8 및 9를 참조하면, 제1 및 제2 매트들(MAT1, MAT1)이 각각 하나의 불량 메모리 블록을 포함하는 경우에, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)를 리맵핑하여 리맵핑 어드레스를 출력할 수 있다.
구체적으로, 도 9에 도시된 것처럼, 제1 및 제2 매트들(MAT1, MAT2)내의 서로 다른 위치에 배치되는 제1 및 제4 선택 메모리 블록들(BLK1-1, BLK2-Y)(검정색 표시 블록)에 불량이 발생한 경우에, 배드 블록 리맵핑 회로(170a)는 제1 및 제4 선택 메모리 블록들(BLK1-1, BLK2-Y)에 대응하는 제1 및 제2 어드레스들(ADDR1, ADDR2)을 배드 블록 정보로 저장할 수 있다. 이후에 입력 어드레스(IADDR)로서 제2 어드레스(ADDR2)가 수신되는 경우에, 배드 블록 리맵핑 회로(170a)는 제2 어드레스(ADDR2)가 상기 배드 블록 정보에 포함됨을 확인하고 제2 어드레스(ADDR2)를 리맵핑하여 리맵핑 어드레스(RMADDR21)를 발생할 수 있다. 이에 따라, 리맵핑 어드레스(RMADDR21)에 기초하여 제3 선택 메모리 블록(BLK1-Y)과 리맵핑 메모리 블록(RMBLK2-1)(빗금 표시 블록들)이 실질적으로 동시에 액세스될 수 있다. 한편, 입력 어드레스(IADDR)로서 제1 어드레스(ADDR1)가 수신되는 경우의 동작은 도 6 및 7을 참조하여 상술한 것과 실질적으로 동일할 수 있으며, 리맵핑 메모리 블록들(RMBLK1-1, RMBLK2-1)은 최초 설정된 어드레스에 의해 액세스될 수는 없다.
도 9를 참조하여 상술한 리맵핑 동작은 배드 블록 리맵핑 회로(170a)에 포함되는 제2 리맵핑 회로(300)에 의해 수행될 수 있다. 다시 말하면, 제2 리맵핑 회로(300)는 입력 어드레스(IADDR)가 제2 어드레스(ADDR2)와 동일한 경우에 입력 어드레스(IADDR)를 리맵핑 어드레스(RMADDR21)로 대체할 수 있다.
구체적으로, 제2 리맵핑 회로(300)는 도 6의 제1 리맵핑 회로(200)와 실질적으로 동일한 구조를 가질 수 있다. 예를 들어, 도 8에 도시된 것처럼, 제2 리맵핑 회로(300)는 제1 저장부(310), 제2 저장부(320), 비교부(330) 및 출력부(340)를 포함할 수 있다. 제2 매트(MAT2)에 대한 상기 배드 블록 정보 및 리맵핑 정보가 제2 리맵핑 회로(300)에 저장될 수 있다.
제1 저장부(310)는 제2 매트(MAT2)에 대한 상기 배드 블록 정보를 저장할 수 있다. 예를 들어, 제2 저장부(310)는 제2 매트(MAT2) 내의 불량 메모리 블록들에 대응하는 어드레스들, 즉 불량 어드레스들(BADDR21, BADDR22, ..., BADDR2X)을 저장하는 복수의 불량 어드레스 저장 영역들(BSTG2-1, BSTG2-2, ..., BSTG2-X)(312, 314, 316)을 포함할 수 있다. 제2 매트(MAT2) 내의 하나의 메모리 블록(BLK2-Y)에만 불량이 발생한 경우에, 제4 선택 메모리 블록(BLK2-Y)에 대응하는 제2 어드레스(ADDR2)가 불량 어드레스(BADDR21)로서 불량 어드레스 저장 영역(312)에 저장될 수 있고, 나머지 불량 어드레스 저장 영역들(314, 316)은 비어 있을 수 있다.
제2 저장부(320)는 제2 매트(MAT2)에 대한 상기 리맵핑 정보를 저장할 수 있다. 예를 들어, 제2 저장부(320)는 제2 매트(MAT2) 내의 상기 불량 메모리 블록들을 대체하고자 하는 제2 매트(MAT2) 내의 리맵핑 메모리 블록들에 대응하는 어드레스들, 즉 리맵핑 어드레스들(RMADDR21, RMADDR22, ..., RMADDR2X)을 저장하는 복수의 리맵핑 어드레스 저장 영역들(RMSTG2-1, RMSTG2-2, ..., RMSTG2-X)(322, 324, 326)을 포함할 수 있다. 리맵핑 어드레스들(RMADDR21, RMADDR22, RMADDR2X)은 제2 매트(MAT2) 내의 리맵핑 메모리 블록들(RMBLK2-1, RMBLK2-2, RMBLK2-X)에 각각 대응할 수 있다. 비어 있는 리맵핑 어드레스 저장 영역은 존재하지 않을 수 있다.
비교부(330)는 입력 어드레스(IADDR)와 불량 어드레스들(BADDR21~BADDR2X)을 비교하고 비교 결과를 나타내는 비교 신호들(CS21, CS22, ..., CS2X)을 발생하는 복수의 비교기들(332, 334, 336)을 포함할 수 있다. 출력부(340)는 입력 어드레스(IADDR)와 불량 어드레스들(BADDR21~BADDR2X)의 비교 결과에 따라 입력 어드레스(IADDR)를 출력하거나 또는 리맵핑 어드레스들(RMADDR21~RMADDR2X) 중 하나를 출력할 수 있다.
예를 들어, 제2 어드레스(ADDR2)가 입력 어드레스(IADDR)로서 수신되어 입력 어드레스(IADDR)와 불량 어드레스(BADDR21)가 실질적으로 동일한 경우에, 비교부(330)는 상기 제1 논리 레벨을 갖는 비교 신호(CS21)를 발생할 수 있고, 출력부(340)는 비교 신호(CS21)에 기초하여 입력 어드레스(IADDR) 대신에 리맵핑 어드레스(RMADDR21)를 출력할 수 있다.
본 발명의 실시예들에 따른 병합 블록 구조를 갖는 비휘발성 메모리 장치는, 불량이 발생한 메모리 블록들(BLK1-1, BLK2-Y) 및 이와 페어링된 메모리 블록들(BLK2-1, BLK1-Y)을 모두 배드 블록으로 처리하지 않으며, 불량이 발생한 메모리 블록들(BLK1-1, BLK2-Y)만을 리맵핑 메모리 블록들(RMBLK1-1, RMBLK2-1)로 대체하도록 어드레스 리맵핑을 수행할 수 있다. 따라서, 불량이 발생하지 않은 메모리 블록들(BLK2-1, BLK1-Y)을 효과적으로 사용할 수 있고, 유효 메모리 블록의 개수를 증가시킬 수 있다. 이 때, 불량이 발생한 메모리 블록들(BLK1-1, BLK2-Y)이 한 쌍의 배드 블록들로 처리될 수 있다. 다시 말하면, 실제로는 별개로(unpaired) 불량이 발생한 메모리 블록들(BLK1-1, BLK2-Y)을 한 쌍으로(paired) 불량이 발생한 것처럼 처리할 수 있다.
도 8 및 9를 참조하여 제1 및 제2 매트들(MAT1, MAT2)이 각각 하나의 불량 메모리 블록을 포함하는 경우를 설명하였으나, 제1 및 제2 매트들(MAT1, MAT2)이 각각 복수의 불량 메모리 블록들을 포함하는 경우에도 이와 유사하게 동작할 수 있다. 또한 도시하지는 않았지만, 제2 매트(MAT2)가 불량 메모리 블록을 포함하는 경우에 비휘발성 메모리 장치의 동작은 도 6 및 7을 참조하여 상술한 것과 유사할 수 있다.
실시예에 따라서, 도 7의 제1 선택 메모리 블록(BLK1-1) 및/또는 도 9의 제1 및 제4 선택 메모리 블록들(BLK1-1, BLK2-Y)은 비휘발성 메모리 장치의 제조 과정에서 불량이 발생한 초기(initial) 배드 블록일 수도 있고, 비휘발성 메모리 장치의 사용 과정에서(예를 들어, 사용자에 의한 사용 도중에) 불량이 발생한 런타임(runtime) 배드 블록일 수도 있다.
도 10, 11 및 12는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 다른 예를 나타내는 블록도들이다.
도 10을 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(170a)를 포함하며, 판단 회로(180)를 더 포함할 수 있다.
판단 회로(180)를 더 포함하는 것을 제외하면, 도 10의 비휘발성 메모리 장치는 도 4의 비휘발성 메모리 장치와 실질적으로 동일할 수 있다.
판단 회로(180)는 배드 블록 리맵핑 회로(170a)의 활성화 여부를 결정할 수 있다. 예를 들어, 도 7 및 9를 참조하여 상술한 것처럼 배드 블록이 존재하여 리맵핑 동작이 필요한 경우에, 판단 회로(180)는 배드 블록 리맵핑 회로(170a)를 활성화하는 활성화 신호(EN)를 발생할 수 있다. 도 5a 및 5b를 참조하여 상술한 것처럼 배드 블록이 존재하지 않아 리맵핑 동작이 필요하지 않은 경우에, 판단 회로(180)는 배드 블록 리맵핑 회로(170a)를 비활성화하는 비활성화 신호(DIS)를 발생할 수 있다. 예를 들어, 외부에서 수신되는 사용자 설정 신호(미도시)에 기초하여 활성화 신호(EN) 또는 비활성화 신호(DIS)가 발생될 수 있다.
일 실시예에서, 판단 회로(180)는 배드 블록 리맵핑 회로(170a)의 활성화 정보를 저장하는 하나의 퓨즈를 포함하여 구현될 수 있다. 예를 들어, 상기 퓨즈는 전기 퓨즈일 수 있다.
도 11을 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(172a)를 포함한다.
판단 회로(180)가 배드 블록 리맵핑 회로(172a)에 포함되는 것을 제외하면, 도 11의 비휘발성 메모리 장치는 도 10의 비휘발성 메모리 장치와 실질적으로 동일할 수 있다.
도 12를 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(170a)를 포함하며, 우선순위 디코더(190)를 더 포함할 수 있다.
우선순위 디코더(190)를 더 포함하는 것을 제외하면, 도 12의 비휘발성 메모리 장치는 도 4의 비휘발성 메모리 장치와 실질적으로 동일할 수 있다.
실시예에 따라서, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)를 리맵핑하여 두 개 이상의 복수의 리맵핑 어드레스들(RMADDRs)를 발생할 수 있다. 우선순위 디코더(190)는 배드 블록 리맵핑 회로(170a)에서 출력된 복수의 리맵핑 어드레스들(RMADDRs) 중 우선순위가 높은 하나의 리맵핑 어드레스(RMADDR)를 선택하여 출력할 수 있다.
한편, 입력 어드레스(IADDR)가 리맵핑되지 않고 그대로 출력되는 경우에, 입력 어드레스(IADDR)는 우선순위 디코더(190)에 제공되지 않고 메모리 셀 어레이(110a)에 직접 제공될 수 있다.
도 13 및 14는 도 12의 비휘발성 메모리 장치의 동작을 설명하기 위한 도면들이다. 도 13 및 14는 제1 매트(MAT1)가 두 개의 불량 메모리 블록들을 포함하는 경우를 나타내며, 특히 하나의 어드레스에 대해 순차적으로 불량이 발생한 경우를 나타낸다,
도 13 및 14를 참조하면, 제1 매트(MAT1)가 하나의 어드레스에 대한 두 개 이상의 불량 메모리 블록들을 포함하는 경우에, 배드 블록 리맵핑 회로(170a)는 입력 어드레스(IADDR)를 리맵핑하여 두 개 이상의 리맵핑 어드레스들을 출력할 수 있다.
구체적으로, 도 14에 도시된 것처럼, 제1 매트(MAT1) 내의 제1 선택 메모리 블록(BLK1-1)(검정색 표시 블록)에 불량이 발생한 경우에, 배드 블록 리맵핑 회로(170a)는 제1 선택 메모리 블록(BLK1-1)에 대응하는 제1 어드레스(ADDR1)를 배드 블록 정보로 저장할 수 있고, 제1 선택 메모리 블록(BLK1-1)이 리맵핑 메모리 블록(RMBLK1-1)으로 대체될 수 있다. 이후에 제1 매트(MAT1) 내의 리맵핑 메모리 블록(RMBLK1-1)(검정색 표시 블록)에 추가적으로 불량이 발생한 경우에, 배드 블록 리맵핑 회로(170a)는 리맵핑 메모리 블록(RMBLK1-1)에 대응하는 제1 어드레스(ADDR1)를 상기 배드 블록 정보로 추가적으로 저장할 수 있다. 이후에 입력 어드레스(IADDR)로서 제1 어드레스(ADDR1)가 수신되는 경우에, 배드 블록 리맵핑 회로(170a)는 제1 어드레스(ADDR1)가 상기 배드 블록 정보에 포함됨을 확인하고 제1 어드레스(ADDR1)를 리맵핑하여 리맵핑 어드레스들(RMADDR11, RMADDR12)을 발생할 수 있다. 우선순위 디코더(190)는 리맵핑 어드레스들(RMADDR11, RMADDR12)의 우선순위를 비교하여, 우선순위가 높은 리맵핑 어드레스(RMADDR12)를 출력할 수 있다.
도 14를 참조하여 상술한 리맵핑 동작은 배드 블록 리맵핑 회로(170a)에 포함되는 제1 리맵핑 회로(200)에 의해 수행될 수 있다. 다시 말하면, 제1 리맵핑 회로(200)는 리맵핑 메모리 블록(RMBLK1-1)에 추가적으로 불량이 발생한 경우에, 제1 어드레스(ADDR1)를 리맵핑하여 제1 리맵핑 어드레스(RMADDR11)보다 우선순위가 높은 리맵핑 어드레스(RMADDR12)를 더 발생할 수 있다.
구체적으로, 도 13에 도시된 것처럼, 제1 리맵핑 회로(200)는 제1 저장부(210), 제2 저장부(220), 비교부(230) 및 출력부(240)를 포함할 수 있다. 도 13의 제1 리맵핑 회로(200)는 도 6의 제1 리맵핑 회로(200)와 실질적으로 동일하며, 따라서 중복되는 설명은 생략하도록 한다.
제1 매트(MAT1) 내의 제1 선택 메모리 블록(BLK1-1)에 불량이 발생한 경우에, 제1 선택 메모리 블록(BLK1-1)에 대응하는 제1 어드레스(ADDR1)가 불량 어드레스(BADDR11)로서 불량 어드레스 저장 영역(212)에 저장될 수 있다. 이에 따라, 제1 선택 메모리 블록(BLK1-1)이 리맵핑 메모리 블록(RMBLK1-1)으로 대체될 수 있으며, 제1 어드레스(ADDR1)는 리맵핑 메모리 블록(RMBLK1-1)에 대응할 수 있다.
제1 선택 메모리 블록(BLK1-1)이 리맵핑 메모리 블록(RMBLK1-1)으로 대체된 이후에, 제1 매트(MAT1) 내의 리맵핑 메모리 블록(RMBLK1-1)에 추가적으로 불량이 발생한 경우에, 리맵핑 메모리 블록(RMBLK1-1)에 대응하는 제1 어드레스(ADDR1)가 불량 어드레스(BADDR12)로서 불량 어드레스 저장 영역(214)에 저장될 수 있다. 다시 말하면, 불량 어드레스 저장 영역들(212, 214)은 동일한 어드레스(ADDR1)를 불량 어드레스로서 저장할 수 있다.
제1 어드레스(ADDR1)가 입력 어드레스(IADDR)로서 수신되어 입력 어드레스(IADDR)와 불량 어드레스들(BADDR11, BADDR12)이 실질적으로 동일한 경우에(즉, 입력 어드레스(IADDR)가 히트된 경우에), 비교 신호들(CS11, CS12)은 상기 제1 논리 레벨을 가질 수 있고, 비교 신호들(CS11, CS12)에 기초하여 입력 어드레스(IADDR) 대신에 리맵핑 어드레스들(RMADDR11, RMADDR12)이 출력될 수 있다.
일 실시예에서, 리맵핑 어드레스(RMADDR12)는 리맵핑 어드레스(RMADDR11)보다 높은 우선순위를 가질 수 있다. 리맵핑 어드레스들(RMADDR11~RMADDR1X)의 우선순위는 미리 결정되어 있을 수 있으며, 예를 들어 리맵핑 메모리 블록(RMBLK1-1)에 대응하는 리맵핑 어드레스(RMADDR11)가 가장 낮은 우선순위를 가지고 리맵핑 메모리 블록(RMBLK1-X)에 대응하는 리맵핑 어드레스(RMADDR1X)가 가장 높은 우선순위를 가지도록 설정될 수 있다.
일 실시예에서, 우선순위가 낮은 리맵핑 어드레스부터 순차적으로 사용될 수 있다. 예를 들어, 최초로 불량이 발생된 메모리 블록을 대체하기 위해 가장 낮은 우선순위를 가지는 리맵핑 어드레스(RMADDR11)가 사용될 수 있고, 이에 따라 최초로 불량이 발생된 메모리 블록이 리맵핑 메모리 블록(RMBLK1-1)으로 대체될 수 있다. 이후에 두 번째로 불량이 발생된 메모리 블록을 대체하기 위해 두 번째로 낮은 우선순위를 가지는 리맵핑 어드레스(RMADDR12)가 사용될 수 있다. 상술한 것처럼 우선순위가 낮은 리맵핑 어드레스부터 먼저 사용함으로써, 우선순위 디코더(190)의 우선순위 판단 동작이 보다 간단하고 빠르게 수행될 수 있다.
일 실시예에서, 도 14의 제1 선택 메모리 블록(BLK1-1)은 초기 배드 블록일 수 있고, 도 14의 리맵핑 메모리 블록(RMBLK1-1)은 런타임 배드 블록일 수도 있다.
본 발명의 실시예들에 따른 병합 블록 구조를 갖는 비휘발성 메모리 장치는 우선순위 디코더(190)를 추가적으로 포함할 수 있다. 불량 메모리 블록(BLK1-1)을 대체하는 리맵핑 메모리 블록(RMBLK1-1)에 런타임 불량이 발생하더라도, 우선순위 디코더(190)를 이용하여 메모리 블록의 중복 선택 없이 런타임 불량이 발생한 메모리 블록(RMBLK1-1)만을 다른 리맵핑 메모리 블록(RMBLK1-2)으로 대체할 수 있다. 따라서, 유효 메모리 블록의 개수를 증가시킬 수 있다.
도 15 및 16은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 또 다른 예를 나타내는 블록도들이다.
도 15를 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110a) 및 배드 블록 리맵핑 회로(174a)를 포함한다.
우선순위 디코더(190)가 배드 블록 리맵핑 회로(174a)에 포함되는 것을 제외하면, 도 15의 비휘발성 메모리 장치는 도 12의 비휘발성 메모리 장치와 실질적으로 동일할 수 있다.
도 16을 참조하면, 비휘발성 메모리 장치는 메모리 셀 어레이(110b) 및 배드 블록 리맵핑 회로(170b)를 포함한다.
메모리 셀 어레이(110b)는 세 개의 매트들이 서로 페어링되어 동작하도록 구현된다. 구체적으로, 메모리 셀 어레이(110b)는 제1 매트(MAT1), 제2 매트(MAT2) 및 제3 매트(MAT3)를 포함한다. 제1 및 제2 매트들(MAT1, MAT2)은 도 4의 제1 및 제2 매트들(MAT1, MAT2)과 각각 실질적으로 동일할 수 있다. 제3 매트(MAT3)는 복수의 제3 메모리 블록들(BLK3-1, BLK3-2, ..., BLK3-Y, BLK3-(Y+1), ..., BLK3-Z, RMBLK3-1, RMBLK3-2, ..., RMBLK3-X)을 포함하고, 제1 및 제2 매트들(MAT1, MAT2)과 페어링되어 동작한다.
일 실시예에서, 제1 매트(MAT1)는 메모리 셀 어레이(110a)에 저장되는 데이터의 최하위 비트들을 저장할 수 있고, 제2 매트(MAT2)는 상기 데이터의 중간 비트(central significant bit; CSB)들을 저장할 수 있으며, 제3 매트(MAT3)는 상기 데이터의 최상위 비트들을 저장할 수 있다.
배드 블록 리맵핑 회로(170b)로부터 제공되는 입력 어드레스(IADDR) 및 리맵핑 어드레스(RMADDR) 중 하나에 기초하여, 상기 복수의 제1 메모리 블록들 중 하나, 상기 복수의 제2 메모리 블록들 중 하나 및 상기 복수의 제3 메모리 블록들 중 하나가 실질적으로 동시에 액세스된다.
배드 블록 리맵핑 회로(170b)는 메모리 컨트롤러(예를 들어, 도 1의 20)로부터 수신된 입력 어드레스(IADDR)를 선택적으로 리맵핑한다. 배드 블록 리맵핑 회로(170b)의 동작은 도 4의 배드 블록 리맵핑 회로(170a)의 동작과 실질적으로 동일할 수 있으며, 제1 리맵핑 회로(200), 제2 리맵핑 회로(300) 및 제3 리맵핑 회로(400)를 포함할 수 있다. 제1 및 제2 리맵핑 회로들(200, 300)은 도 4의 제1 및 제2 리맵핑 회로들(200, 300)과 각각 실질적으로 동일할 수 있다. 제3 리맵핑 회로(400)는 제3 매트(MAT3) 내의 상기 복수의 제3 메모리 블록들에 대한 배드 블록 정보 및 리맵핑 정보를 저장할 수 있으며, 제1 및 제2 리맵핑 회로들(200, 300)과 실질적으로 동일한 구조를 가질 수 있다.
이상, 두 개 또는 세 개의 매트들이 서로 페어링되어 동작하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 임의의 개수의 매트들이 서로 페어링되어 동작하는 실시예들에 다양하게 적용될 수 있다.
도 17a 및 17b는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 예를 나타내는 회로도들이다. 도 17a는 NAND 플래시 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내며, 도 17b는 수직형 NAND 플래시 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타낸다.
도 17a를 참조하면, 메모리 셀 어레이(111)는 스트링 선택 트랜지스터(SST)들, 접지 선택 트랜지스터(GST)들 및 메모리 셀(MC)들을 포함할 수 있다. 스트링 선택 트랜지스터(SST)들은 비트 라인들(BL(1), ..., BL(m))에 연결되고, 접지 선택 트랜지스터(GST)들은 공통 소스 라인(CSL)에 연결될 수 있다. 동일한 열에 배열된 메모리 셀(MC)들은 비트 라인들(BL(1)~BL(m)) 중 하나와 공통 소스 라인(CSL) 사이에 직렬로 배치될 수 있으며, 동일한 행에 배열된 메모리 셀(MC)들은 워드 라인들(WL(1), WL(2), WL(3), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 즉, 스트링 선택 트랜지스터(SST)들과 접지 선택 트랜지스터(GST)들 사이에 메모리 셀(MC)들이 직렬로 연결될 수 있으며, 스트링 선택 라인(SSL)과 접지 선택 라인(GSL) 사이에는 16개, 32개 또는 64개의 복수의 워드 라인들이 배열될 수 있다.
스트링 선택 트랜지스터(SST)들은 스트링 선택 라인(SSL)에 연결되어, 스트링 선택 라인(SSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있고, 접지 선택 트랜지스터(GST)들은 접지 선택 라인(GSL)에 연결되어, 접지 선택 라인(GSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있다. 메모리 셀(MC)들은 워드 라인들(WL(1)~WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
메모리 셀 어레이(111)를 포함하는 비휘발성 메모리 장치는 페이지(112) 단위로 데이터 기입 및 독출 동작을 수행하며, 블록(113) 단위로 소거 동작을 수행할 수 있다. 한편, 실시예에 따라서, 페이지 버퍼들은 각각 짝수 비트 라인과 홀수 비트 라인이 하나씩 연결될 수 있다. 이 경우, 짝수 비트 라인들은 짝수 페이지를 형성하고, 홀수 비트 라인들은 홀수 페이지를 형성하며, 메모리 셀(MC)들에 대한 기입 동작은 짝수 페이지와 홀수 페이지가 번갈아 가며 순차적으로 수행될 수 있다.
도 17b를 참조하면, 메모리 셀 어레이(115)는 수직 구조를 가지는 복수의 스트링(116)들을 포함할 수 있다. 스트링(116)은 제2 방향(D2)을 따라 복수 개로 형성되어 스트링 열을 형성할 수 있으며, 상기 스트링 열은 제3 방향(D3)을 따라 복수 개로 형성되어 스트링 어레이를 형성할 수 있다. 복수의 스트링(116)들은 비트 라인들(BL(1), ..., BL(m))과 공통 소스 라인(CSL) 사이에 제1 방향(D1)을 따라 직렬로 배치되는 접지 선택 트랜지스터(GSTV)들, 메모리 셀(MC)들 및 스트링 선택 트랜지스터(SSTV)들을 각각 포함할 수 있다.
접지 선택 트랜지스터(GSTV)들은 접지 선택 라인들(GSL11, GSL12, ..., GSLi1, GSLi2)에 각각 연결되고, 스트링 선택 트랜지스터(SSTV)들은 스트링 선택 라인들(SSL11, SSL12, ..., SSLi1, SSLi2)에 각각 연결될 수 있다. 동일한 층에 배열되는 메모리 셀(MC)들은 워드 라인들(WL(1), WL(2), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 접지 선택 라인들(GSL11~GSLi2) 및 스트링 선택 라인들(SSL11~SSLi2)은 제2 방향(D2)으로 연장되며 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 워드 라인들(WL(1)~WL(n))은 제2 방향(D2)으로 연장되며 제1 방향(D1) 및 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 비트 라인들(BL(1)~BL(m))은 제3 방향(D3)으로 연장되며 제2 방향(D2)을 따라 복수 개로 형성될 수 있다. 메모리 셀(MC)들은 워드 라인들(WL(1)~WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
실시예에 따라서, 하나의 스트링(116)에 포함되는 두 개의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 연결되고 하나의 스트링에 포함되는 두 개의 접지 선택 트랜지스터들은 하나의 접지 선택 라인에 연결되도록 구현될 수도 있다. 또한, 실시예에 따라서, 하나의 스트링은 하나의 스트링 선택 트랜지스터 및 하나의 접지 선택 트랜지스터를 포함하여 구현될 수도 있다.
수직형(또는 3차원) 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
한편, 플래시 메모리 장치에 기초하여 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이를 설명하였으나, 본 발명의 실시예들에 따른 비휘발성 메모리 장치는 PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 임의의 비휘발성 메모리 장치일 수 있다.
도 18은 본 발명의 실시예들에 따른 메모리 시스템의 구동 방법을 나타내는 순서도이다.
도 1 및 18을 참조하면, 본 발명의 실시예들에 따른 메모리 시스템(10)의 구동 방법에서, 동작 초기에 메모리 시스템(10) 및 비휘발성 메모리 장치(100)에 전원이 인가된 이후에, 비휘발성 메모리 장치(100)의 불량 메모리 블록들을 스캔한다(단계 S110). 단계 S110에 의해 비휘발성 메모리 장치(100)의 배드 블록들에 대한 정보를 확인할 수 있다. 예를 들어, 배드 블록 리맵핑 회로(170)가 비활성화된 경우에는 초기 배드 블록의 어드레스를 검출할 수 있고, 배드 블록 리맵핑 회로(170)가 활성화된 경우에는 리맵핑된 어드레스를 검출할 수 있다.
상기 스캔 결과에 기초하여 어드레스 맵을 업데이트한다(단계 S120). 예를 들어, 상기 어드레스 맵은 메모리 컨트롤러(20)를 위한 맵일 수 있고, 메모리 컨트롤러(20) 또는 비휘발성 메모리 장치(100)에 저장될 수 있다.
단계 S110 및 S120의 수행 결과에 기초하여 사용자 동작들을 수행한다(단계 S130). 예를 들어, 비휘발성 메모리 장치(100)를 이용하기 위한 데이터 프로그램/독출/소거 동작과 같은 다양한 동작들이 수행될 수 있다.
상기 사용자 동작의 수행 도중에 배드 블록이 추가로 검출되지 않는다면(단계 S140: NO), 상기 사용자 동작을 지속적/반복적으로 수행한다.
상기 사용자 동작의 수행 도중에 런타임 불량이 발생한 경우에(단계 S140: YES), 두 개 이상의 매트들이 페어링되어 동작하는 비휘발성 메모리 장치(100)에서 하나의 매트 단위로 리맵핑 동작을 수행하여야 하므로, 어떤 매트에서 불량이 발생하였는지 그리고 어느 위치의 메모리 블록에 불량이 발생하였는지 확인한다(단계 S150). 예를 들어, 매트 병합 모드를 해제하거나 하나의 매트를 선택 가능한 모드를 활성화하여, 매트 단위로 배드 블록을 확인할 수 있다.
불량 메모리 블록의 위치를 확인한 이후에, 상기 불량 메모리 블록을 포함하는 매트에 대한 배드 블록 정보 및 리맵핑 정보를 저장하는 리맵핑 회로에 여유 공간이 있는지 스캔한다(단계 S160). 예를 들어, 상기 리맵핑 회로 내에 사용 가능한 불량 어드레스 저장 영역이 존재하는지 그리고 사용 가능한 리맵핑 어드레스 및 리맵핑 메모리 블록이 존재하는지 확인할 수 있다.
상기 리맵핑 회로에 여유 공간이 없는 경우에(단계 S170: NO), 상기 불량 메모리 블록을 사용할 수 없도록 상기 어드레스 맵을 업데이트하고(단계 S120), 상기 업데이트된 어드레스 맵에 기초하여 사용자 동작들을 수행한다(단계 S130).
상기 리맵핑 회로에 여유 공간이 있는 경우에(단계 S170: YES), 배드 블록 리맵핑 회로(170)는 도 4 내지 16을 참조하여 상술한 리맵핑 동작을 수행하고, 이에 따라 상기 리맵핑 회로가 업데이트된다(단계 S180). 이후에 상기 불량 메모리 블록을 리맵핑 메모리 블록으로 대체하도록 리맵핑 어드레스에 기초하여 상기 어드레스 맵을 업데이트하고(단계 S120), 상기 업데이트된 어드레스 맵에 기초하여 사용자 동작들을 수행한다(단계 S130).
일 실시예에서, 도 18의 각 단계들은 메모리 컨트롤러(20)의 제어에 의해 수행될 수 있다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 솔리드 스테이트 드라이브(solid state drive; SSD)를 나타내는 블록도이다.
도 19를 참조하면, SSD(1000)는 복수의 비휘발성 메모리 장치들(1100) 및 SSD 제어기(1200)를 포함한다.
SSD 제어기(1200)는 복수의 채널들(CH1, CH2, CH3, ..., CHi)을 통하여 비휘발성 메모리 장치들(1100)에 연결될 수 있다. SSD 제어기(1200)는 적어도 하나의 프로세서(1210), 버퍼 메모리(1220), 에러 정정 회로(error correction circuit; ECC)(1230), 호스트 인터페이스(1250) 및 비휘발성 메모리 인터페이스(1260)를 포함할 수 있다.
버퍼 메모리(1220)는 SSD 제어기(1200)의 구동에 필요한 데이터를 임시로 저장할 수 있다. 또한, 버퍼 메모리(1220)는 기입 요청시 파인 프로그램 동작에 이용될 데이터를 버퍼링해 놓을 수 있다. 에러 정정 회로(1230)는 기입 동작에서 프로그램될 데이터의 에러 정정 코드 값을 계산하고, 독출 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 비휘발성 메모리 장치(1100)로부터 복구된 데이터의 에러를 정정할 수 있다. 호스트 인터페이스(1250)는 외부의 장치와 인터페이스 기능을 제공할 수 있다. 비휘발성 메모리 인터페이스(1260)는 비휘발성 메모리 장치(1100)와 인터페이스 기능을 제공할 수 있다.
비휘발성 메모리 장치들(1100)은 본 발명의 실시예들에 따른 비휘발성 메모리 장치일 수 있으며, 옵션적으로 외부 고전압(VPP)을 제공받을 수 있다.
본 발명은 비휘발성 메모리 장치를 포함하는 다양한 장치 및 시스템에 유용하게 적용될 수 있으며, 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, PDA(personal digital assistants), PMP(portable multimedia player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, 사물 인터넷(internet of things; IoT) 기기, VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 다양한 전자 기기에 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 복수의 제1 메모리 블록들을 포함하는 제1 매트, 및 복수의 제2 메모리 블록들을 포함하고 상기 제1 매트와 페어링(pairing)되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스되는 메모리 셀 어레이; 및
    상기 제1 선택 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생하는 배드 블록 리맵핑 회로를 포함하고,
    상기 제1 리맵핑 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 상기 제2 선택 메모리 블록이 액세스되며,
    상기 배드 블록 리맵핑 회로는 상기 제1 리맵핑 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 상기 제1 리맵핑 어드레스보다 우선순위가 높은 제2 리맵핑 어드레스를 더 발생하고,
    상기 제1 리맵핑 어드레스의 우선순위와 상기 제2 리맵핑 어드레스의 우선순위를 비교하여, 상기 제2 리맵핑 어드레스를 출력하는 우선순위 디코더를 더 포함하는 비휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제1 어드레스와 다른 제2 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제3 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제4 선택 메모리 블록이 액세스되고,
    상기 배드 블록 리맵핑 회로는 상기 제4 선택 메모리 블록에 불량이 발생한 경우에, 상기 제2 어드레스를 리맵핑하여 제3 리맵핑 어드레스를 발생하며,
    상기 제3 리맵핑 어드레스에 기초하여 상기 제3 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 리맵핑 메모리 블록이 액세스되는 것을 특징으로 하는 비휘발성 메모리 장치.
  3. 제 2 항에 있어서, 상기 배드 블록 리맵핑 회로는,
    외부에서 수신된 입력 어드레스가 상기 제1 어드레스와 동일한 경우에, 상기 입력 어드레스를 상기 제1 리맵핑 어드레스로 대체하는 제1 리맵핑 회로; 및
    상기 입력 어드레스가 상기 제2 어드레스와 동일한 경우에, 상기 입력 어드레스를 상기 제3 리맵핑 어드레스로 대체하는 제2 리맵핑 회로를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  4. 제 3 항에 있어서, 상기 제1 리맵핑 회로는,
    상기 제1 어드레스를 저장하는 제1 저장부;
    상기 제1 리맵핑 어드레스를 저장하는 제2 저장부;
    상기 입력 어드레스와 상기 제1 어드레스를 비교하는 비교부; 및
    상기 입력 어드레스와 상기 제1 어드레스의 비교 결과에 따라 상기 입력 어드레스 및 상기 제1 리맵핑 어드레스 중 하나를 출력하는 출력부를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  5. 제 1 항에 있어서,
    상기 배드 블록 리맵핑 회로의 활성화 여부를 결정하는 판단 회로를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  6. 제 1 항에 있어서,
    상기 제1 선택 메모리 블록은 상기 비휘발성 메모리 장치의 제조 과정에서 불량이 발생한 초기(initial) 배드 블록인 것을 특징으로 하는 비휘발성 메모리 장치.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 제1 리맵핑 메모리 블록은 상기 비휘발성 메모리 장치의 사용 과정에서 불량이 발생한 런타임(runtime) 배드 블록인 것을 특징으로 하는 비휘발성 메모리 장치.
  9. 제 1 항에 있어서, 상기 메모리 셀 어레이는,
    복수의 제3 메모리 블록들을 포함하고 상기 제1 및 제2 매트들과 페어링되어 동작하는 제3 매트를 더 포함하고,
    상기 제1 어드레스에 의해 상기 제1 및 제2 선택 메모리 블록들과 상기 복수의 제3 메모리 블록들 중 제3 선택 메모리 블록이 액세스되며,
    상기 제1 리맵핑 어드레스에 기초하여 상기 제1 리맵핑 메모리 블록과 상기 제2 및 제3 선택 메모리 블록들이 액세스되는 것을 특징으로 하는 비휘발성 메모리 장치.
  10. 메모리 컨트롤러; 및
    상기 메모리 컨트롤러에 의해 제어되는 비휘발성 메모리 장치를 포함하고,
    상기 비휘발성 메모리 장치는,
    복수의 제1 메모리 블록들을 포함하는 제1 매트, 및 복수의 제2 메모리 블록들을 포함하고 상기 제1 매트와 페어링(pairing)되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스되는 메모리 셀 어레이; 및
    상기 제1 선택 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생하는 배드 블록 리맵핑 회로를 포함하고,
    상기 제1 리맵핑 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 상기 제2 선택 메모리 블록이 액세스되며,
    상기 배드 블록 리맵핑 회로는 상기 제1 리맵핑 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 상기 제1 리맵핑 어드레스보다 우선순위가 높은 제2 리맵핑 어드레스를 더 발생하고,
    상기 비휘발성 메모리 장치는, 상기 제1 리맵핑 어드레스의 우선순위와 상기 제2 리맵핑 어드레스의 우선순위를 비교하여, 상기 제2 리맵핑 어드레스를 출력하는 우선순위 디코더를 더 포함하는 메모리 시스템.
KR1020170034938A 2017-03-20 2017-03-20 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 KR102395434B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170034938A KR102395434B1 (ko) 2017-03-20 2017-03-20 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US15/824,068 US10622091B2 (en) 2017-03-20 2017-11-28 Nonvolatile memory device and memory system including the same
CN201810151093.6A CN108628757B (zh) 2017-03-20 2018-02-13 非易失性存储器设备和包括其的存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170034938A KR102395434B1 (ko) 2017-03-20 2017-03-20 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20180106518A KR20180106518A (ko) 2018-10-01
KR102395434B1 true KR102395434B1 (ko) 2022-05-09

Family

ID=63520168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170034938A KR102395434B1 (ko) 2017-03-20 2017-03-20 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템

Country Status (3)

Country Link
US (1) US10622091B2 (ko)
KR (1) KR102395434B1 (ko)
CN (1) CN108628757B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200072139A (ko) * 2018-12-12 2020-06-22 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN111611112B (zh) * 2019-02-26 2024-08-30 杭州知存算力科技有限公司 一种存算一体芯片以及提高存算一体芯片良率的方法
CN110546709B (zh) * 2019-07-12 2021-11-23 长江存储科技有限责任公司 提供坏列修复的存储器设备和操作其的方法
CN114302680A (zh) * 2019-08-23 2022-04-08 布弗莱运营公司 用于存储超声数据的方法和装置
CN113704142B (zh) * 2021-09-02 2022-06-14 海飞科(南京)信息技术有限公司 片上存储的地址重映射电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292944A1 (en) * 2003-12-30 2009-11-26 Gonzalez Carlos J Adaptive Deterministic Grouping of Blocks into Multi-Block Units
US20150220441A1 (en) 2007-07-03 2015-08-06 Micron Technology, Inc. Block addressing for parallel memory arrays

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188618B1 (en) * 1998-04-23 2001-02-13 Kabushiki Kaisha Toshiba Semiconductor device with flexible redundancy system
JP2003045196A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd ブロックアドレス切替機能を有するメモリ回路
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US7743303B2 (en) 2007-01-22 2010-06-22 Micron Technology, Inc. Defective memory block remapping method and system, and memory device and processor-based system using same
KR100923989B1 (ko) 2007-06-01 2009-10-28 삼성전자주식회사 배드 블록을 리맵핑하는 플래시 메모리 장치 및 그것의배드 블록의 리맵핑 방법
US7916540B2 (en) 2007-05-17 2011-03-29 Samsung Electronics Co., Ltd. Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same
KR101091844B1 (ko) * 2007-05-17 2011-12-12 삼성전자주식회사 고속으로 배드 블록을 검색하는 플래시 메모리 시스템 및그것의 배드 블록 관리 방법
WO2009124320A1 (en) 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
KR101535460B1 (ko) * 2008-08-25 2015-07-10 삼성전자주식회사 배드 블록 리맵핑 기능을 갖는 불휘발성 메모리 장치 및 그배드 블록 리맵핑 방법
CN101859604B (zh) 2009-04-10 2012-10-24 国民技术股份有限公司 闪存坏块的利用方法
KR20100115970A (ko) 2009-04-21 2010-10-29 삼성전자주식회사 배드 셀 관리 방법과 그 장치
US8832507B2 (en) 2010-08-23 2014-09-09 Apple Inc. Systems and methods for generating dynamic super blocks
CN102508724B (zh) * 2011-10-25 2013-12-18 北京同有飞骥科技股份有限公司 一种基于软raid的磁盘坏块处理方法
US9418700B2 (en) 2012-06-29 2016-08-16 Intel Corporation Bad block management mechanism
US8879295B1 (en) 2013-08-05 2014-11-04 International Business Machines Corporation Electronic circuit for remapping faulty memory arrays of variable size
US9460815B2 (en) 2013-12-30 2016-10-04 Sandisk Technologies Llc Reusing partial bad blocks in NAND memory
CN105513630B (zh) * 2015-11-30 2019-08-13 深圳市江波龙电子股份有限公司 Dram的初始化方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292944A1 (en) * 2003-12-30 2009-11-26 Gonzalez Carlos J Adaptive Deterministic Grouping of Blocks into Multi-Block Units
US20150220441A1 (en) 2007-07-03 2015-08-06 Micron Technology, Inc. Block addressing for parallel memory arrays

Also Published As

Publication number Publication date
KR20180106518A (ko) 2018-10-01
CN108628757B (zh) 2023-12-01
US20180268921A1 (en) 2018-09-20
US10622091B2 (en) 2020-04-14
CN108628757A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN111696608B (zh) 存储器装置及其操作方法
KR102395434B1 (ko) 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR101927212B1 (ko) 비휘발성 메모리 장치의 프로그래밍 방법
CN111258793B (zh) 存储器控制器及其操作方法
US20150003156A1 (en) Nand flash word line management
CN112435703A (zh) 存储装置及其操作方法
CN112035055A (zh) 存储设备及其操作方法
CN111984186A (zh) 装置及其操作方法
US9036418B2 (en) Read voltage generation circuit, memory and memory system including the same
CN113539331A (zh) 存储器装置及其操作方法
CN114627943A (zh) 存储器设备和操作该存储器设备的方法
JP2023025687A (ja) メモリ装置およびその動作方法
CN111564171A (zh) 非易失性存储器设备、包括其的存储设备及其操作方法
CN111341372B (zh) 存储装置以及操作存储装置的方法
CN112783431A (zh) 存储装置及其操作方法
US11646089B2 (en) Memory device for performing verify operation and operating method thereof
JP2023024369A (ja) メモリ装置
CN114596906A (zh) 存储装置及其操作方法
CN114792541A (zh) 存储器设备和操作该存储器设备的方法
CN114005483A (zh) 存储器装置及其操作方法以及存储控制器的操作方法
CN114496045A (zh) 存储器设备和操作存储器设备的方法
CN114360593A (zh) 存储装置及其操作方法
CN113555054A (zh) 存储装置及其操作方法
CN112445726A (zh) 存储器系统、存储器控制器及操作方法
CN111798913A (zh) 存储器系统、存储器控制器及其操作方法

Legal Events

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