KR102292167B1 - 배드 블록 관리 방법 및 메모리 시스템 - Google Patents

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

Info

Publication number
KR102292167B1
KR102292167B1 KR1020140040414A KR20140040414A KR102292167B1 KR 102292167 B1 KR102292167 B1 KR 102292167B1 KR 1020140040414 A KR1020140040414 A KR 1020140040414A KR 20140040414 A KR20140040414 A KR 20140040414A KR 102292167 B1 KR102292167 B1 KR 102292167B1
Authority
KR
South Korea
Prior art keywords
error
memory
page
memory cell
level
Prior art date
Application number
KR1020140040414A
Other languages
English (en)
Other versions
KR20150116073A (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 KR1020140040414A priority Critical patent/KR102292167B1/ko
Publication of KR20150116073A publication Critical patent/KR20150116073A/ko
Application granted granted Critical
Publication of KR102292167B1 publication Critical patent/KR102292167B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 실시 예에 따른 메모리 시스템은 데이터가 저장되는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치, 상기 복수의 메모리 블록들의 각 메모리 블록에 포함된 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 메모리 컨트롤러를 포함하되, 상기 메모리 셀 레벨은 하나의 메모리 셀에 저장되는 비트 수를 가리키며, 상기 메모리 컨트롤러는 상기 에러 정정 불가능한 페이지의 상태 정보를 저장하는 에러 관리 테이블을 저장하고, 상기 에러 관리 테이블에 기반하여 상기 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 포함한다.

Description

배드 블록 관리 방법 및 메모리 시스템{METHOD FOR MANAGING BAD BLOCK AND MEMORY SYSTEM}
본 발명은 반도체 회로에 관한 것으로, 더 상세하게는 배드 블록 관리를 위한 방법 및 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phosphide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 비휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 비휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 비휘발성 메모리 장치에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.
최근에, 반도체 메모리 장치의 집적도를 향상시키기 위하여, 3차원 어레이 구조를 갖는 반도체 메모리 장치가 연구되고 있다.
본 발명의 목적은 효율적으로 배드 블록을 관리하는 메모리 시스템 및 그것의 배드 블록 관리 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 메모리 시스템은 데이터가 저장되는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치, 상기 복수의 메모리 블록들의 각 메모리 블록에 포함된 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 메모리 컨트롤러를 포함하되, 상기 메모리 셀 레벨은 하나의 메모리 셀에 저장되는 비트 수를 가리키며, 상기 메모리 컨트롤러는 상기 에러 정정 불가능한 페이지의 상태 정보를 저장하는 에러 관리 테이블을 포함하고, 상기 에러 관리 테이블에 기반하여 상기 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 포함한다.
본 발명의 일 실시 예에 따르면, 상기 메모리 컨트롤러는 상기 복수의 페이지들 각각의 에러 비트들을 검출하는 에러 정정 회로를 포함하고, 상기 에러 관리 테이블은 상기 에러 비트들의 검출 결과에 따라 관리된다.
본 발명의 일 실시 예에 따르면, 상기 에러 관리 테이블은, 상기 복수의 페이지들 각각의 메모리 셀 레벨을 저장하는 메모리 셀 비트 레벨 필드, 상기 복수의 페이지들 각각의 에러 발생 횟수를 저장하는 에러 레벨 필드, 상기 복수의 페이지들의 상태 정보를 저장하는 상태 정보 필드를 포함하되, 상기 상태 정보는 각 페이지가 기준치 이상의 에러 비트들을 갖는 페이지인지 또는 상기 기준치 이상의 에러 비트들을 갖는 페이지가 아닌지를 가리킨다.
본 발명의 일 실시 예에 따르면, 상기 메모리 컨트롤러는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 에러 레벨이 1 증가되도록 카운트한다.
본 발명의 일 실시 예에 따르면, 상기 메모리 컨트롤러는, 상기 에러 정정 불가능 페이지에 대응하는 메모리 셀 레벨이 낮아지도록 제어한다.
본 발명의 일 실시 예에 따르면, 상기 메모리 컨트롤러는, 상기 기준치 이상의 에러 비트들을 갖는 페이지에 대응하는 메모리 셀 레벨이 단일 메모리 셀 레벨로 변환되도록 제어한다.
본 발명의 일 실시 예에 따르면, 상기 에러 관리 테이블은 DRAM, SRAM과 같은 휘발성 메모리로 구현된다.
상기 목적을 달성하기 위한 본 발명에 따른 배드 블록 관리 방법은 각 메모리 블록에 포함된 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 에러 정정 불가능한 페이지를 검출하는 단계, 상기 기준치 이상의 에러 비트들을 갖는 페이지에 대응하는 메모리 셀 레벨을 조절하는 단계를 포함하되, 상기 메모리 셀 레벨은 하나의 메모리 셀에 저장되는 비트 수를 가리킨다.
본 발명의 다른 실시 예에 따르면, 상기 메모리 셀 레벨을 조절하는 단계는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 메모리 셀 레벨이 낮아지도록 조절한다.
본 발명의 다른 실시 예에 따르면, 상기 메모리 셀 레벨을 조절하는 단계는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 메모리 셀 레벨을 단일 레벨 셀로 조절한다.
상술한 바와 같이 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 관리 방법은, 배드 블록으로 판별된 블록 또는 페이지의 메모리 셀 레벨을 조절함으로써, 보다 효율적으로 메모리 블록을 관리하게 된다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2 내지 도 4는 본 발명의 실시 예에 따른 에러 관리 테이블을 보여주는 표들이다.
도 5는 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 관리 방법을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 도 1에 도시된 저장 매체를 보여주는 블록도이다.
도 7은 본 발명의 실시 예에 따른 도 6의 불휘발성 메모리(210)의 메모리 블록(BLKa)을 보여주는 회로도이다.
도 8은 본 발명의 다른 실시 예에 따른 도 6의 저장 매체의 메모리 블록을 보여주는 회로도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 위하여 실제보다 확대 또는 축소하여 도시한 것이다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들 의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(10)은 호스트 장치(100) 및 데이터 저장 장치(200)를 포함한다.
호스트(100)는 데이터 저장 장치(200)를 이용하여 데이터를 저장하고 독출할 수 있다. 호스트 장치(100)는 데이터 저장 장치(200)에 전원을 공급하고, 데이터 저장 장치(200)와 신호를 교환할 수 있다. 호스트 장치(100)는 데이터 저장 장치(200)에 데이터를 저장하고, 데이터 저장 장치(200)로부터 데이터를 읽고, 그리고 데이터 저장 장치(200)에 저장된 데이터를 소거할 수 있다. 예를 들어, 호스트(100)는 범용 컴퓨터, 특수 목적 컴퓨터, 스마트폰, 스마트 패드, 및 스마트 텔레비전 등을 포함할 수 있다.
데이터 저장 장치(200)는 호스트 장치(100)의 제어에 따라 쓰기, 읽기 및 소거를 수행할 수 있다. 데이터 저장 장치(200)는 호스트 장치(100)로부터 전원을 공급받고, 호스트 장치(100)와 복수의 신호들을 교환할 수 있다. 데이터 저장 장치(200)는 플래시 메모리, PRAM, MRAM, RRAM 등과 같은 불휘발성 메모리를 포함할 수 있다. 예시적으로, 데이터 저장 장치(200)는 호스트 장치(100)와 결합 또는 분리될 수 있는 착탈식 메모리 카드 또는 솔리드 스테이드 드라이브(Solid State Drive)일 수 있다.
데이터 저장 장치(200)는 메모리 컨트롤러(210) 및 저장 매체(220)를 포함한다. 메모리 컨트롤러(210)는 호스트 장치(100)의 요청에 따라 저장 매체(220)를 제어하도록 구성된다. 메모리 컨트롤러(210)는 저장 매체(220)로 제어 신호를 전송하고, 저장 매체(220)와 데이터를 교환하도록 구성될 수 있다.
한 편, 저장 매체(220)는 메모리 셀 어레이를 포함한다. 예를 들어, 메모리 셀 어레이는 복수의 메모리 블록들을 포함한다. 메모리 블록들 각각은 복수의 페이지들을 포함하고, 페이지들 각각은 복수의 메모리 셀들을 포함한다. 메모리 셀에는 한 비트 또는 두 비트 이상의 데이터가 저장될 수 있다.
자세하게, 메모리 컨트롤러(210)는 에러 정정 회로(211) 및 동작 메모리(212)를 포함한다. 에러 정정 회로(211)는 쓰기 동작시, 저장 매체(220)로 저장되는 데이터를 에러 정정 인코딩(ECC Encoding)한다. 인코딩된 저장 데이터는 저장 매체(220)에 저장될 것이다. 또한, 에러 정정 회로(211)는 읽기 동작시, 저장 매체(220)로부터 전달되는 데이터에 대한 에러 정정 디코딩(ECC Decoding)을 수행할 수 있다.
에러 정정 회로(211)는 데이터의 읽기 동작시, 페이지 단위로 비트 에러율(Bit error rate)을 검출할 수 있다. 에러 정정 회로(211)는 검출된 비트 에러율에 기반하여, 읽기가 수행된 페이지를 에러 정정 가능한 페이지(Correctable Page, 이하: CP) 또는 에러 정정 불가능한 페이지(Uncorrectable Page, 이하: UP)로 판단할 수 있다.
예를 들어, 에러 정정 회로(211)는 메모리 블록의 각 페이지에서 최대 4 비트의 에러 비트들을 검출하여 정정할 수 있는 것으로 가정한다. 즉, 에러 정정 회로(211)는 데이터의 읽기 동작시, 메모리 블록의 각 페이지에 4개 이하의 에러 비트들이 검출될 경우, 해당 페이지를 정정 가능한 페이지(CP)로서 판별한다. 그러나, 에러 정정 회로(211)는 데이터의 읽기 동작시, 메모리 블록의 각 페이지에 4개 이상의 에러 비트들이 검출될 경우, 해당 페이지를 정정 불가능한 페이지(UP)로서 판별한다.
동작 메모리(212)는 메모리 블록들의 복수의 페이지들을 관리할 수 있다. 실시 예로서, 동작 메모리(212)는 DRAM, SRAM 와 같은 휘발성 메모리로 구현될 수 있다.
자세하게, 동작 메모리(212)는 에러 관리 테이블(213)을 포함한다. 에러 관리 테이블(213)은 각 메모리 블록의 복수의 페이지들을 에러 정정 회로(211)에 의해 판단된 결과에 기반하여 관리할 수 있다. 예를 들어, 에러 관리 테이블(213)은 각 메모리 블록의 복수의 페이지들 중 사용 가능한 페이지(USE) 또는 에러 정정 불가능한 페이지(UP)의 상태 정보를 저장한다.
종래의 경우, 각 메모리 블록에 포함된 복수의 페이지들 중 에러 정정 불가능한 페이지의 수가 증가함에 따라, 저장 매체에 사용 불가능한 페이지가 증가될 수 있다. 그 결과, 데이터 저장 장치(200)의 용량이 감소되어, 데이터 저장 장치(200)의 수명이 감소될 수 있다.
본 발명의 실시 예로서, 메모리 컨트롤러(210)는 에러 관리 테이블(213)에 의해 관리되는 에러 정정 불가능한 페이지(UP)의 메모리 셀 레벨을 조절함으로써, 데이터 저장 장치(200)의 수명을 증가시킬 수 있다.
한편, 본 발명의 실시 예에 따른 데이터 저장 장치(200)는 저장 매체(220)로 다양한 메모리를 사용할 수 있다. 예를 들어, 저장 매체(220)는 불휘발성 메모리로 구현될 수 있으며, 불휘발성 메모리는 플래시 메모리(flash memory), MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), OUM(Ovonic Unified Memory)라고도 불리는 PRAM(Phase RAM), 저항 메모리(Resistive RAM: RRAM 또는 Re-RAM), 나노퓨브 RAM(Nanottube RAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory) 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)일 수 있다.
도 2 내지 도 4는 본 발명의 실시 예에 따른 에러 관리 테이블들을 보여준다.
도 2 내지 도 4를 참조하면, 에러 관리 테이블(213)은 저장 매체(220, 도1 참조)에 저장된 메모리 블록에 포함된 복수의 페이지들 중 페이지의 사용 가능성을 보여주는 상태 정보(Status Information, 이하: SI) 필드, 각 페이지의 에러 발생 횟수를 보여주는 에러 레벨(Error Level, 이하: EL) 필드, 각 페이지의 메모리 셀 레벨을 보여주는 메모리 셀 비트 레벨(Memory Cell Bit Level, 이하: MCBL) 필드, 및 각 페이지의 색인을 보여주는 인덱스(Index) 필드를 포함한다.
또한, 본 발명의 설명에 따르면, 메모리 컨트롤러(210, 도1 참조)는 복수의 메모리 블록들 각각에 대한 에러 관리 테이블(213)을 관리한다. 복수의 메모리 블록들 각각에 대한 에러 관리 테이블(213)은 대응하는 각 블록의 페이지들의 상태 정보들(SI)을 포함한다. 일 예로, 도 2 내지 도 4에 개시된 에러 관리 테이블(213)은 하나의 블록에 대응하는 에러 관리 테이블(213)로 설명될 수 있다.
본 발명에 따른 에러 관리 테이블(213)은 각 페이지의 에러 레벨(EL) 및 각 페이지의 메모리 셀 비트 레벨(MCBL)을 포함하는 것으로 설명된다. 그러나, 본 발명의 기술적 사상은 이에 한정되지 않으며 다양하게 구현될 수 있다. 즉, 각 페이지의 에러 레벨(EL) 및 각 페이지의 메모리 셀 비트 레벨(MCBL) 정보는 메모리 컨트롤러(210)에 포함된 다른 테이블로서 저장될 수 있다.
자세하게, 에러 관리 테이블(213)은 저장 매체(220)에 저장된 메모리 블록의 제1 내지 제10 페이지들에 각각 대응하는 제1 내지 제10 색인들(P1~P10)을 포함한다. 제1 내지 제10 색인들(P1~P10)에 대응하는 각 페이지의 메모리 셀 비트 레벨(MCBL)은, 각 메모리 셀 당 저장될 수 있는 비트 수를 판단하는 데이터로서 사용될 수 있다. 제1 내지 제10 색인들(P1~P10)에 대응하는 각 페이지의 에러 레벨(EL)은, 각 페이지의 에러 발생 횟수를 보여주는 데이터로서 사용될 수 있다.
또한, 제1 내지 제10 색인들(P1~P10)에 대응하는 각 페이지의 상태 정보(SI)는, 현재 각 페이지가 사용 가능한 페이지(USE)인지, 또는 에러 정정 불가능한 페이지(UP)인지를 보여주는 데이터로서 사용될 수 있다. 여기서, 에러 정정 불가능한 페이지(UP)는 앞서 상술된 바와 같이, 읽기 시에 에러 비트가 기준치 이상 발생한 페이지일 수 있다.
실시 예로서, 본 발명에 따른 메모리 컨트롤러(210)는 에러 정정 불가능한 페이지(UP)로 판별된 각 페이지의 메모리 셀 레벨을 조절할 수 있다. 즉, 메모리 컨트롤러(210)는 각 페이지의 메모리 셀 레벨을 조절함으로써, 에러 정정 불가능한 페이지(UP)로 판별된 각 페이지가 재사용 가능하도록 제어할 수 있다.
자세하게, 도 2를 참조하면, 에러 관리 테이블(213)은 제1 내지 제10 색인들(P1~P10)에 각각 대응하는 페이지들의 메모리 셀 비트 레벨(MCBL) 정보를 저장한다. 예시적으로, 도 2에 도시된 제1 내지 제10 색인들(P1~P10) 각각에 대응하는 페이지들의 메모리 셀 레벨은 삼중 레벨 셀(TLC) 일 수 있다. 그러나, 본 발명의 기술적 사상은 이에 한정되지 않으며 다양하게 구현될 수 있다.
또한, 에러 관리 테이블(213)은 제1 읽기 시에, 제2, 제5, 및 제9 색인들(P2, P5, P9, 이하: 제1 에러 색인들)에 대응하는 페이지들의 상태 정보(SI)를 에러 정정 불가능한 페이지(UP)로서 저장한다. 제1 에러 색인들을 제외한 나머지 색인들에 대응하는 페이지들의 상태 정보(SI)는 사용 가능한 페이지(USE)로 저장된다.
각 페이지의 상태 정보(SI)는 도 1에서 상술된 바와 같이, 에러 정정 회로(211, 도1 참조)에 의해 판단될 수 있다. 즉, 에러 관리 테이블(213)은 에러 정정 회로(211)에 의해 판별된 각 페이지의 비트 에러율에 기반하여, 각 페이지의 상태 정보(SI)를 저장한다.
한 편, 메모리 컨트롤러(210)는 제1 읽기 시에, 제1 에러 색인들에 대응하는 페이지들의 상태 정보(SI)가 에러 정정 불가능한 페이지(UP)로 판별됨에 따라, 에러 레벨(EL)이 조절되도록 제어한다. 자세하게, 메모리 컨트롤러(210)는 각 페이지의 상태 정보(SI)가 에러 정정 불가능한 페이지(UP)로서 판별될 경우, 각 페이지에 대응하는 에러 레벨(EL)의 카운트 수를 1 증가시킨다. 여기서, 에러 레벨(EL)의 카운트 수는 양의 정수로서 1씩 증가될 수 있다. 따라서, 제1 에러 색인들에 대응하는 각 페이지의 에러 레벨(EL) 정보가 1씩 증가되어 에러 관리 테이블(213)에 저장된다. 상술된 바에 따르면, 에러 레벨(EL)에 기반하여 각 페이지의 에러 발생 횟수가 확인될 수 있다.
또한, 일반적으로, 각 페이지의 비트 에러율은 메모리 셀 레벨이 높아짐에 따라 높아질 수 있다. 이와 반대로, 각 페이지의 비트 에러율은 메모리 셀 레벨이 낮아짐에 따라 낮아질 수 있다.
본 발명에 따른 메모리 컨트롤러(210)는 비트 에러율을 낮추기 위해, 에러 정정 불가능한 페이지(UP)로 판단된 각 페이지의 메모리 셀 레벨이 낮아지도록 제어한다. 이 경우, 에러 정정 불가능한 페이지(UP)로 판별된 각 페이지의 메모리 셀 레벨이 낮아짐에 따라, 각 페이지의 비트 에러율이 기준치 이하로 감소될 수 있다. 따라서, 에러 정정 불가능한 페이지(UP)가 사용 가능한 페이지(USE)로 변환될 수 있다.
자세하게, 도 3을 참조하면, 메모리 컨트롤러(210)는 에러 정정 불가능한 페이지(UP)로서 판별된 제1 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨을 조절한다.
일 예로, 메모리 컨트롤러(210)는 제1 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨이 삼중 레벨 셀(TLC)에서 이중 레벨 셀(MLC)로 변환되도록 제어한다. 본 발명의 설명에 따르면, 메모리 컨트롤러(210)가 제1 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨을 한 단계 낮추는 것으로 설명되지만, 본 발명의 기술적 사상은 이에 한정되지 않으며 다양하게 구현될 수 있다. 예를 들어, 메모리 컨트롤러(210)는 제1 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨이 삼중 레벨 셀(TLC)에서 단일 레벨 셀(SLC)로 변환되도록 제어할 수 있다.
이 후, 메모리 컨트롤러(210)는 제1 에러 색인들에 대응하는 페이지들의 상태 정보(SI)를 에러 정정 불가능한 페이지(UP)에서 사용 가능한 페이지(USE)로 업데이트한다. 메모리 컨트롤러(210)는 메모리 블록의 데이터를 소거하는 제1 소거 동작을 수행한 후, 소거된 메모리 블록의 각 페이지에 새로운 데이터를 저장하는 제1 쓰기 동작을 수행한다. 한 편, 메모리 블록의 제1 소거 동작은 제1 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨 변환 전에 수행될 수 있다.
이 후, 에러 정정 회로(211)는 데이터의 제2 읽기 동작 시, 제1 내지 제10 색인들(P1~P10) 각각에 대응하는 페이지들의 비트 에러율을 다시 판별한다. 에러 관리 테이블(213)은 제1 내지 제10 색인들(P1~P10) 각각에 대응하는 각 페이지의 비트 에러율에 기반하여, 각 페이지의 사용 가능성을 보여주는 상태 정보(SI)를 저장한다.
일 예로, 제2 색인(P2)에 대응하는 페이지의 메모리 셀 레벨이 삼중 레벨 셀(TLC)에서 이중 레벨 셀(MLC)로 변환된다. 이 경우, 제2 읽기 시에, 제2 색인(P2)에 대응하는 페이지의 비트 에러율이 기준치 이하로 발생할 수 있다. 그 결과, 에러 관리 테이블(213)은 제2 색인(P2)에 대응하는 페이지의 상태 정보(SI)를 사용 가능한 페이지(USE)로 유지한다.
일 예로, 제5 및 제9 색인들(P5, P9, 이하: 제2 에러 색인들)에 대응하는 페이지들의 메모리 셀 레벨이 삼중 레벨 셀(TLC)에서 이중 레벨 셀(MLC)로 변환된다. 이 경우, 제2 읽기 시에, 제2 에러 색인들에 대응하는 페이지들의 비트 에러율이 기준치 이상 발생할 수 있다. 그 결과, 에러 관리 테이블(213)은 제2 에러 색인들에 대응하는 페이지의 상태 정보(SI)를 에러 정정 불가능한 페이지(UP)로 갱신한다.
한 편, 제2 에러 색인들에 대응하는 페이지들의 상태 정보(SI)가 에러 정정 불가능한 페이지(UP)로 판별됨에 따라, 에러 레벨(EL) 정보가 1씩 증가되어 에러 관리 테이블(213)에 저장된다. 즉, 제2 에러 색인들에 대응하는 에러 레벨(EL)의 카운트 수는 각각 1씩 증가되어 2가 될 수 있다. 이와 반대로, 제2 색인(P2)에 대응하는 페이지의 상태 정보(SI)는 사용 가능한 페이지(USE)로 판별됨에 따라, 에러 레벨(EL) 정보가 기존과 동일하게 유지된다.
도 4를 참조하면, 메모리 컨트롤러(210)는 에러 정정 불가능한 페이지(UP)로서 판별된 제2 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨을 조절한다.
일 예로, 메모리 컨트롤러(210)는 제2 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨이 이중 레벨 셀(MLC)에서 단일 레벨 셀(SLC)로 변환되도록 제어한다.
이 후, 메모리 컨트롤러(210)는 제2 에러 색인들에 대응하는 페이지들의 상태 정보(SI)를 에러 정정 불가능한 페이지(UP)에서 사용 가능한 페이지(USE)로 업데이트한다. 메모리 컨트롤러(210)는 메모리 블록의 데이터를 소거하는 제2 소거 동작을 수행한 후, 소거된 메모리 블록의 각 페이지에 새로운 데이터를 저장하는 제2 쓰기 동작을 수행한다. 마찬가지로, 메모리 블록의 제2 소거 동작은 제2 에러 색인들에 대응하는 페이지들의 메모리 셀 레벨 변환 전에 수행될 수 있다.
이 후, 에러 정정 회로(211)는 제3 읽기 동작 시, 제1 내지 제10 색인들(P1~P10) 각각에 대응하는 페이지들의 비트 에러율을 다시 판별한다. 에러 관리 테이블(213)은 제1 내지 제10 색인들(P1~P10) 각각에 대응하는 각 페이지의 비트 에러율에 기반하여, 각 페이지의 사용 가능성을 보여주는 상태 정보(SI)를 저장한다.
일 예로, 제5 색인(P5)에 대응하는 페이지의 메모리 셀 레벨이 이중 레벨 셀(MLC)에서 단일 레벨 셀(SLC)로 변환된다. 이 경우, 제3 읽기 시에, 제5 색인(P5)에 대응하는 페이지의 비트 에러율이 기준치 이하 발생할 수 있다. 그 결과, 에러 관리 테이블(213)은 제5 색인(P5)에 대응하는 페이지의 상태 정보(SI)를 사용 가능한 페이지(USE)로 유지한다.
일 예로, 제9 색인(P9)에 대응하는 페이지의 메모리 셀 레벨이 이중 레벨 셀(MLC)에서 단일 레벨 셀(SLC)로 변환된다. 이 경우, 제3 읽기 시에, 제9 에러 색인(P9)에 대응하는 페이지의 비트 에러율이 기준치 이상 발생할 수 있다. 그 결과, 에러 관리 테이블(213)은 제9 에러 색인(P9)에 대응하는 페이지의 상태 정보(SI)를 에러 정정 불가능한 페이지(UP)로 갱신한다. 또한, 제9 색인(P9)에 대응하는 페이지의 메모리 셀 레벨이 더 낮은 단계로 낮춰질 수 없음에 따라, 제9 색인(P9)에 대응하는 페이지는 사용 불가능한 페이지, 즉 배드 페이지(Bad Page)로 고정될 수 있다.
한 편, 제9 색인(P9)에 대응하는 페이지의 상태 정보(SI)가 에러 정정 불가능한 페이지(UP)로 판별됨에 따라, 에러 레벨(EL)의 카운트 수가 1 증가되어 에러 관리 테이블(213)에 저장된다. 즉, 제9 색인들(P9)에 대응하는 에러 레벨(EL)의 카운트 수가 1 증가되어 3이 될 수 있다. 이와 반대로, 제5 색인(P5)에 대응하는 페이지의 상태 정보(SI)는 사용 가능한 페이지(USE)로 판별됨에 따라, 에러 레벨(EL) 정보가 기존과 동일하게 유지된다.
상술된 바에 따르면, 비트 에러율에 기반하여, 각 페이지의 메모리 셀 레벨이 조절됨으로써, 저장 매체(220)에 저장된 각 메모리 블록의 에러 정정 불가능한 페이지(UP) 수가 줄어들 수 있다. 따라서, 데이터 저장 장치(200)의 용량이 증가될 수 있다. 그 결과, 데이터 저장 장치(200)의 수명이 증가될 수 있다.
도 5는 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 관리 방법을 보여주는 순서도이다.
도 5를 참조하면, S110 단계에서, 메모리 컨트롤러(210, 도1 참조)는 에러 정정 회로(211, 도1 참조)를 통해, 읽기 시에 각 메모리 블록의 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 페이지를 검출한다.
S120 단계로서, 메모리 컨트롤러(210)는 읽기 시에, 기준치 이상의 에러 비트들을 갖는 것으로 판별된 페이지들을 에러 정정 불가능한 페이지로 결정한다. 이와 반대로, 메모리 컨트롤러(210)는 읽기 시에, 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 페이지가 검출되지 않을 경우, 검출되지 않은 복수의 페이지들은 사용 가능한 페이지로 판별한다. 한 편, 메모리 컨트롤러(210)는 읽기 동작 시, 복수의 페이지들 중 기준치 이하의 에러 비트들을 갖는 페이지에 대해 에러 정정이 수행되도록 제어한다.
S130 단계에서, 메모리 컨트롤러(210)는 에러 정정 불가능한 페이지로 결정된 페이지의 메모리 셀 레벨을 조절한다. 자세하게, 메모리 컨트롤러(210)는 에러 정정 불가능한 페이지로 결정된 해당 페이지의 메모리 셀 레벨이 낮아지도록 제어한다. 예를 들어, 에러 정정 불가능한 페이지로 저장된 해당 페이지의 메모리 셀 레벨이 이중 레벨 셀(MLC)인 경우, 메모리 컨트롤러(210)는 해당 페이지의 메모리 셀 레벨이 단일 레벨 셀(SLC)로서 변환되도록 제어한다.
도 6은 본 발명의 실시 예에 따른 도 1에 도시된 저장 매체를 보여주는 블록도이다. 도 6을 참조하면, 저장 매체(220)는 메모리 셀 어레이(221), 어드레스 디코더 회로(222), 페이지 버퍼 회로(223), 데이터 입출력 회로(224), 그리고 제어 로직 회로(225)를 포함한다. 한 편, 본 발명의 설명에 따르면, 저장 매체(220)는 불휘발성 메모리로 구성될 수 있다.
메모리 셀 어레이(221)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WL), 그리고 적어도 하나의 스트링 선택 라인(SSL)을 통해 어드레스 디코더 회로(222)에 연결될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(223)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)은 복수의 비트 라인들(BL)에 공통으로 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)의 메모리 셀들은 동일한 구조들을 가질 수 있다.
어드레스 디코더 회로(222)는 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 복수의 스트링 선택 라인들(SSL)을 통해 메모리 셀 어레이(221)에 연결된다. 어드레스 디코더 회로(222)는 제어 로직 회로(225)의 제어에 따라 동작한다. 어드레스 디코더 회로(222)는 메모리 컨트롤러(210, 도 1 참조)로부터 어드레스를 수신할 수 있다. 어드레스 디코더 회로(222)는 수신된 어드레스(ADDR)를 디코딩하고, 디코딩된 어드레스에 따라 워드 라인들(WL)에 인가되는 전압들을 제어할 수 있다. 예를 들어, 프로그램 시에, 어드레스 디코더 회로(222)는, 제어 로직 회로(225)의 제어 따라, 워드 라인들(WL)에 패스 전압을 인가할 수 있다. 프로그램 시에, 어드레스 디코더 회로(222)는, 제어 로직 회로(225)의 제어에 따라, 워드 라인들(WL) 중 어드레스(ADDR)가 가리키는 워드 라인에 프로그램 전압을 더 인가할 수 있다.
페이지 버퍼 회로(223)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(221)에 연결된다. 페이지 버퍼 회로(223)는 복수의 데이터 라인들(DL)을 통해 데이터 입출력 회로(224)와 연결된다. 페이지 버퍼 회로(223)는 제어 로직 회로(225)의 제어에 따라 동작한다.
페이지 버퍼 회로(223)는 메모리 셀 어레이(221)의 메모리 셀들에 프로그램될 데이터 또는 메모리 셀들로부터 읽히는 데이터를 저장할 수 있다. 프로그램 시에, 페이지 버퍼 회로(223)는 메모리 셀들에 프로그램될 데이터를 저장할 수 있다. 저장된 데이터에 기반하여, 페이지 버퍼 회로(223)는 복수의 비트 라인들(BL)을 바이어스할 수 있다. 프로그램 시에, 페이지 버퍼 회로(223)는 쓰기 드라이버로 기능할 수 있다. 읽기 시에, 페이지 버퍼 회로(223)는 비트 라인들(BL)의 전압들을 센싱하고, 센싱 결과를 저장할 수 있다. 읽기 시에, 페이지 버퍼 회로(223)는 감지 증폭기로 기능할 수 있다.
데이터 입출력 회로(224)는 복수의 데이터 라인들(DL)을 통해 페이지 버퍼 회로(223)와 연결된다. 데이터 입출력 회로(224)는 메모리 컨트롤러(210)와 데이터(DATA)를 교환할 수 있다.
데이터 입출력 회로(224)는 메모리 컨트롤러(210)로부터 수신되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(224)는 저장된 데이터를 페이지 버퍼 회로(223)로 전달할 수 있다. 데이터 입출력 회로(224)는 페이지 버퍼 회로(223)로부터 전달되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(224)는 저장된 데이터(DATA)를 메모리 컨트롤러(210)로 전송할 수 있다. 데이터 입출력 회로(224)는 버퍼 메모리로 기능할 수 있다.
제어 로직 회로(225)는 메모리 컨트롤러(210)로부터 커맨드(CMD)를 수신한다. 제어 로직 회로(225)는 수신된 커맨드(CMD)를 디코딩하고, 디코딩된 커맨드에 따라 저장 매체(220)의 제반 동작을 제어할 수 있다. 제어 로직 회로(225)는 메모리 컨트롤러(210)로부터 다양한 제어 신호들 및 전압들을 더 수신할 수 있다.
도 7은 본 발명의 실시 예에 따른 도 6의 저장 매체의 메모리 블록을 보여주는 회로도이다. 예시적으로, 도 6에 도시된 메모리 셀 어레이(221)의 복수의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록(BLKa)이 도 7에 도시된다.
도 6 및 도 7을 참조하면, 메모리 블록(BKLa)은 복수의 스트링들(SR)을 포함한다. 복수의 스트링들(SR)은 복수의 비트 라인들(BL1~BLn)에 각각 연결될 수 있다. 각 스트링(SR)은 접지 선택 트랜지스터(GST), 메모리 셀들(MC), 그리고 스트링 선택 트랜지스터(SST)를 포함한다.
각 스트링(SR)의 접지 선택 트랜지스터(GST)는 메모리 셀들(MC) 및 공통 소스 라인(CSL)의 사이에 연결된다. 복수의 스트링들(SR)의 접지 선택 트랜지스터들(GST)은 공통 소스 라인(CSL)에 공통으로 연결된다.
각 스트링(SR)의 스트링 선택 트랜지스터(SST)는 메모리 셀들(MC) 및 비트 라인(BL)의 사이에 연결된다. 복수의 스트링들(SR)의 스트링 선택 트랜지스터들(SST)은 복수의 비트 라인들(BL1~BLn)에 각각 연결된다. 복수의 비트 라인들(BL1~BLn)은 페이지 버퍼 회로(223)에 연결될 수 있다.
각 스트링(SR)에서, 접지 선택 트랜지스터(GST) 및 스트링 선택 트랜지스터(SST) 사이에 복수의 메모리 셀들(MC)이 제공된다. 각 스트링(SR)에서, 복수의 메모리 셀들(MC)은 직렬 연결될 수 있다.
복수의 스트링들(SR)에서, 공통 소스 라인(CSL)으로부터 동일한 순서에 위치한 메모리 셀들(MC)은 하나의 워드 라인에 공통으로 연결될 수 있다. 복수의 스트링들(SR)의 메모리 셀들(MC)은 복수의 워드 라인들(WL1~WLm)에 연결될 수 있다. 복수의 워드 라인들(WL1~WLm)은 어드레스 디코더 회로(222)에 연결될 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 도 6의 저장 매체의 메모리 블록을 보여주는 회로도이다. 도 8을 참조하면, 메모리 블록(BLKb)은 복수의 셀 스트링들(CS11~CS21, CS12~CS22)을 포함한다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)은 행 방향(row direction)및 열 방향(column direction)을 따라 배열되어, 행들 및 열들을 형성할 수 있다.
예를 들어, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS11, CS12)은 제1 행을 형성하고, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS21, CS22)은 제2 행을 형성할 수 있다. 열 방향(column direction)을 따라 배열된 셀 스트링들(CS11, CS21)은 제1 열을 형성하고, 열 방향(column direction)을 따라 배열된 셀 스트링들(CS12, CS22)은 제2 열을 형성할 수 있다.
각 셀 스트링은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들은 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)을 포함한다. 각 셀 스트링의 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, GSTb)은 셀 스트링들(CS11~CS21, CS12~CS22)이 행들 및 열들을 따라 배열되는 평면(예를 들어, 메모리 블록(BLKb)의 기판 상의 평면)과 수직한 높이 방향으로 적층될 수 있다.
최하단의 접지 선택 트랜지스터들(GSTa)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.
예시적으로, 동일한 높이(또는 순서)의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 높이(또는 순서)를 갖는 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 높이의 접지 선택 트랜지스터들(GSTa)은 제1 접지 선택 라인에 공통으로 연결되고, 제2 높이의 접지 선택 트랜지스터들(GSTb)은 제2 접지 선택 라인에 공통으로 연결될 수 있다.
예시적으로, 동일한 행의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 행의 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제1 접지 선택 라인에 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제2 접지 선택 라인에 연결될 수 있다.
기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이(또는 순서)에 위치한 메모리 셀들은 하나의 워드 라인에 공통으로 연결되고, 서로 다른 높이(또는 순서)에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 예를 들어, 메모리 셀들(MC1)은 워드 라인(WL1)에 공통으로 연결된다. 메모리 셀들(MC2)은 워드 라인(WL2)에 공통으로 연결된다. 메모리 셀들(MC3)은 워드 라인(WL3)에 공통으로 연결된다. 메모리 셀들(MC4)은 워드 라인(WL4)에 공통으로 연결된다. 메모리 셀들(MC5)은 워드 라인(WL5)에 공통으로 연결된다. 메모리 셀들(MC6)은 워드 라인(WL6)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제1 스트링 선택 트랜지스터들(SSTa)에서, 서로 다른 행의 제1 스트링 선택 트랜지스터들(SSTa)은 서로 다른 스트링 선택 라인들(SSL1a~SSL2a)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL2a)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제2 스트링 선택 트랜지스터들(SSTb)에서, 서로 다른 행의 제2 스트링 선택 트랜지스터들(SSTb)은 서로 다른 스트링 선택 라인들(SSL1b~SSL2b)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)에 공통으로 연결된다.
즉, 서로 다른 행의 셀 스트링들은 서로 다른 스트링 선택 라인들에 연결된다. 동일한 행의 셀 스트링들의 동일한 높이(또는 순서)의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인에 연결된다. 동일한 행의 셀 스트링들의 서로 다른 높이(또는 순서)의 스트링 선택 트랜지스터들은 서로 다른 스트링 선택 라인들에 연결된다.
예시적으로, 동일한 행의 셀 스트링들의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 제2 행의 샐 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 열들은 서로 다른 비트 라인들(BL1, BL2)에 각각 연결된다. 예를 들어, 제1 열의 셀 스트링들(CS11~CS21)의 스트링 선택 트랜지스터들(SSTb)은 비트 라인(BL1)에 공통으로 연결된다. 제2 열의 셀 스트링들(CS12~CS22)의 스트링 선택 트랜지스터들(SST)은 비트 라인(BL2)에 공통으로 연결된다.
도 8에 도시된 메모리 블록(BLKb)은 예시적인 것이다. 본 발명의 기술적 사상은 도 8에 도시된 메모리 블록(BLKb)에 한정되지 않는다. 예를 들어, 셀 스트링들의 행들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 행들의 수가 변경됨에 따라, 셀 스트링들의 행들에 연결되는 스트링 선택 라인들 또는 접지 선택 라인의 수, 그리고 하나의 비트 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 열들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 열들의 수가 변경됨에 따라, 셀 스트링들의 열들에 연결되는 비트 라인들의 수, 그리고 하나의 스트링 선택 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 높이는 증가 또는 감소될 수 있다. 예를 들어, 셀 스트링들 각각에 적층되는 접지 선택 트랜지스터들, 메모리 셀들 또는 스트링 선택 트랜지스터들의 수는 증가 또는 감소될 수 있다.
예시적으로, 쓰기 및 읽기는 셀 스트링들(CS11~CS21, CS12~CS22)의 행의 단위로 수행될 수 있다. 스트링 선택 라인들(SSL1a, SSL1b, SSL2a, SSL2b)에 의해, 셀 스트링들(CS11~CS21, CS12~CS22)이 하나의 행 단위로 선택될 수 있다.
셀 스트링들(CS11~CS21, CS12~CS22)의 선택된 행에서, 쓰기 및 읽기는 워드 라인의 단위로 수행될 수 있다. 셀 스트링들(CS11~CS21, CS12~CS22)의 선택된 행에서, 선택된 워드 라인에 연결된 메모리 셀들이 프로그램될 수 있다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 호스트
200: 데이터 저장 장치
210: 메모리 컨트롤러
211: 에러 정정 회로
212: 배드 블록 관리 테이블
220: 저장 매체

