KR101506336B1 - 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법 - Google Patents

산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법 Download PDF

Info

Publication number
KR101506336B1
KR101506336B1 KR1020080099620A KR20080099620A KR101506336B1 KR 101506336 B1 KR101506336 B1 KR 101506336B1 KR 1020080099620 A KR1020080099620 A KR 1020080099620A KR 20080099620 A KR20080099620 A KR 20080099620A KR 101506336 B1 KR101506336 B1 KR 101506336B1
Authority
KR
South Korea
Prior art keywords
block
memory
program
memory cells
state
Prior art date
Application number
KR1020080099620A
Other languages
English (en)
Other versions
KR20100040487A (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 KR1020080099620A priority Critical patent/KR101506336B1/ko
Priority to US12/498,508 priority patent/US8274840B2/en
Priority to CN200910204682.7A priority patent/CN101727981B/zh
Publication of KR20100040487A publication Critical patent/KR20100040487A/ko
Application granted granted Critical
Publication of KR101506336B1 publication Critical patent/KR101506336B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • 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

Abstract

본 발명에 따른 비휘발성 메모리 장치의 블록 관리 방법은, 선택된 메모리 블록에 대한 블록 소거 요청을 검출하는 단계; 및 상기 블록 소거 요청에 응답하여 상기 선택된 메모리 블록에 포함되는 메모리 셀들을 산화막 절연 회복을 위한 프로그램 상태로 프로그램하는 단계를 포함한다.

Description

산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법{NONVOLATILE MEMORY DEVICE RECOVERYING OXIDE LAYER AND BLOCK MANAGEMENT METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 비휘발성 반도체 메모리 장치에 관한 것이다.
반도체 메모리는, 일반적으로, 위성에서 소비자 전자 기술까지의 범위에 속하는 마이크로프로세서를 기반으로 한 응용 및 컴퓨터와 같은 디지털 로직 설계의 가장 필수적인 마이크로 전자 소자이다. 그러므로, 높은 집적도 및 빠른 속도를 위한 축소(Scaling)를 통해 얻어지는 프로세스 향상 및 기술 개발을 포함한 반도체 메모리의 제조 기술의 진보는 다른 디지털 로직 계열의 성능 기준을 확립하는 데 도움이 된다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나뉘어진다. 비휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 비휘발성 메모리에 저장되는 데이터는 메모리 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 비휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 그리고 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로 코드의 저장을 위해서 사용된다.
비휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 일반적으로 플래시 메모리 장치는 저장하고자 하는 비트 정보를 절연막으로 차단된 전도성 플로팅 게이트(Floating Gate)에 F-N 터널링이나 열전자 주입에 의한 전하주입을 통하여 구현하고 있다. 그러나 실리콘 산화막으로 이루어진 절연막은 반복되는 프로그램/소거 사이클에 따라 스트레스에 노출된다. 스트레스에 노출된 산화막 즉, 열화된 산화막은 전하 손실(Charge loss)의 원인으로 작용한다. 전하 손실은 주입된 전하가 절연막을 통하여 플로팅 게이트 밖으로 누설되는 것을 의미한다. 전하 손실에 의하여 메모리 셀의 문턱 전압이 이동(Shift)된다. 전하 손실에 따른 문턱 전압의 이동은 읽기 마진을 감소시킨다. 하나의 메모리 셀에 복수 비트의 데이터를 저장하는 멀티-레벨 셀에서 열화된 산화막에 의한 전하 손실은 데이터의 신뢰성에 큰 영향을 미칠 수밖에 없다. 따라서, 멀티 레벨 셀을 포함하는 플래시 메모리 장치에서 상술한 산화막의 열화에 따른 전하 손실을 막을 수 있는 기술이 절실한 실정이다.
본 발명은 산화막의 열화를 회복시킬 수 있는 비휘발성 메모리 장치 및 그것의 소거 방법을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 비휘발성 메모리 장치의 블록 관리 방법은 선택된 메모리 블록에 대한 블록 소거 요청을 검출하는 단계; 및 상기 블록 소거 요청에 응답하여 상기 선택된 메모리 블록에 포함되는 메모리 셀들을 산화막 절연 회복을 위한 프로그램 상태로 프로그램하는 단계를 포함한다.
상기 목적을 달성하기 위한 메모리 시스템은, 비휘발성 메모리 장치의 비휘발성 메모리 장치; 그리고 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는, 선택된 메모리 블록에 대한 블록 소거 요청을 검출하는 단계; 및 상기 블록 소거 요청에 응답하여 상기 선택된 메모리 블록에 포함되는 메모리 셀들을 산화막 절연 회복을 위한 프로그램 상태로 프로그램하는 단계를 포함하는 블록 관리 방법에 따라 상기 비휘발성 메모리 장치를 제어한다.
본 발명의 구성 및 메모리 관리 방법에 따르면, 메모리 셀의 산화막 열화에 따른 전하 손실을 차단하여 저장되는 데이터에 대한 신뢰성을 높일 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 비휘발성 메모리의 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템에도 적용될 수 있다. 또한, 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 사용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 예시적인 실시예에 따른 메모리 장치를 개략적으로 보여주는 블록도이다. 도 1을 참조하면, 본 발명에 따른 메모리 장치는 외부의 명령어에 응답하여 플래시 메모리 장치(10)와 인터페이싱하는 메모리 컨트롤러(20)를 포함한다. 메모리 컨트롤러(20)는 특히, 호스트의 명령 또는 메모리 관리 절차에 응답하여 플래시 메모리 장치(10)의 소거 대상 블록에 대한 복구 프로그램(Recovery program)을 실행한다. 좀더 자세히 설명하면 다음과 같다.
플래시 메모리 장치(10)는 전원이 차단되더라도 저장된 데이터를 유지할 수 있는 비휘발성 메모리 소자를 포함한다. 플래시 메모리 장치(10)는 다른 메모리 소자와 비교할 때, 비교적 낮은 단가로 빠른 읽기 속도를 제공할 수 있는 장점이 있다. 그러나 플래시 메모리 장치(10)의 메모리 셀들은 덮어쓰기가 자유롭지 못하다는 단점이 존재한다. 따라서, 데이터를 기입하기 위해서는 소거 동작이 반드시 선행되어야 하며, 기입되는 데이터의 단위보다 소거되는 데이터의 단위가 크다는 특징이 있다. 이러한 특징은 플래시 메모리 장치(10)를 메인 메모리로 사용하는데 장 애로 작용한다. 플래시 메모리 장치(10)의 소거 동작은 메모리 블록(Memory Block) 단위로 실시된다. 따라서, 메모리 블록 단위로 이루어지는 소거 동작을 고려한 액세스가 전제되어야 한다.
메모리 컨트롤러(20)는 호스트(Host)의 읽기/쓰기 요청에 응답하여 플래시 메모리 장치(10)로부터 저장된 데이터를 독출 또는 기입하도록 플래시 메모리 장치(10)를 제어한다. 메모리 컨트롤러(20)는 플래시 메모리 장치(10)의 삭제 연산을 감추기 위해, 파일 시스템과 플래시 메모리 장치(10) 사이에 플래시 변환 계층(FTL)이라는 알고리즘이 사용된다. 플래시 변환 계층(FTL)은 플래시 메모리 장치(10)의 기입 동작시, 파일 시스템이 생성한 논리주소(Logical address)를 삭제 연산이 수행된 플래시 메모리의 물리 주소(Physical address)로 맵핑(Mapping)시켜 주는 역할을 수행한다. 본 발명의 메모리 컨트롤러(20)는 특히, 호스트(Host)의 삭제 명령이나, 가비지 컬렉션이나 웨어 레벨링 동작에 응답하여 선택된 메모리 블록에 대한 리커버리 프로그램(Recovery program)을 수행한다. 리커버리 프로그램(Recovery program)은 소거 대상이 되는 메모리 블록에 대한 추가적인 처리를 실시하는 동작이다.
블록 소거 요청이 발생하면, 메모리 컨트롤러(20)는 소거 요청되는 어드레스(LBA)에 대응하는 메모리 블록을 실시간으로 소거하는 것이 아니라 소거 대상 블록으로 맵핑 테이블에 지정해 둔다. 이러한 소거 대상 블록으로 지정된 메모리 블록들은 프리 블록 풀(Free block pool)을 형성한다. 이후, 프리 블록 풀에 포함되는 소거 대상 블록에 대한 쓰기 요청이 발생하면, 메모리 컨트롤러(20)는 선택된 메모리 블록에 대한 물리적인 소거를 실시한 이후에 쓰기 요청된 데이터를 프로그램한다. 그러나 본 발명의 메모리 관리 방법에 따르면, 메모리 컨트롤러(20)는 호스트(Host)로부터 소거 요청된 메모리 블록의 어드레스(LBA)를 프리 블록 풀에 할당하기 이전에 추가적인 절차 즉, 리커버리 프로그램(Recovery program)을 실시한다. 즉, 소거 요청된 메모리 블록은 실제로는 소거되지 않고 프리 블록(Free block)으로만 지정되었다. 그러나 본 발명의 리커버리 프로그램(Recovery program)에 따르면, 소거 요청에 따라 프리 블록으로 지정될 메모리 블록의 메모리 셀들은 전부 혹은 일부가 특정 프로그램 상태로 프로그램된다. 이후에 프리 블록들 중 어느 하나가 쓰기 블록으로 선택되면, 메모리 컨트롤러(20)는 일차적으로 선택된 메모리 블록을 소거한 이후에 쓰기 요청된 데이터를 프로그램하게 될 것이다.
리커버리 프로그램(Recovery program)을 실시하는 이유는 다음과 같다. 메모리 셀들의 프로그램/소거 사이클의 반복에 따라 플로팅 게이트와 채널간의 산화막(또는, 절연막)은 열화된다. 따라서, 메모리 셀의 플로팅 게이트에 주입된 전하의 손실이 발생한다. 하지만, 프로그램/소거 동작 이후 일정 시간이 경과하면 산화막의 절연 능력은 일정 수준 회복된다. 특히, 산화막의 회복은 소거 상태로 유지되는 메모리 셀들에서보다 프로그램 상태로 유지되는 메모리 셀들에서 보다 현저하게 나타난다.
결국, 소거 요청에 따라 어드레스만 소거 블록으로 지정되고 프리 블록 풀에 존재하는 메모리 블록에는 소거 상태로 존재하는 메모리 셀들이 존재할 수밖에 없다. 확률적인 고려에 따르면, 하나의 소거 대상 블록에는 2-비트 MLC의 경우에는 전체 메모리 셀들 중에 25%(1/4), 3-비트 MLC의 경우에는 12.5%(1/8), 4-비트 MLC의 경우에는 6.25%(1/16)의 수에 대응하는 메모리 셀들이 소거 상태로 존재한다고 볼 수 있다. 이러한 소거 상태로 존재하는 메모리 셀들의 산화막의 절연 능력 회복은 프로그램 상태로 존재하는 메모리 셀들에 비하여 상대적으로 미미하다. 따라서, 본 발명의 메모리 컨트롤러(20)는 소거 대상 블록에 포함되는 소거 상태로 존재할 메모리 셀들을 프로그램하도록 플래시 메모리(10)를 제어한다. 이러한 프로그램 동작을 이하에서는 리커버리 프로그램(Recovery program)이라 칭하기로 한다. 리커버리 프로그램에 따라서, 소거 요청되는 메모리 블록의 산화막 절연 회복의 정도를 높일 수 있다.
이상의 본 발명의 메모리 장치에 따르면, 소거 대상 블록에 대한 리커버리 프로그램을 실시하여 메모리 셀들의 산화막 절연 회복을 제공할 수 있다. 따라서, 고신뢰성을 갖는 메모리 장치 또는 메모리 시스템을 제공할 수 있다. 특히, 최근 활발히 진행되는 반도체 디스크 장치(Solid State Disk:이하 SSD)와 같은 메모리 시스템에서 본 발명의 플래시 메모리 장치가 구비될 수 있다. 이 경우, 메모리 컨트롤러(20)는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다. 플래시 메모리 장치(10)는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 비휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지로서 뿐만 아니라 코드 스토리지로서 널리 사용된다. 플래 시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
도 2는 도 1의 메모리 컨트롤러(20)가 수행하는 블록 관리 방법을 간략히 보여주는 순서도이다. 도 2를 참조하여, 본 발명의 메모리 장치에서 발생하는 리커버리 프로그램을 포함하는 블록 관리 방법을 간략히 설명하기로 한다.
메모리 컨트롤러(20, 도 1 참조)는 호스트로부터 어드레스와 함께 제공되는 읽기/쓰기 요청들에 응답하여 플래시 메모리 장치(10)에 대한 액세스를 수행한다. 특히, 호스트로부터 소거 요청(Erase request)이 발생하면, 메모리 컨트롤러(10)는 프로그램/소거 요청을 수신하여 명령어 레지스터(미도시됨)에 저장함으로써 프로그램이나 소거 동작이 시작된다. 프로그램/소거 요청들에 따라 메모리 컨트롤러(20)는 플래시 메모리 장치(10)에 액세스하여 프로그램이나 읽기 동작을 수행한다. 메모리 컨트롤러(20)의 기능 중에는 호스트의 소거 요청에 응답하여 플래시 메모리 장치(10)의 메모리 블록을 소거하는 기능이 있다.
또한, 메모리 컨트롤러(20)의 기능에는 가비지 컬렉션(Garbage collection)이 있다. 가비지 컬렉션(Garbage collection)은 더 이상 사용하지 않는 데이터 객체들을 탐지 및 제거하는 동작이다. 일반적으로 가비지 컬렉션은 파일 시스템에 의해서 사용 가능한 메모리가 특정 임계치로 떨어지면 자동으로 실행된다. 자동적으로 실행되는 가비지 컬렉션에 의해서 전체 데이터 객체들은 상호 연관성이 있는지의 여부가 검색되며, 플래시 메모리 장치(10) 내에서 연관성이 없거나 중복되는 데이터 또는 메모리 블록은 가비지 마크(Garbage mark)로 마킹된다. 이때 가비지 마 킹된 데이터의 위치가 페이지 단위 또는 블록 단위의 데이터가 될 수 있다. 가비지 마크에 의해서 표시된 데이터는 불필요한 데이터이고, 이것은 호스트 또는 시스템에 반환되는 메모리 영역임을 나타낸다. 따라서, 가비지 마크가 존재하는 영역은 소거되어야 할 영역이다. 메모리 관리의 효율성을 위하여 가비지 마킹이 없는 유효 데이터들은 지속적으로 가비지 컬렉션을 통해서 모아지고, 중복되는 메모리 영역은 지속적으로 가비지 마크로 표시된다. 가비지 컬렉션에 의해서 모든 메모리 영역이 가비지 마크로 표시되는 메모리 블록이 발생하는데, 이러한 메모리 블록은 소거 대상 블록에 해당되며, 프리 블록(Free block)으로 할당된다. 호스트의 요청이 발생하면, 프리 블록들 중 어느 하나가 프로그램을 위해서 제공된다. 본 발명의 메모리 컨트롤러(20)는 소거 요청되는 메모리 블록 및 가비지 컬렉션에 의해서 발생하는 블록 소거 요청이 발생하는지 지속적으로 모니터링한다(S10~S20).
블록 소거 요청(Block erase request)이 발생하면, 메모리 컨트롤러(20)는 본 발명의 리커버리 프로그램을 수행하기 위한 절차(S30)를 진행한다. 메모리 컨트롤러(20)는 소거 요청되는 메모리 블록을 가용 블록(Available block)으로 할당한다. 그리고 메모리 컨트롤러(20)는 가용 블록에 대해서 리커버리 프로그램을 실행한다. 리커버리 프로그램(Recovery program)은 가용 블록(Available block)으로 할당되는 메모리 블록의 산화막의 절연 능력을 복구시키기 위한 추가 동작이다. 즉, 리커버리 프로그램(Recovery program)은 가용 블록을 프리 블록으로 할당하기 이전에 가용 블록의 메모리 셀들 중에 소거 상태로 존재하는 메모리 셀들을 특정 프로그램 상태로 프로그램하는 동작이다. 그리고, 메모리 컨트롤러(20)는 가용 블록의 모든 메모리 셀들이 프로그램 상태로 설정된 이후 프리 블록 풀(Free block pool)에 할당한다. 이후, 프리 블록 풀에 할당되는 가용 블록(Available block)들은 특정 데이터의 프로그램을 위해서 요청되는 즉시 소거된 후에 제공될 것이다(S30).
이상의 본 발명에 따른 메모리 관리 방법에 따르면, 소거 대상이 되는 가용 블록(Available block)은 리커버리 프로그램 이후에 프리 블록으로 제공된다. 리커버리 프로그램의 적용에 따라, 프리 블록 풀에 포함되는 메모리 블록들에는 모든 메모리 셀들이 프로그램 상태로 유지된다. 따라서, 이후에 프리 블록 풀에 포함되는 메모리 블록들 중 어느 하나가 쓰기 요청되면, 블록 소거에 의해서 모든 메모리 셀들이 일차 소거된 이후에 프로그램 데이터가 기입될 것이다. 프리 블록 풀에 포함되는 시간 동안, 가용 블록에는 소거 상태로 존재하는 메모리 셀들이 존재하지 않는다. 이는 메모리 셀들 각각이 전하 손실을 최소화할 수 있는 절연 회복의 시간을 제공받을 수 있음을 의미한다.
도 3은 상술한 도 2에서 설명된 가용 블록(Available block)에 대한 리커버리 프로그램(S30)의 제 1 실시예를 보여주는 순서도이다. 도 3을 참조하면, 가용 블록(Available block) 내에 존재하는 소거 상태의 메모리 셀들에 대한 선택적 프로그램이 개시된다. 좀더 자세히 설명하면 다음과 같다.
가용 블록(Available block)으로 지정되는 메모리 블록이 생성되면, 리커버리 프로그램(Recovery program)이 시작된다. 우선, 가용 블록(Available block)으로 지정되는 메모리 블록 중에 소거 상태(Erased state)에 대응하는 문턱 전압을 갖는 메모리 셀들이 선택될 것이다. 가용 블록(Available block)에 포함되는 소거 상태에 대응하는 메모리 셀들을 선택하기 위해서는 가용 블록(Available block)에 대한 읽기를 통해서 실시될 수 있다. 가용 블록(Available block) 내의 모든 페이지를 독출하여 스캐닝함으로써, 소거 상태에 대응하는 메모리 셀들의 어드레스를 검출할 수 있다. 검출된 어드레스를 참조하여, 가용 블록(Available block)에 포함되는 소거 상태에 대응하는 메모리 셀들이 선택될 수 있을 것이다. 스캐닝을 통한 소거 상태에 대응하는 메모리 셀들의 선택은 많은 오버헤드를 야기시킬 수 있다. 따라서, 가용 블록(Available block)에 포함되는 소거 상태의 메모리 셀들을 선택하기 위해, 메모리 블록 내의 소거 상태에 존재하는 메모리 셀들을 모니터링하기 위한 맵핑 테이블(Mapping table)을 별도로 운영할 수도 있다. 이 경우, 메모리 컨트롤러(20)의 자원(Resource)은 감소하지만, 블록 소거 요청에 의하여 특정 메모리 블록이 가용 블록(Available block)으로 지정되는 즉시 소거 상태의 메모리 셀들을 선택할 수 있다. 따라서, 맵핑 테이블을 활용하면 리커버리 프로그램의 속도를 높일 수 있을 것이다(S301).
가용 블록(Available block) 내에 포함되는 소거 상태의 메모리 셀들이 선택되면, 선택된 메모리 셀들에 대한 프로그램이 실시된다. 선택된 메모리 셀들은 소거 상태(Erase state)보다 높은 문턱 전압을 갖는 프로그램 상태들 중 어느 하나를 타깃으로 하여 프로그램될 것이다. 하나의 가용 블록(Available block)에 포함되는 선택된 메모리 셀들을 모두 프로그램하기 위해서는 복수의 페이지 프로그램 동작이 소요될 것이다. 선택된 메모리 셀들에 대한 프로그램이 완료되자마자, 가용 블록(Available block)의 리커버리 프로그램이 실시된 시점으로부터의 경과 시간을 측정하는 카운트 동작이 시작된다. 경과 시간(Tec)의 카운트를 통해서 가용 블록(Available block)에 포함되는 메모리 셀들의 산화막 절연 회복에 소요되는 시간을 확보할 수 있다(S302).
리커버리 프로그램이 완료된 시점으로부터의 경과 시간(Tec)의 카운트가 실시되고, 메모리 컨트롤러(20)는 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 넘게 되는지 모니터링한다(S303).
이어서, 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 경과하면, 메모리 컨트롤러(20)는 가용 블록(Available block)을 쓰기 요청이 발생하면 즉시 소거하여 제공할 수 있는 프리 블록으로 지정한다(S304).
상술한 제 1 실시예에서, 경과 시간(Tec)의 카운트 동작이 언급되었다. 경과 시간을 카운트하기 위해서 각각의 가용 블록(Available block)들에 대한 카운터를 제공함으로써 구현될 수 있다. 또는, 경과 시간(Tec)의 크기를 측정할 수 있도록 가용 블록 내의 특정 영역(예를 들면, 스페어 영역)을 지정할 수 있다. 특정 영역의 메모리 셀들을 복수의 프로그램 상태들 중 어느 하나로 프로그램하고, 시간의 경과에 따라 발생하는 메모리 셀들의 문턱 전압의 시프트 크기를 검출하여 경과 시간(Tec)을 추정할 수 있을 것이다. 또한, 경과 시간(Tec)이 리커버리 프로그램 직후부터의 시간 경과를 지시하는 것으로 도면에서 설명되었으나, 경과 시간(Tec)의 의미는 이에 국한되지 않는다. 즉, 경과 시간(Tec)은 가용 블록(Available block) 내에 존재하는 리커버리 프로그램의 이전에도 이미 프로그램 상태에 존재하는 메모리 셀들에 대한 정보를 포함할 수 있다. 다시 말하면, 가용 블록 내에서, 리커버리 프로그램을 위해 선택되지 않은 메모리 셀들의 프로그램 이후로부터의 시간 경과에 대한 정보를 경과 시간(Tec)이 포함할 수 있다.
이상에서는 가용 블록(Available block) 내에서 소거 상태에 대응하는 메모리 셀들에 대한 선택적 프로그램을 통하여 리커버리 프로그램이 실시되는 제 1 실시예의 절차들이 설명되었다. 여기서, 프로그램 상태(Program state)는 소거 상태(Erase state)를 제외한 메모리 셀의 문턱 전압 분포들을 의미한다.
도 4는 앞서 도 3에서 설명된 리커버리 프로그램의 제 1 실시예에 따른 가용 블록(Available block)에 포함되는 메모리 셀들의 문턱 전압 분포를 보여준다. 도 4를 참조하면, 가용 블록(Available block) 내에서 소거 상태에 대응하는 메모리 셀들을 선택하는 (a) 분포도와, 선택된 메모리 셀들이 프로그램됨에 따라 메모리 셀들이 갖는 문턱 전압 분포를 보여주는 (b) 분포도가 도시되어 있다. 비록, 설명의 편의를 위하여 2-비트 MLC를 예로 들어 설명되었으나, 본 발명은 이에 국한되지 않는다.
(a) 분포도는 앞서 도 3에서 설명된 가용 블록(Available block) 내에서 소거 상태에 존재하는 메모리 셀들을 선택하는 단계(S301)에 대응한다. 즉, 소거 상태(E0)에 대응하는 문턱 전압을 갖는 메모리 셀들이 메모리 컨트롤러(20)에 의해서 선택될 것이다. 그리고, 선택된 소거 상태(E0)에 대응하는 메모리 셀들은 타깃 프로그램 상태(P1)로 프로그램될 것이다. 타깃 프로그램 상태는 복수의 프로그램 상태들(P1, P2, P3) 중 어느 하나로 결정되어도 무방하다. 그러나, 가장 낮은 문턱 전압에 대응하는 프로그램 상태(P1)를 타깃으로 하는 경우에 가장 바른 리커버리 프로그램이 가능할 것이다. 또한, 설명의 편의를 위해서 리커버리 프로그램에 따라서 메모리 셀들이 갖게되는 프로그램 상태를 프로그램 상태들(P1, P2, P3)를 예로 들었다. 그러나, 프로그램 상태는 소거 상태를 제외한 문턱 전압의 상태라면 무방하다. 프로그램 상태에 대한 이러한 정의는 이후의 다른 실시예들에서도 동일하게 적용된다.
도 5는 상술한 도 2에서 설명된 리커버리 프로그램(S30)의 제 2 실시예를 보여주는 순서도이다. 도 5에 도시된 제 2 실시예에 따른 리커버리 프로그램에 따르면, 가용 블록(Available block) 내에 존재하는 소거 상태의 메모리 셀들에 대한 선택 동작 없이 신속한 프로그램이 가능하다. 좀더 자세히 설명하면 다음과 같다.
가용 블록(Available block)으로 지정되는 메모리 블록이 생성되면, 가용 블록(Available block)으로 지정되는 메모리 블록에 대한 원샷 프로그램(One-Shot program)이 실시된다. 원샷 프로그램은 가용 블록(Available block)에 포함되는 모든 메모리 셀들에 대한 무차별적인 프로그램을 의미한다. 즉, 가용 블록(Available block)에 포함되는 메모리 셀들은 메모리 셀들의 프로그램 상태에 관계없는 무조건적인 프로그램에 노출될 것이다. 원샷 프로그램(One-Shot program)을 위하여 가용 블록(Available block)에 포함되는 복수의 페이지들은 순차적으로 선택될 것이다. 선택된 페이지에는 하나 또는 하나 이상의 프로그램 펄스가 제공되고, 선택된 페이지의 모든 비트 라인들은 접지 레벨(0V)로 설정될 것이다. 선택된 페이지 내에서 프로그램 금지(Program inhibit)로 프리차지되는 비트 라인은 존재하지 않을 것이다. 가용 블록 내의 모든 페이지들에 대한 원샷 프로그램(One-Shot program)이 순 차적으로 진행되면, 가용 블록(Available block)에 대한 본 발명의 원샷 프로그램(One-Shot program) 방식에 따른 리커버리 프로그램 동작이 완료된다. 원샷 프로그램이 완료되자마자, 가용 블록(Available block)의 리커버리 프로그램이 실시된 시점으로부터의 경과 시간(Tec)을 측정하는 카운트 동작이 시작된다. 경과 시간(Tec)의 카운트를 통해서 가용 블록(Available block)에 포함되는 메모리 셀들의 산화막 절연 회복에 소요되는 시간을 확보할 수 있다(S311).
가용 블록에 대한 리커버리 프로그램이 완료된 시점으로부터의 경과 시간(Tec)의 카운트가 실시되고, 메모리 컨트롤러(20)는 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 넘게 되는지 모니터링한다(S312).
이어서, 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 경과하면, 메모리 컨트롤러(20)는 가용 블록(Available block)을 쓰기 요청이 발생하면 즉시 소거하여 제공할 수 있는 프리 블록으로 지정한다(S313).
가용 블록에 대한 원샷 프로그램(One-Shot program) 방식에 따른 리커버리 프로그램 동작에 따르면, 소거 상태에 대응하는 메모리 셀들에 대한 선택 동작에 소요되는 비용을 절감할 수 있다. 그러나, 원샷 프로그램(One-Shot program)을 통해서 소거 상태(Erase state)에 존재하는 메모리 셀들의 문턱 전압이 적어도 0V 이상의 레벨로 프로그램될 수 있는 정도의 효과가 보장되어야 할 것이다. 또한, 퍼포먼스의 향상을 위하여, 모든 메모리 셀들이 프로그램 상태로 이동하지 않아도 리커버리 프로그램이 완료된 것으로 처리될 수도 있다. 즉, 원샷 프로그램(One-Shot program) 방식의 리커버리 프로그램에 의해서 일부 메모리 셀들(예를 들면, Slow cell)이 프로그램 상태로 문턱 전압이 이동하지 않았다 하더라도 리커버리 프로그램이 완료된 것으로 처리할 수 있을 것이다.
도 6은 원샷 프로그램(One-Shot program)에 따른 가용 블록(Available block)의 문턱 전압 이동을 보여주는 문턱 전압 분포도이다. 도 6을 참조하면, 프로그램 펄스(Vpgm)를 가용 블록(Available block) 내의 모든 메모리 셀들에 인가하는 (a) 분포도와, 원샷 프로그램(One-Shot program)의 결과로 가용 블록 내의 메모리 셀들이 갖는 문턱 전압 분포를 보여주는 (b) 분포도가 도시되어 있다.
(a) 분포도는 가용 블록(Available block) 내의 모든 메모리 셀들에 원샷 프로그램(One-Shot program)을 위한 프로그램 전압을 제공하는 단계를 의미한다. 프로그램 펄스(Vpgm)는 소거 상태(E0)에 대응하는 메모리 셀이나 프로그램 상태들(P1, P2, P3)에 대응하는 메모리 셀들을 가리지 않고 무차별적으로 제공된다. 따라서, 원샷 프로그램(One-Shot program)에 따라 가용 블록 내의 모든 메모리 셀들의 문턱 전압은 (b) 단계에 도시된 바와 같이 시프트될 것이다.
즉, 소거 상태(E0)에 대응하는 문턱 전압을 갖는 메모리 셀들은 소거 상태보다 높은 문턱 전압 상태(E0′)로 프로그램된다. 프로그램 상태(P1)에 대응하는 문턱 전압을 갖는 메모리 셀들은 원샷 프로그램(One-Shot program)에 따라 문턱 전압 상태(P1′)로 프로그램된다. 프로그램 상태(P2)에 대응하는 문턱 전압을 갖는 메모리 셀들은 원샷 프로그램(One-Shot program)에 따라 문턱 전압 상태(P2′)로 프로그램된다. 프로그램 상태(P3)에 대응하는 문턱 전압을 갖는 메모리 셀들은 원샷 프로그램(One-Shot program)에 따라 문턱 전압 상태(P3′)로 프로그램된다. 도시된 바와 같이, 원샷 프로그램(One-Shot program)에 따라 가용 블록(Available block) 내의 모든 메모리 셀들이 이전의 문턱 전압보다 높은 프로그램 상태들로 프로그램된다. 그러나, 프로그램 상태(E0′)의 최소 문턱 전압을 규정하는 전압(Vm)은 반드시 0V 이상이 되어야 할 것이다.
도 7은 상술한 도 2에서 설명된 리커버리 프로그램(S30)의 제 3 실시예를 보여주는 순서도이다. 도 7에 도시된 제 3 실시예에 따른 리커버리 프로그램에 의하면, 가용 블록(Available block) 내에 존재하는 모든 메모리 셀들에 대한 1차적인 소거 동작이 선행되고, 그 이후에 메모리 셀들이 복수의 프로그램 상태들 중 어느 하나로 프로그램될 것이다. 좀더 자세히 설명하면 다음과 같다.
가용 블록(Available block)으로 지정되는 메모리 블록이 생성되면, 가용 블록(Available block)으로 지정되는 메모리 블록에 대한 블록 소거 동작(Block erase operation)이 우선적으로 실시된다(S321).
블록 소거 동작에 의해서 가용 블록(Available block)의 모든 메모리 셀들의 문턱 전압은 소거 상태에 위치하게 될 것이다. 따라서, 가용 블록(Available block) 내의 모든 메모리 셀들의 산화막 회복을 위해서는 복수의 프로그램 상태들 중 어느 하나(Px)로의 프로그램이 반드시 뒤따라야 할 것이다. 선택된 메모리 셀들에 대한 타깃 프로그램 상태(Px)로의 프로그램이 완료되자마자, 가용 블록(Available block)의 리커버리 프로그램이 실시된 시점으로부터의 경과 시간(Tec)을 측정하는 카운트 동작이 시작된다. 경과 시간(Tec)의 카운트를 통해서 가용 블록(Available block)에 포함되는 메모리 셀들의 산화막 절연 회복에 소요되 는 시간을 확보할 수 있다(S322).
더불어, 타깃 프로그램 상태(Px)로 프로그램된 가용 블록(Available block)의 메모리 셀들에 대한 추가적인 프로그램이 선택적으로 실시될 수 있다. 즉, 타깃 프로그램 상태(Px)의 문턱 전압 산포를 보다 협소하게 관리하기 위한 컨버전스 프로그램(Convergence program)이 선택적으로 추가될 수 있다. 즉, 가용 블록(Available block)에 포함되는 메모리 셀들에 대해서 좀더 높은 검증 전압을 제공하여 타깃 프로그램 상태의 문턱 전압 분포를 협소하게 형성할 수 있을 것이다(S323).
리커버리 프로그램이 완료된 시점으로부터의 경과 시간(Tec)의 카운트가 실시되고, 메모리 컨트롤러(20)는 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 넘게 되는지 모니터링한다(S324).
이어서, 경과 시간(Tec)이 산화막의 절연 회복에 충분한 시간(Threshold value)을 경과하면, 메모리 컨트롤러(20)는 가용 블록(Available block)을 쓰기 요청이 발생하면 즉시 소거하여 제공할 수 있는 프리 블록으로 지정한다(S325).
타깃 상태로의 프로그램 동작이 완료되면, 본 발명의 제 3 실시예에 따른 리커버리 프로그램은 종료된다. 리커버리 프로그램에 따라, 가용 블록(Available block)의 모든 메모리 셀들은 프로그램 상태의 문턱 전압을 갖게 된다. 따라서, 쓰기 요청의 발생에 따라 쓰기 블록으로 선택되는 시점까지는 메모리 셀들이 프로그램 상태에 존재한다. 쓰기 요청에 따라 쓰기 대상 블록으로 선택되면, 일차적으로 블록 소거를 통해서 가용 블록(Available block)은 초기화될 것이다. 리커버리 프 로그램과 쓰기 요청에 의하여 발생하는 블록 소거 동작 사이의 시간 경과(Time elapse)에 따라, 가용 블록(Available block)의 메모리 셀들은 충분한 산화막 회복이 가능하다. 따라서, 메모리 셀들의 전하 손실은 최소화되고, 저장되는 데이터의 신뢰성은 높아질 수 있다.
도 8은 도 7의 제 3 실시예에 따른 가용 블록(Available block)의 문턱 전압 이동을 보여주는 문턱 전압 분포도이다. 도 8을 참조하면, 가용 블록(Available block) 내의 모든 메모리 셀들이 최초에 가지는 문턱 전압 분포도 (a), 가용 블록에 대한 소거 단계를 도시한 분포도 (b), 타깃 프로그램 상태로의 프로그램 단계를 보여주는 분포도 (c) 및 문턱 전압 산포를 협소하게 형성하기 위한 컨버전스 프로그램을 보여주는 분포도 (d)가 순차적으로 도시되어 있다.
(a) 분포도는 가용 블록(Available block)이 생성되는 시점에서, 가용 블록 내의 메모리 셀들의 문턱 전압 분포를 보여준다. (b) 분포도는 가용 블록(Available block)에 대한 블록 소거 동작시의 문턱 전압 분포를 보여준다. 즉, 가용 블록(Available block) 내에 존재하는 프로그램 상태들(P1, P2, P3)에 문턱 전압이 위치하는 메모리 셀들은 블록 소거 동작에 의하여 소거 상태(E0)에 대응하는 문턱 전압으로 초기화된다. (c) 분포도는 소거 상태(E0)로 초기화된 가용 블록(Available block) 내의 모든 메모리 셀들이 프로그램 상태들(P1, P2, P3) 중 어느 하나로 프로그램되는 과정을 보여준다.
여기서, 소거 상태(E0)로부터 프로그램 상태(P1)으로 가용 블록(Available block) 내의 메모리 셀들이 프로그램되는 것으로 도시되었으나, 이는 예시적인 실 시에 불과하다. 즉, 소거 상태(E0)로부터 프로그램 상태들 중 어느 하나 또는 하나 이상의 프로그램 상태들로 프로그램될 수 있다. 또는, 가용 블록(Available block) 내의 메모리 셀들이 소거 상태(E0)에 포함되는 문턱 전압 범위 밖으로 프로그램될 수 있다. 예를 들면 가용 블록(Available block)에 포함되는 메모리 셀들이 0V보다 높은 문턱 전압을 갖도록 프로그램될 수 있다. 가용 블록(Available block) 내의 메모리 셀들의 프로그램이 완료되면, 소거 대상이 되는 가용 블록(Available block)에 대한 리커버리 프로그램이 완료된다. 그러나, 이후 쓰기 요청이 발생하는 시점에서, 더 나은 프로그램 특성을 제공하기 위하여 추가적인 컨버전스 프로그램을 더 수행할 수 있다. 즉, (d) 분포도에 도시된 바와 같이, (c) 분포도에서 도시된 검증 전압(V1)보다 높은 검증 전압(V2)이 제공될 것이다. 그리고 프로그램 전압의 스텝(ΔV)의 폭을 이전의 프로그램 동작에 비하여 감소된 크기로 제공됨으로써 컨버전스 프로그램이 실시된다.
도 9는 상술한 도 2 내지 도 8에서 설명된 블록 관리 방법을 수행할 수 있는 플래시 메모리 장치(100)를 간략히 보여준다. 즉, 호스트로부터 블록 소거 명령어(CMD)와 어드레스(ADD)를 수신하면, 컨트롤러(140)에 의한 소거 대상 블록의 리커버리 프로그램(Recovery program)이 실시된다. 좀더 자세히 설명하면 다음과 같다.
셀 어레이(110)는 비트 라인 및 워드 라인에 연결되는 플래시 메모리 셀들을 포함한다. 하나의 블록 단위에는 복수의 메모리 셀들이 워드 라인과 비트 라인 방향으로 배열된다. 블록 소거 동작시, 하나의 블록에 포함되는 메모리 셀들의 벌크 영역에는 소거 전압(Vers)이 제공된다. 벌크 영역으로 공급되는 소거 전압과 워드 라인에 제공되는 전압(Vwl)의 전위차에 의해서 발생하는 전계에 기인하는 F-N 터널링에 의해서 메모리 셀의 플로팅 게이트에 주입된 전하는 채널로 이탈한다. 멀티 레벨 셀(MLC) 플래시 메모리 장치에서 상술한 셀 어레이(110)는 m-비트 데이터(m은 2 이상의 정수)를 저장할 수 있는 멀티-레벨 셀(MLC)들을 포함한다.
행-디코더(120)는 행 어드레스에 응답하여 워드 라인을 선택한다. 행-디코더(120)는 고전압 발생기(150)로부터 생성된 워드 라인 전압(VWL)을 선택된 워드 라인으로 전달한다.
센스 앰프/기입 드라이버(130)는 컨트롤러(140)의 제어에 따라 셀 어레이(110)의 비트 라인을 선택하고 선택된 비트 라인들을 프리차지 또는 디스차지할 것이다. 프로그램시, 센스 앰프/기입 드라이버(130)는 셀 어레이(110)의 선택된 메모리 셀들이 F-N 터널링이나 열전자 주입이 발생할 수 있도록 비트 라인을 바이어스한다. 읽기 동작시, 센스 앰프/기입 드라이버(130)는 선택된 메모리 셀들의 비트 라인을 프리차지하고, 프리차지된 비트 라인의 디벨럽 상태를 감지하여 저장된 데이터를 감지하여 외부로 출력한다.
컨트롤러(140)는 소거 명령에 응답하여 메모리 블록에 대한 소거 동작을 실시하도록 고전압 발생기(150) 및 센스 앰프/기입 드라이버(130)를 제어한다. 일반적으로 플래시 메모리 장치(100)의 블록 단위의 관리는 메모리 컨트롤러(20, 도 1 참조)에서 발생할 수 있다. 그러나, 특정한 목적을 위하여 메모리 컨트롤러(20)가 아닌 플래시 메모리 장치(100)의 내부에서 소거 블록에 대한 리커버리 프로그램을 실시할 수 있다. 본 발명의 컨트롤러(140)는 외부로부터 블록 소거 명령(CMD)과 어드레스를 제공받아 소거 대상이 되는 메모리 블록을 가용 블록(Available block)으로 할당하고 즉시 리커버리 프로그램을 실시한다. 가용 블록 내에 소거 상태에 존재하는 메모리 셀들에 대한 리커버리 프로그램 이후에, 가용 블록(Available block)은 프리 블록으로 할당된다. 또한, 프리 블록에 대한 데이터의 쓰기 명령이 제공되면 선택된 메모리 블록은 일차 소거된 이후에 제공된 데이터가 프로그램될 것이다.
고전압 발생기(150)는 셀 어레이(110)로 제공되는 워드 라인 전압을 생성한다. 고전압 발생기(150)는 각 동작 모드에 따라 다양한 워드 라인 전압(Vwl)들을 생성하여 선택된 워드 라인들로 공급한다. 프로그램 동작시, 고전압 발생기(150)는 프로그램 전압(Vpgm)을 생성하여 선택된 워드 라인으로 제공한다. 그리고 독출 동작시, 고전압 발생기(150)는 선택된 워드 라인으로 선택된 페이지 데이터를 읽기 위한 읽기 전압(Vrd)을 제공한다. 소거 동작시, 고전압 발생기(150)는 셀 어레이(110)의 벌크 영역으로 소거 전압(Vers)을 제공하게 될 것이다.
이상에서 설명된 플래시 메모리 장치(100)에 의해서 리커버리 프로그램 동작의 플래시 메모리 장치(100)의 내부에서 수행되는 예시적인 실시예가 설명되었다.
도 10은 상술한 도 2 내지 도 8에서 설명된 블록 관리 방법을 수행할 수 있는 퓨전 메모리 즉, 원낸드 플래시 메모리 장치(200)를 간략히 보여준다. 도 10을 참조하면, 원낸드 플래시 메모리 장치(200)에서 수행되는 도 2의 블록 관리 방법이 개시된다. 즉, 호스트로부터 블록 소거 명령어(CMD)와 어드레스(ADD)를 수신하면, 컨트롤러(230)에 의한 소거 대상 블록의 리커버리 프로그램(Recovery program)이 실시된다. 원낸드 플래시 메모리 장치(200)는 서로 다른 프로토콜을 사용하는 장치와의 각종 정보 교환을 위한 호스트 인터페이스(210)와, 메모리 장치를 구동하기 위한 코드를 내장하거나 데이터를 일시적으로 저장하는 버퍼 램(220)과, 외부에서 주어지는 제어 신호와 명령어에 응답하여 읽기와 프로그램 및 모든 상태를 제어하는 컨트롤러(230)와, 명령어와 어드레스, 메모리 장치 내부의 시스템 동작 환경을 정의하는 설정(Configuration) 등의 데이터가 저장되는 레지스터(240) 및 비휘발성 메모리 셀과 페이지 버퍼로 구성된 낸드 플래시 셀 어레이(250)를 포함한다.
여기서, 컨트롤러(230)는 호스트로부터의 소거 명령 또는 가비지 컬렉션과 같은 블록 관리를 통해서 발생하는 가용 블록(Available block)에 대해서 리커버리 프로그램을 우선적으로 실시하여 프리 블록으로 제공한다. 리커버리 프로그램 방법은 도 2내지 도 8을 통해서 설명된 다양한 실시예들 중 어느 하나와 실질적으로 동일하다.
도 11에는 본 발명에 따른 관리 방법에 따라 구동되는 메모리 카드(310)를 포함하는 컴퓨팅 시스템(300)이 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템(300)은 시스템 버스(360)에 전기적으로 연결된 마이크로프로세서(320), 램(330), 사용자 인터페이스(340), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(350) 및 메모리 카드(310)를 포함한다. 메모리 카드(310)는 메모리 컨트롤러(311), 그리고 비휘발성 메모리 장치(412)를 포함한다. 비휘발성 메모리 장 치(312)에는 마이크로프로세서(320)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그보다 큰 정수)가 메모리 컨트롤러(311)를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 본 발명의 메모리 카드(310)를 통해서 컴퓨팅 시스템(300)은 신뢰성 높은 데이터를 제공받을 수 있다.
본 발명의 메모리 카드(310)는 MMC 카드(Multimedia Card), SD 카드(Secure Digital Card), 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card) 등으로 더 구성될 수 있다. 또한, 본 발명의 메모리 카드(310)는 반도체 디스크 장치(Solid Stage Disk:SSD)로 구성될 수 있다.
비휘발성 메모리 장치(312)는 전력이 차단되어도 저장된 데이터를 유지할 수 있다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 비휘발성 메모리 장치(312)는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 널리 사용될 수 있다. 비휘발성 메모리 장치(312) 및 메모리 컨트롤러(311)를 포함하는 메모리 카드(310)는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
본 발명의 메모리 카드(310)는 임베디드 시스템에 적용가능하다. 임베디드(Embedded) 시스템은 다른 기기의 일부로 내장된 컴퓨팅 시스템으로써, 일반적인 컴퓨터와 달리 자신을 포함하고 있는 기기에 부과된 특정 목적의 컴퓨팅 작업만을 수행한다. 이를 위해, 임베디드 시스템은 중앙처리장치를 갖고 운영 체제를 필요로 하며, 운영체제로 애플리케이션을 실행하여 특정 작업을 수행한다. 일반적으로, 임베디드 시스템은 군사용기기, 산업용 기기, 통신 기기, 셋탑 박스, DTV, 디지털 카메라와 같은 가전기기 등을 제어하기 위해 내장된다.
도 12a 및 도 12b는 본 발명의 소거 대상이 되는 가용 블록에 대한 리커버리 프로그램을 수행할 때 얻을 수 있는 산화막의 절연 회복을 간략히 보여주는 메모리 셀의 문턱 전압 분포도들이다. 도 12a는 소거 대상인 가용 블록에 대해 리커버리 프로그램 없이 소거되고, 데이터를 저장하는 경우에 발생하는 전하 손실에 따른 문턱 전압 산포의 확산을 간략히 보여준다. 3-비트 MLC에서는 제한된 문턱 전압 윈도우에서 가능한 큰 읽기 마진을 확보해야 한다. 그러나, 리커버리 프로그램에 의한 메모리 셀들의 산화막의 회복이 없는 경우, 전하 손실에 따라 문턱 전압 분포가 도시된 바와 같이 확산될 수밖에 없다. 이는 플래시 메모리 장치의 신뢰성 악화를 의미한다.
도 12b를 를 참조하면, 리커버리 프로그램에 의해서 관리된 메모리 블록의 산화막의 절연 회복에 따른 결과를 보여준다. 리커버리 프로그램에 의해서 관리된 메모리 블록에 데이터가 프로그램된 직후와, 일정 시간이 경과한 이후의 문턱 전압 분포는 큰 차이를 발견할 수 없다. 이는 리커버리 프로그램에 의해서 메모리 셀들 의 산화막의 절연 능력이 일정 수준 회복될 수 있음을 보여준다.
본 발명에 따른 비휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 메모리 장치를 개략적으로 보여주는 블록도;
도 2는 본 발명에 따른 블록 관리 방법을 보여주는 순서도;
도 3은 본 발명에 따른 리커버리-프로그램의 제 1 실시예를 간략히 보여주는 순서도;
도 4는 본 발명의 제 1 실시예에 따른 프로그램 상태를 보여주는 도면;
도 5는 본 발명에 따른 리커버리-프로그램의 제 2 실시예를 보여주는 순서도;
도 6은 본 발명의 제 2 실시예에 따른 프로그램 상태를 보여주는 도면;
도 7은 본 발명에 따른 리커버리-프로그램의 제 3 실시예를 보여주는 순서도;
도 8은 본 발명의 제 3 실시예에 따른 프로그램 상태를 보여주는 도면;
도 9는 본 발명의 블록 관리 방법에 따라 소거 동작을 실시하는 비휘발성 메모리 장치를 보여주는 블록도;
도 10은 본 발명의 블록 관리 방법에 따라 소거 동작을 실시하는 원낸드 플래시 메모리 장치를 보여주는 블록도;
도 11은 블록 관리 방법을 수행하는 메모리 카드를 포함하는 컴퓨팅 시스템을 보여주는 블록도; 그리고
도 12a 및 도 12b는 본 발명의 블록 관리 방법에 따른 산화막 절연 회복을 보여주는 분포도들.
*도면의 주요 부분에 대한 부호의 설명*
10, 100 : 비휘발성 메모리 장치 20 : 메모리 컨트롤러
110 : 셀 어레이 120 : 행 디코더
130 : 센스 앰프/기입 드라이버 140 : 컨트롤러
150 : 고전압 발생기 210 : 호스트 인터페이스
220 : 버퍼 램 230 : 컨트롤러
240 : 레지스터 250 : 낸드 셀 어레이
310 : 메모리 카드 311 : 메모리 컨트롤러
312 : 비휘발성 메모리 장치 320 : 프로세싱 유닛
330 : 램 340 : 유저 인터페이스
350 : 모뎀 360 : 시스템 버스

