KR102395434B1 - 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 - Google Patents
비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity 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
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 전원 공급이 중단될 때 저장된 데이터를 상실하는지 여부에 따라 휘발성 메모리 장치(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)를 나타내는 블록도이다.
도 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 매트, 및 복수의 제2 메모리 블록들을 포함하고 상기 제1 매트와 페어링(pairing)되어 동작하는 제2 매트를 포함하며, 제1 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제1 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 선택 메모리 블록이 액세스되는 메모리 셀 어레이; 및
상기 제1 선택 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 제1 리맵핑 어드레스를 발생하는 배드 블록 리맵핑 회로를 포함하고,
상기 제1 리맵핑 어드레스에 기초하여 상기 복수의 제1 메모리 블록들 중 제1 리맵핑 메모리 블록과 상기 제2 선택 메모리 블록이 액세스되며,
상기 배드 블록 리맵핑 회로는 상기 제1 리맵핑 메모리 블록에 불량이 발생한 경우에, 상기 제1 어드레스를 리맵핑하여 상기 제1 리맵핑 어드레스보다 우선순위가 높은 제2 리맵핑 어드레스를 더 발생하고,
상기 제1 리맵핑 어드레스의 우선순위와 상기 제2 리맵핑 어드레스의 우선순위를 비교하여, 상기 제2 리맵핑 어드레스를 출력하는 우선순위 디코더를 더 포함하는 비휘발성 메모리 장치. - 제 1 항에 있어서,
상기 제1 어드레스와 다른 제2 어드레스에 의해 상기 복수의 제1 메모리 블록들 중 제3 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제4 선택 메모리 블록이 액세스되고,
상기 배드 블록 리맵핑 회로는 상기 제4 선택 메모리 블록에 불량이 발생한 경우에, 상기 제2 어드레스를 리맵핑하여 제3 리맵핑 어드레스를 발생하며,
상기 제3 리맵핑 어드레스에 기초하여 상기 제3 선택 메모리 블록과 상기 복수의 제2 메모리 블록들 중 제2 리맵핑 메모리 블록이 액세스되는 것을 특징으로 하는 비휘발성 메모리 장치. - 제 2 항에 있어서, 상기 배드 블록 리맵핑 회로는,
외부에서 수신된 입력 어드레스가 상기 제1 어드레스와 동일한 경우에, 상기 입력 어드레스를 상기 제1 리맵핑 어드레스로 대체하는 제1 리맵핑 회로; 및
상기 입력 어드레스가 상기 제2 어드레스와 동일한 경우에, 상기 입력 어드레스를 상기 제3 리맵핑 어드레스로 대체하는 제2 리맵핑 회로를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치. - 제 3 항에 있어서, 상기 제1 리맵핑 회로는,
상기 제1 어드레스를 저장하는 제1 저장부;
상기 제1 리맵핑 어드레스를 저장하는 제2 저장부;
상기 입력 어드레스와 상기 제1 어드레스를 비교하는 비교부; 및
상기 입력 어드레스와 상기 제1 어드레스의 비교 결과에 따라 상기 입력 어드레스 및 상기 제1 리맵핑 어드레스 중 하나를 출력하는 출력부를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치. - 제 1 항에 있어서,
상기 배드 블록 리맵핑 회로의 활성화 여부를 결정하는 판단 회로를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치. - 제 1 항에 있어서,
상기 제1 선택 메모리 블록은 상기 비휘발성 메모리 장치의 제조 과정에서 불량이 발생한 초기(initial) 배드 블록인 것을 특징으로 하는 비휘발성 메모리 장치. - 삭제
- 제 1 항에 있어서,
상기 제1 리맵핑 메모리 블록은 상기 비휘발성 메모리 장치의 사용 과정에서 불량이 발생한 런타임(runtime) 배드 블록인 것을 특징으로 하는 비휘발성 메모리 장치. - 제 1 항에 있어서, 상기 메모리 셀 어레이는,
복수의 제3 메모리 블록들을 포함하고 상기 제1 및 제2 매트들과 페어링되어 동작하는 제3 매트를 더 포함하고,
상기 제1 어드레스에 의해 상기 제1 및 제2 선택 메모리 블록들과 상기 복수의 제3 메모리 블록들 중 제3 선택 메모리 블록이 액세스되며,
상기 제1 리맵핑 어드레스에 기초하여 상기 제1 리맵핑 메모리 블록과 상기 제2 및 제3 선택 메모리 블록들이 액세스되는 것을 특징으로 하는 비휘발성 메모리 장치. - 메모리 컨트롤러; 및
상기 메모리 컨트롤러에 의해 제어되는 비휘발성 메모리 장치를 포함하고,
상기 비휘발성 메모리 장치는,
복수의 제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 리맵핑 어드레스를 출력하는 우선순위 디코더를 더 포함하는 메모리 시스템.
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200072139A (ko) * | 2018-12-12 | 2020-06-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR102691784B1 (ko) * | 2018-12-26 | 2024-08-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN111611112B (zh) * | 2019-02-26 | 2024-08-30 | 杭州知存算力科技有限公司 | 一种存算一体芯片以及提高存算一体芯片良率的方法 |
JP7238171B2 (ja) * | 2019-07-12 | 2023-03-13 | 長江存儲科技有限責任公司 | 不良カラム修復を提供するメモリデバイスおよびその動作方法 |
US20210056041A1 (en) * | 2019-08-23 | 2021-02-25 | Butterfly Network, Inc. | Methods and apparatuses for storing ultrasound data |
CN113704142B (zh) * | 2021-09-02 | 2022-06-14 | 海飞科(南京)信息技术有限公司 | 片上存储的地址重映射电路 |
Citations (2)
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)
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 | 삼성전자주식회사 | 배드 블록을 리맵핑하는 플래시 메모리 장치 및 그것의배드 블록의 리맵핑 방법 |
KR101091844B1 (ko) * | 2007-05-17 | 2011-12-12 | 삼성전자주식회사 | 고속으로 배드 블록을 검색하는 플래시 메모리 시스템 및그것의 배드 블록 관리 방법 |
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 |
US8156392B2 (en) | 2008-04-05 | 2012-04-10 | Fusion-Io, 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的初始化方法及装置 |
-
2017
- 2017-03-20 KR KR1020170034938A patent/KR102395434B1/ko active IP Right Grant
- 2017-11-28 US US15/824,068 patent/US10622091B2/en active Active
-
2018
- 2018-02-13 CN CN201810151093.6A patent/CN108628757B/zh active Active
Patent Citations (2)
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 |
CN108628757A (zh) | 2018-10-09 |
US10622091B2 (en) | 2020-04-14 |
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 |