Claims (10)

  1. 데이터가 저장되는 복수의 메모리 블록들을 포함하는 불휘발성 메모리 장치; 및
    상기 복수의 메모리 블록들의 각 메모리 블록에 포함된 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 메모리 컨트롤러를 포함하되,
    상기 메모리 셀 레벨을 조절하는 것은 상기 에러 정정 불가능한 페이지에 대응하는 하나의 메모리 셀에 저장되는 비트 수를 조절하는 것을 가리키며,
    상기 메모리 컨트롤러는 상기 에러 정정 불가능한 페이지의 상태 정보를 저장하는 에러 관리 테이블을 저장하고, 상기 에러 관리 테이블에 기반하여 상기 에러 정정 불가능한 페이지의 메모리 셀 레벨을 조절하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 메모리 컨트롤러는 상기 복수의 페이지들 각각의 에러 비트들을 검출하는 에러 정정 회로를 포함하고,
    상기 에러 관리 테이블은 상기 에러 비트들의 검출 결과에 따라 관리되는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 에러 관리 테이블은,
    상기 복수의 페이지들 각각의 메모리 셀 레벨을 저장하는 메모리 셀 비트 레벨 필드;
    상기 복수의 페이지들 각각의 에러 발생 횟수를 저장하는 에러 레벨 필드; 및
    상기 복수의 페이지들의 상태 정보를 저장하는 상태 정보 필드를 포함하되,
    상기 상태 정보는 각 페이지가 기준치 이상의 에러 비트들을 갖는 페이지인지 또는 상기 기준치 이상의 에러 비트들을 갖는 페이지가 아닌지를 가리키는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 메모리 컨트롤러는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 에러 레벨이 1 증가되도록 카운트하는 메모리 시스템.
  5. 제 3 항에 있어서,
    상기 메모리 컨트롤러는, 상기 에러 정정 불가능한 페이지에 대응하는 메모리 셀 레벨이 낮아지도록 제어하는 메모리 시스템.
  6. 제 3 항에 있어서,
    상기 메모리 컨트롤러는, 상기 기준치 이상의 에러 비트들을 갖는 페이지에 대응하는 메모리 셀 레벨이 단일 메모리 셀 레벨로 변환되도록 제어하는 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 에러 관리 테이블은 DRAM, SRAM과 같은 휘발성 메모리로 구현되는 메모리 시스템.
  8. 각 메모리 블록에 포함된 복수의 페이지들 중 기준치 이상의 에러 비트들을 갖는 에러 정정 불가능한 페이지를 검출하는 단계; 및
    상기 기준치 이상의 에러 비트들을 갖는 페이지의 메모리 셀 레벨을 조절하는 단계를 포함하되,
    상기 메모리 셀 레벨을 조절하는 것은 상기 페이지에 대응하는 하나의 메모리 셀에 저장되는 비트 수를 조절하는 것을 가리키는 배드 블록 관리 방법.
  9. 제 8 항에 있어서,
    상기 메모리 셀 레벨을 조절하는 단계는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 메모리 셀 레벨이 낮아지도록 조절하는 배드 블록 관리 방법.
  10. 제 8 항에 있어서,
    상기 메모리 셀 레벨을 조절하는 단계는, 상기 기준치 이상의 에러 비트들을 갖는 페이지의 메모리 셀 레벨을 단일 레벨 셀로 조절하는 배드 블록 관리 방법.