Claims (10)

  1. 비휘발성 메모리 장치의 블록 관리 방법에 있어서:
    선택된 메모리 블록에 대한 블록 소거 요청을 검출하는 단계;
    상기 블록 소거 요청에 응답하여 상기 선택된 메모리 블록에 포함되는 메모리 셀들을 프로그램 상태에 대응하는 문턱 전압을 가지도록 처리하는 단계;
    상기 메모리 셀들의 문턱 전압이 상기 프로그램 상태로 이동하자마자 상기 프로그램된 시점으로부터의 경과 시간을 측정하기 위한 경과 시간 측정 단계; 그리고
    상기 경과 시간이 특정 시간을 경과하면, 상기 선택된 메모리 블록을 데이터의 기입이 가능한 자유 블록으로 제공하는 단계를 포함하되,
    상기 프로그램 상태는 상기 메모리 셀들의 산화막 절연 회복을 제공하기 위한 문턱 전압 상태에 대응하는 것을 특징으로 하는 블록 관리 방법.
  2. 제 1 항에 있어서,
    상기 검출하는 단계에서, 상기 블록 소거 요청은 외부로부터의 명령 또는 상기 비휘발성 메모리 장치 내부에서 발생되는 것을 특징으로 하는 블록 관리 방법.
  3. 제 1 항에 있어서,
    상기 처리하는 단계는:
    상기 블록 소거 요청에 응답하여, 상기 선택된 메모리 블록에 포함된 소거 상태 메모리 셀들을 선택하는 단계;
    상기 선택된 소거 상태 메모리 셀들을 상기 프로그램 상태로 프로그램하는 단계를 포함하는 블록 관리 방법.
  4. 제 1 항에 있어서,
    상기 처리하는 단계는:
    상기 블록 소거 요청에 응답하여, 상기 선택된 메모리 블록에 포함되는 메모리 셀들을 하나 이상의 프로그램 펄스로 원샷 프로그램하는 단계를 포함하는 블록 관리 방법.
  5. 제 1 항에 있어서,
    상기 처리하는 단계는:
    상기 블록 소거 요청에 응답하여, 상기 선택된 메모리 블록에 대한 블록 소거 동작을 실시하는 단계; 그리고
    상기 소거된 메모리 블록에 포함되는 메모리 셀들을 상기 프로그램 상태로 프로그램하는 단계를 포함하는 블록 관리 방법.
  6. 제 5 항에 있어서,
    상기 프로그램 상태를 더 협소한 문턱 전압 분포로 형성하기 위한 컨버전스 프로그램 단계를 더 포함하는 블록 관리 방법.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 경과 시간의 측정은 상기 선택된 메모리 블록에 포함되는 메모리 셀들의 문턱 전압 시프트의 크기를 감지하여 실시되는 블록 관리 방법.
  9. 제 1 항에 있어서,
    상기 경과 시간의 측정은 상기 선택된 메모리 블록에 대응하는 카운터를 통해서 수행되는 블록 관리 방법.
  10. 비휘발성 메모리 장치; 그리고
    상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 청구항 1에 기재된 블록 관리 방법에 따라 상기 비휘발성 메모리 장치를 제어하는 메모리 시스템.