KR1020140040414A 2014-04-04 2014-04-04 배드 블록 관리 방법 및 메모리 시스템 KR102292167B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140040414A KR102292167B1 (ko) 2014-04-04 2014-04-04 배드 블록 관리 방법 및 메모리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140040414A KR102292167B1 (ko) 2014-04-04 2014-04-04 배드 블록 관리 방법 및 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20150116073A KR20150116073A (ko) 2015-10-15
KR102292167B1 true KR102292167B1 (ko) 2021-08-25

Family

ID=54356743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140040414A KR102292167B1 (ko) 2014-04-04 2014-04-04 배드 블록 관리 방법 및 메모리 시스템

Country Status (1)

Country Link
KR (1) KR102292167B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020121109A1 (de) 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Speicher-controller, speichervorrichtungen und betriebsverfahren der speichervorrichtungen

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8418026B2 (en) * 2010-10-27 2013-04-09 Sandisk Technologies Inc. Hybrid error correction coding to address uncorrectable errors
KR20120064462A (ko) * 2010-12-09 2012-06-19 삼성전자주식회사 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템
KR101800444B1 (ko) * 2011-03-28 2017-12-20 삼성전자주식회사 불휘발성 메모리의 제어 방법 및 그것을 포함하는 메모리 시스템

Also Published As