KR1020080099620A 2008-10-10 2008-10-10 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법 KR101506336B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080099620A KR101506336B1 (ko) 2008-10-10 2008-10-10 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법
US12/498,508 US8274840B2 (en) 2008-10-10 2009-07-07 Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
CN200910204682.7A CN101727981B (zh) 2008-10-10 2009-10-10 带内置存储器单元恢复的非易失性存储器设备及操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080099620A KR101506336B1 (ko) 2008-10-10 2008-10-10 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법

Publications (2)

Publication Number Publication Date
KR20100040487A KR20100040487A (ko) 2010-04-20
KR101506336B1 true KR101506336B1 (ko) 2015-03-27

Family

ID=42098715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080099620A KR101506336B1 (ko) 2008-10-10 2008-10-10 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법

Country Status (3)

Country Link
US (1) US8274840B2 (ko)
KR (1) KR101506336B1 (ko)
CN (1) CN101727981B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102237136B (zh) * 2010-04-26 2014-05-14 旺宏电子股份有限公司 使用在一存储装置的存储子单元抹除方法
JP5404685B2 (ja) 2011-04-06 2014-02-05 株式会社東芝 不揮発性半導体記憶装置
US8787088B2 (en) 2012-06-29 2014-07-22 Sandisk Technologies Inc. Optimized erase operation for non-volatile memory with partially programmed block
KR101975406B1 (ko) 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR20140096875A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 메모리 시스템의 및 그것의 블록 관리 방법
CN104064222B (zh) * 2013-03-20 2017-03-01 华邦电子股份有限公司 闪存存储器的验证装置
US8942038B2 (en) 2013-04-02 2015-01-27 SanDisk Technologies, Inc. High endurance nonvolatile memory
US9104612B2 (en) * 2013-08-27 2015-08-11 Oracle International Corporation System stability prediction using prolonged burst detection of time series data
US9449694B2 (en) * 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
KR20170037722A (ko) * 2015-09-25 2017-04-05 에스케이하이닉스 주식회사 반도체 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR102457662B1 (ko) 2017-10-31 2022-10-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 저장 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152318B1 (ko) * 1993-10-28 1998-12-01 가네꼬 히사시 불휘발성 반도체 기억 장치와 그 기록 특성 회복 방법
KR20070101255A (ko) * 2004-12-23 2007-10-16 샌디스크 코포레이션 플로팅 게이트 간 결합 효과를 감소시키는낸드-eeprom

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745410A (en) * 1995-11-17 1998-04-28 Macronix International Co., Ltd. Method and system for soft programming algorithm
KR0172408B1 (ko) * 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
US5862074A (en) * 1996-10-04 1999-01-19 Samsung Electronics Co., Ltd. Integrated circuit memory devices having reconfigurable nonvolatile multi-bit memory cells therein and methods of operating same
JP4360736B2 (ja) * 2000-01-27 2009-11-11 株式会社ルネサステクノロジ 不揮発性半導体記憶装置および不揮発性半導体記憶装置のデータ消去方法
US6928001B2 (en) * 2000-12-07 2005-08-09 Saifun Semiconductors Ltd. Programming and erasing methods for a non-volatile memory cell
JP2004171686A (ja) 2002-11-20 2004-06-17 Renesas Technology Corp 不揮発性半導体記憶装置およびそのデータ消去方法
KR20040084401A (ko) 2003-03-28 2004-10-06 주식회사 하이닉스반도체 플래시 메모리의 소거 방법
KR100666174B1 (ko) * 2005-04-27 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
JP2007193867A (ja) * 2006-01-17 2007-08-02 Matsushita Electric Ind Co Ltd 不揮発性半導体記憶装置及びその書き換え方法
KR100888616B1 (ko) 2006-11-28 2009-03-17 삼성전자주식회사 소거 동작 전에 프리 프로그램 동작을 수행하는 낸드플래시 메모리 및 그것의 소거 방법
KR100843037B1 (ko) 2007-03-27 2008-07-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 이의 소거 방법
US7969785B1 (en) * 2007-09-20 2011-06-28 Venkatraman Prabhakar Low voltage non-volatile memory with charge trapping layer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152318B1 (ko) * 1993-10-28 1998-12-01 가네꼬 히사시 불휘발성 반도체 기억 장치와 그 기록 특성 회복 방법
KR20070101255A (ko) * 2004-12-23 2007-10-16 샌디스크 코포레이션 플로팅 게이트 간 결합 효과를 감소시키는낸드-eeprom