Publication number Publication date
KR20150116073A (ko) 2015-10-15

Similar Documents

Publication Publication Date Title
KR102661936B1 (ko) 저장 장치
KR102609130B1 (ko) 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
US9952939B1 (en) System and method for lower page data recovery in a solid state drive
US9563503B2 (en) Nonvolatile memory system and related method of operation
US10116336B2 (en) Error correcting code adjustment for a data storage device
KR102321501B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
KR101927212B1 (ko) 비휘발성 메모리 장치의 프로그래밍 방법
US11194655B2 (en) Storage controller and storage device including the same
US9818477B2 (en) Methods of programming memory cells in non-volatile memory devices
US20160170682A1 (en) Tag-based wear leveling for a data storage device
US8767468B2 (en) Nonvolatile memory device capable of reducing read disturbance and read method thereof
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
US10706944B2 (en) Memory controller for controlling memory device based on erase state information and method of operating the memory controller
KR20140123230A (ko) 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법
US20160078966A1 (en) Method of performing wear management in non-volatile memory devices
US20130061113A1 (en) Method of correcting errors and memory device using the same
US11790993B2 (en) Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
US9734903B2 (en) Disturb condition detection for a resistive random access memory
US11321170B2 (en) Memory system, memory controller, and method for operating memory system
KR20100004771A (ko) 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
CN111198657A (zh) 存储器控制器、操作存储器控制器的方法和存储器系统
KR102292167B1 (ko) 배드 블록 관리 방법 및 메모리 시스템
US11474726B2 (en) Memory system, memory controller, and operation method thereof
CN114187949A (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