Also Published As

Publication number Publication date
KR20100040487A (ko) 2010-04-20
CN101727981A (zh) 2010-06-09
US8274840B2 (en) 2012-09-25
US20100091578A1 (en) 2010-04-15
CN101727981B (zh) 2015-07-15

Similar Documents

Publication Publication Date Title
KR101506336B1 (ko) 산화막 복구 기능을 갖는 비휘발성 메모리 장치 그리고 그것의 블록 관리 방법
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
KR102053953B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR101975406B1 (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR101662273B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법
US9715341B2 (en) Operating a memory device using a program order stamp to control a read voltage
US9921749B2 (en) Memory system and method including determining a read voltage based on program order information and a plurality of mapping tables
US20140108747A1 (en) Method of determining deterioration state of memory device and memory system using the same
US10409718B2 (en) Memory system and operating method thereof
KR102314135B1 (ko) 적응적인 루프를 수행하는 플래시 메모리 장치, 메모리 시스템 및 그 동작방법
KR20210001414A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법
KR20220013661A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
KR20210043314A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
KR20220105303A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20170006976A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20220089854A (ko) Ufs 장치 및 ufs 장치의 동작 방법
KR20220032268A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20220001137A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
KR20220049397A (ko) 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
KR20210157544A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20210143387A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20210130341A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20220073998A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210155055A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20220079264A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 6