KR102272228B1 - 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 - Google Patents

불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102272228B1
KR102272228B1 KR1020140057311A KR20140057311A KR102272228B1 KR 102272228 B1 KR102272228 B1 KR 102272228B1 KR 1020140057311 A KR1020140057311 A KR 1020140057311A KR 20140057311 A KR20140057311 A KR 20140057311A KR 102272228 B1 KR102272228 B1 KR 102272228B1
Authority
KR
South Korea
Prior art keywords
dummy
partial block
page
data
program
Prior art date
Application number
KR1020140057311A
Other languages
English (en)
Other versions
KR20150130638A (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 KR1020140057311A priority Critical patent/KR102272228B1/ko
Priority to US14/596,677 priority patent/US9659658B2/en
Publication of KR20150130638A publication Critical patent/KR20150130638A/ko
Application granted granted Critical
Publication of KR102272228B1 publication Critical patent/KR102272228B1/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/10Programming or data input 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
    • 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/20Initialising; Data preset; Chip identification
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • 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
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Abstract

저장 장치는 복수의 블록들을 포함하는 적어도 하나의 불휘발성 메모리 장치, 및 호스트의 요청 또는 서든 파워 오프 정보에 따라, 복수의 블록들 중에서 일부 페이지가 프로그램되는 도중에 중단된 파셜 블록을 검색하고, 파셜 블록에 더미 프로그램 동작의 필요 여부를 판단하고, 판단 결과에 따라 파셜 블록의 나머지 페이지들 중 적어도 하나의 페이지를 더미 데이터로 프로그램 시키도록, 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함한다.

Description

불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법{NONVOLATILE MEMORY DEVICE, STORAGE DEVICE HAVING THE SAME, AND OPERATION METHOD THEROF}
본 발명은 불휘발성 메모리 장치 및 그것을 포함하는 저장 장치에 관한 것으로, 더 상세하게는 저장 장치의 동작 방법에 관한 것이다.
반도체 저장 장치는 크게 휘발성 메모리 장치(Volatile memory device) 및 불휘발성 메모리 장치(Nonvolatile memory device)로 나뉜다. 휘발성 메모리 장치는 전원 공급이 중단되면 저장된 데이터를 소실하는 저장 장치이다. 휘발성 메모리 장치는 DRAM(Dynamic RAM) 및 SRAM(Static RAM)등이 있다. 불휘발성 메모리 장치는 전원이 공급되지 않아도 저장된 데이터를 소실하지 않는 저장 장치이다. 불휘발성 메모리 장치는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable PROM), PRAM(Phase Change Memory), RRAM(Resistive RAM), 및 플래시 메모리(Flash Memory)등이 있다.
최근에, 불휘발성 메모리 장치는 집적도를 향상시킨 3차원 구조로 발전하고 있다. 3차원 구조의 불휘발성 메모리 장치는 쓰기 속도, 셀 수명 및 전력효율이 향상된다. 3차원 구조의 불휘발성 메모리 장치는 기존의 2차원 구조의 불휘발성 메모리 장치와는 구조가 다르다. 3차원 구조의 불휘발성 메모리 장치와 2차원 구조의 불휘발성 메모리 장치의 구조적 차이로 인해, 3차원 구조의 불휘발성 메모리를 구동하기 위한 다양한 방법들이 연구되고 있다.
본 발명의 목적은, 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 저장 장치의 동작 방법을 제공하는 데에 있다.
본 발명의 실시 예에 따른 저장 장치는 복수의 블록들을 포함하는 적어도 하나의 불휘발성 메모리 장치, 및 호스트의 요청 또는 서든 파워 오프 정보에 따라, 복수의 블록들 중에서 일부 페이지가 프로그램되는 도중에 중단된 파셜 블록을 검색하고, 파셜 블록에 더미 프로그램 동작의 필요 여부를 판단하고, 판단 결과에 따라 파셜 블록의 나머지 페이지들 중 적어도 하나의 페이지를 더미 데이터로 프로그램 시키도록, 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함한다.
본 발명의 실시 예에 따른 메모리 컨트롤러는, 파셜 블록을 검색하고, 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 파셜 블록 프로그램 결정기 및 판단 결과에 따라 파셜 블록을 더미 데이터로 프로그램 시키는 더미 데이터 발생기를 포함한다.
본 발명의 실시 예에 따른 파셜 블록 프로그램 결정기는, 파셜 블록에서 프로그램이 완료되지 않은 데이터를 포함하는 비완료 프로그램 페이지의 발생 위치에 따라 더미 프로그램 동작 여부를 결정한다.
본 발명의 실시 예에 따른 적어도 하나의 페이지는, 비완료 프로그램 페이지보다 상부에 위치한 적어도 하나의 클린 페이지 또는 더미 페이지이다.
본 발명의 다른 실시 예에 따른 복수의 블록들을 포함하는 적어도 하나의 불휘발성 메모리 장치 및 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법은, 복수의 블록들 중에서 일부 페이지만 프로그램된 파셜 블록을 인식하는 단계, 및 파셜 블록의 일부 페이지를 제외한 나머지 페이지들 중 적어도 하나의 페이지에 더미 데이터를 이용하여 더미 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 다른 실시 예에 따라 더미 프로그램 동작 후에, 파셜 블록의 유효 데이터를 새로운 블록에 복구하는 카피 백 동작을 수행하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따라 카피 백 동작 후에, 파셜 블록의 데이터를 소거하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따라 더미 프로그램 동작을 수행하기 전에, 파셜 블록에 더미 프로그램 동작의 필요 여부를 판별하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따라 더미 프로그램 동작이 필요하다고 판단되면, 파셜 블록의 적어도 하나의 페이지에 더미 데이터를 프로그램시키는 동작을 수행하고, 더미 프로그램 동작이 필요하지 않다고 판단되면, 새로운 블록에 유효한 데이터를 복구하는 카피 백 동작이 수행된다.
본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 장치는 복수의 메모리 블록들을 포함하는 메모리 셀 어레이, 어드레스에 응답하여 복수의 메모리 블록들 중 어느 하나를 선택하는 어드레스 디코더, 선택된 메모리 블록의 어느 하나의 페이지에 데이터를 프로그램 하거나, 선택된 메모리 블록의 어느 하나의 페이지로부터 읽혀진 데이터를 저장하는 읽기 및 쓰기 회로 및 외부의 요청에 따라, 복수의 메모리 블록들 중에서 일부 페이지가 프로그램되는 도중에 중단된 파셜 블록의 일부 페이지를 제외한 나머지 페이지들 중 적어도 하나의 페이지에 더미 프로그램 동작을 수행하도록 어드레스 디코더와 읽기 및 쓰기 회로를 제어하는 제어 로직을 포함한다.
도 1은 본 발명의 개념 설명을 위한 저장 장치를 예시적으로 보여주는 블록도이다.
도 2는 본 발명의 개념 설명을 위한 저장 장치에 대한 다른 실시 예를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블록도이다.
도 4는 도 3의 메모리 셀 어레이를 보여주는 회로도이다.
도 5는 도 4의 메모리 블록의 일부분을 보여주는 사시도이다.
도 6은 도 5의 메모리 블록의 일부분의 V-V' 선에 따른 단면도이다.
도 7은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제1 실시 예를 보여주는 회로도이다.
도 8은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제2 실시 예를 보여주는 회로도이다.
도 9는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제1 실시 예를 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제2 실시 예를 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 따른 데이터 복구 동작에 대한 제1 실시 예를 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제3 실시 예를 보여주는 블록도이다.
도 13은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제4 실시 예를 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제5 실시 예를 보여주는 블록도이다.
도 15는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제6 실시 예를 보여주는 블록도이다.
도 16은 본 발명의 실시 예에 따른 데이터 복구 동작에 대한 제2 실시 예를 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다.
도 18는 본 발명의 다른 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다.
도 19는 본 발명의 또 다른 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다.
도 20은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(Solid State Drive)를 보여주는 블록도이다.
도 21은 본 발명의 실시 예에 따른 임베디드 멀티 미디어 카드(Embedded Multi Media Card)를 보여주는 블록도이다.
도 22는 본 발명의 실시 예에 따른 컴퓨팅 장치를 보여주는 블록도이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조번호들을 이용하여 인용될 것이다. 아래에서 설명될 본 발명에 따른 게이트 구동 회로와, 그것에 의해 수행되는 동작은 예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
도 1은 본 발명의 개념 설명을 위한 저장 장치를 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 저장 장치(100)는 불휘발성 메모리 장치(110) 및 메모리 컨트롤러(120)를 포함한다.
불휘발성 메모리 장치(110)는 불휘발성 메모리 장치(110)를 관리하기 위한 관리 정보를 저장하는 메타 영역(111) 및 사용자 데이터를 저장하는 사용자 데이터 영역(112)을 포함한다. 사용자 데이터 영역(112)은 복수의 메모리 블록들(BLK1 ~ BLKz, z는 2 이상의 정수)을 포함한다. 복수의 메모리 블록들(BLK1 ~ BLKz)의 각각은 복수의 페이지들(Page 1 ~ Page n, n은 2 이상의 정수)을 포함한다.
메타 영역(111)은 사용자 데이터 영역(112)의 복수의 메모리 블록들(BLK1 ~ BLKz) 각각과 동일한 구조의 적어도 하나의 메모리 블록들을 포함할 수 있다. 예를 들어, 메타 영역(111)은 적어도 하나의 메모리 블록에 포함된 페이지들의 프로그램 완료 여부에 대한 정보를 저장할 수 있다. 메타 영역(111)은 전원 정보를 포함할 수 있다. 메타 영역(111)은 노멀 파워 오프(Normal Power Off, 이하: NOR) 정보를 포함할 수 있다.
실시 예에 따라, 저장된 전원 정보를 근거로 하여 서든 파워 오프(Sudden Power Off, 이하: SPO) 정보가 얻어질 수 있다. 예시적으로, 불휘발성 메모리 장치(110)가 파워 오프가 된 후에, 메타 영역(111)의 전원 정보가 NOR을 지시하지 않는 경우, 불휘발성 메모리 장치(110)의 파워 오프의 원인은 SPO로 판단될 수 있다.
불휘발성 메모리 장치(100)에서, 파워 오프에 의해 프로그램이 중단된 블록을 파셜 블록(Partial Block)이라 한다. 파셜 블록은 모든 페이지들이 프로그램되지 않고, 일부 페이지만이 프로그램된 상태로 방치된 블록을 의미할 수 있다.
메모리 컨트롤러(120)는 전원 정보를 근거로 하여, 파셜 블록의 프로그램 여부를 결정하고, 파셜 블록의 적어도 하나의 페이지에 더미 프로그램 동작을 수행할 수 있다. 메모리 컨트롤러(120)는 파셜 블록 프로그램 결정기(121) 및 더미 데이터 발생기(122)를 포함할 수 있다.
파셜 블록 프로그램 결정기(121)는 불휘발성 메모리 장치(110)의 메타 영역(111)으로부터 전원 정보를 수신할 수 있다. 파셜 블록 프로그램 결정기(121)는 전원 정보에 따라, SPO를 판별하고, 파셜 블록의 프로그램 여부를 판단한다. 파셜 블록 프로그램 결정기(121)의 판단에 따라, 더미 데이터 발생기(122)는 파셜 블록의 적어도 하나의 상위 페이지를 더미 데이터로 프로그램하는 더미 프로그램 동작을 한다.
더미 데이터는 랜덤 데이터(Random Data)일 수 있다. 적어도 하나의 상위 페이지는 프로그램이 완료되지 않은 데이터를 포함하는 페이지보다 상위에 위치할 수 있다.
적어도 하나의 페이지는 클린 페이지(Clean Page)일 수 있고, 더미 페이지(Dummy Page)일 수도 있다. 여기서, 클린 페이지는 데이터가 프로그램되지 않은 페이지를 의미한다. 파셜 블록의 더미 프로그램 동작은 SPO정보에 의해서만 결정되지는 않는다.
도 2는 본 발명의 개념 설명을 위한 저장 장치에 대한 다른 실시 예를 보여주는 블록도이다. 도 2를 참조하면, 저장 장치(200)는 불휘발성 메모리 장치(210), 및 메모리 컨트롤러(220)를 포함한다.
메모리 컨트롤러(220)는 파셜 블록 프로그램 결정기(221), 및 더미 데이터 발생기(222)를 포함할 수 있다. 메모리 컨트롤러(200)는 호스트의 명령 또는 프로그램시 전력 효율을 향상시키기 위해, 파셜 블록의 적어도 하나의 상위 페이지를 더미 데이터로 프로그램 동작을 수행할 수 있다.
도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 불휘발성 메모리 장치(300)는 도1 및 도 2의 불휘발성 메모리 장치(110, 210)와 동일하다. 불휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 어드레스 디코더 (320), 읽기 및 쓰기 회로(330), 그리고 제어 로직 및 전압 생성기(340)를 포함한다.
메모리 셀 어레이(310)는 복수의 스트링 선택 라인들(SSL), 워드 라인들(WL), 및 접지 선택 라인들(GSL)을 통해 어드레스 디코더(320)와 연결된다. 메모리 셀 어레이(310)는 복수의 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(330)와 연결된다. 메모리 셀 어레이(310)는 복수의 메모리 블록들(BLK1 ~ BLKz)을 포함한다. 복수의 메모리 블록들(BLK1 ~ BLKz)은 복수의 메모리 셀들 및 복수의 선택 트랜지스터들을 포함할 수 있다. 복수의 메모리 셀들은 기판 위에 적층되어 3차원 구조를 형성할 수 있다. 복수의 메모리 셀들은 각각 하나 또는 그 이상의 비트를 저장할 수 있다.
어드레스 디코더(320)는 복수의 스트링 선택 라인들(SSL), 워드 라인들(WL), 및 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(310)와 연결된다. 어드레스 디코더(320)는 제어 로직 및 전압 생성기(340)의 제어 신호에 응답하여 동작한다. 어드레스 디코더(320)는 외부로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(320)는 수신한 어드레스(ADDR)를 디코딩할 수 있다. 어드레스 디코더(320)는 디코딩된 어드레스에 따라 워드 라인들(WL)에 인가되는 전압을 제어할 수 있다. 구체적으로 프로그램 시, 어드레스 디코더(320)는 제어 로직 및 전압 발생기(340)의 제어에 따라, 워드 라인들(WL)에 패스 전압을 인가할 수 있다. 프로그램 시, 어드레스 디코더(320)는 제어 로직 및 전압 발생기(340)의 제어에 따라, 워드 라인들(WL) 중 디코딩된 어드레스가 지시하는 선택된 적어도 하나의 워드 라인에 전압을 더 인가할 수 있다.
읽기 및 쓰기 회로(330)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(310)와 연결된다. 읽기 및 쓰기 회로(330)는 외부와 데이터(DATA)를 교환할 수 있다. 읽기 및 쓰기 회로(330)는 제어 로직 및 전압 생성기(340)의 제어 신호에 응답하여 동작한다. 읽기 및 쓰기 회로(330)는 어드레스 디코더(320)로부터 디코딩된 열 어드레스(DCA)를 인가받는다.
읽기 및 쓰기 회로(330)는 디코딩된 열 어드레스(DCA)를 이용하여, 비트 라인들(BL)을 선택할 수 있다. 프로그램 시에, 읽기 및 쓰기 회로(330)는 외부로부터 데이터(DATA)를 수신한다. 읽기 및 쓰기 회로(330)는 수신한 데이터(DATA)를 복수의 비트 라인들(BL)을 통해, 메모리 셀 어레이(310)에 인가한다. 읽기 동작 시에, 읽기 및 쓰기 회로(320)는 메모리 셀 어레이(310)로부터 데이터(DATA)를 읽는다. 읽기 및 쓰기 회로(330)는 읽은 데이터(DATA)를 외부로 전달한다.
예시적으로, 읽기 및 쓰기 회로(330)는 페이지 버퍼 및 열 선택 회로 등을 포함할 수 있다. 다른 예로, 읽기 및 쓰기 회로(330)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등을 포함할 수 있다.
제어 로직 및 전압 생성기(340)는 어드레스 디코더(320) 그리고, 읽기 및 쓰기 회로(330)와 연결된다. 제어 로직 및 전압 생성기(340)는 외부로부터 인가되는 제어 신호(CTRL) 및 커맨드(CMD)에 의해 동작한다. 제어 로직 및 전압 생성기(340)는 제어 로직 및 전압 생성기(340)는 수신한 커맨드(CMD)를 디코딩하고, 디코딩된 커맨드(CMD)에 따라, 불휘발성 메모리 장치(300)의 제반 동작을 제어할 수 있다. 제어 로직 및 전압 생성기(340)는 수신한 제어 신호(CTRL)에 따라, 다양한 제어 신호 및 전압을 생성할 수 있다.
도 4는 도 3의 메모리 셀 어레이를 보여주는 회로도이다. 도 4를 참조하면, 메모리 셀 어레이(310)는 복수의 메모리 블록들(BLK1 ~ BLKz)을 포함한다. 설명의 편의를 위해, 복수의 메모리 블록들(BLK1 ~ BLKz)을 구성하는 회로는 제1 메모리 블록(BLK1)을 중심으로 설명된다. 제2 내지 제z 메모리 블록들(BLK2 ~ BLKz)은 제1 메모리 블록(BLK1)과 동일한 구성을 가질 수 있다.
제1 메모리 블록(BLK1)은 복수의 비트 라인들(BL1 ~ BLp, p는 2 이상의 정수)에 연결된다. 제1 메모리 블록(BLK1)은 복수의 스트링 라인들(SSL1 ~ SSLq, q는 2 이상의 정수), 제1 내지 제6 워드 라인들(WL1 ~ WL6), 더미 워드 라인(DWL), 접지 선택 라인(GSL), 및 공통 소스 라인(CSL)에 연결된다.
스트링 선택 트랜지스터(SST)의 게이트에는 하나의 스트링 라인(SSL1)이 연결된다. 하나의 비트 라인과 제6 메모리 셀(MC6) 사이에는 스트링 트랜지스터(SST)가 연결된다.
제1 내지 제6 메모리 셀들(MC1 ~ MC6)은 직렬로 연결되며, 스트링 선택 트랜지스터(SST)와 더미 메모리 셀(DMC) 사이에 연결된다. 제1 내지 제6 메모리 셀들(MC1 ~ MC6)의 게이트 단자들은 각각 제1 내지 제6 워드 라인들(WL1 ~ WL6)에 연결된다. 메모리 셀은 제1 내지 제6 메모리 셀들(MC1 ~ MC6)로 한정되지 않는다.
더미 메모리 셀(DMC)은 제1 메모리 셀(MC1)과 접지 선택 트랜지스터(GST) 사이에 연결된다. 더미 메모리 셀(DMC)의 게이트 단자는 더미 워드 라인(DWL)에 연결된다. 접지 선택 트랜지스터(GST)는 더미 메모리 셀(DMC)과 공통 소스 라인(CSL) 사이에 연결된다. 접지 선택 트랜지스터(GST)의 게이트는 접지 선택 라인(GSL)에 연결된다.
하나의 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 연결된 접지 선택 트랜지스터(GST), 더미 메모리 셀(DMC), 제1 내지 제6 메모리 셀들(MC1 ~ MC6), 및 스트링 선택 트랜지스터(SST)를 제1 스트링(311)이라 한다. 복수의 비트 라인들(BL1 ~ BLp) 각각에는 복수의 스트링들이 연결된다. 복수의 스트링들의 구성은 제1 스트링(311)과 동일하다.
하나의 스트링은 6개의 메모리 셀들(MC1 ~ MC6)보다 더 많은 메모리 셀들을 포함할 수 있다. 하나의 스트링은 6개의 메모리 셀들(MC1 ~ MC6)보다 더 적은 메모리 셀들을 포함할 수 있다. 스트링 선택 트랜지스터(SST)에는 메모리 셀 대신 복수의 더미 메모리 셀들이 연결될 수 있다. 또한, 제1 메모리 셀(MC1)에는 하나 이상의 더미 메모리 셀이 연결될 수 있다.
도 5는 도 4의 메모리 블록의 일부분을 보여주는 사시도이다. 도 5는 도4의 제1 메모리 블록(BLK1)의 일부분(BLK1a)의 단면도이다. 도 6은 도 5의 메모리 블록의 일부분의 V-V' 선에 따른 단면도이다. 도 5 및 도 6을 참조하면, 제1 메모리 블록(BLK1)의 일부분(BLK1a)은 제1 내지 제3 방향들을 따라 신장된 구조물들을 포함한다.
우선, 기판(411)이 제공된다. 기판(411)은 제1 타입을 갖는 웰(well) 일 것이다. 예를 들면, 기판(411)은 p 타입 불순물로 도핑된 실리콘 물질을 포함할 수 있다. 예를 들면, 기판(411)은 p 웰(또는, p 타입 포켓 웰) 일 것이다. 이하에서, 기판(411)은 p 타입 웰(또는, p 타입 포켓 웰) 인 것으로 가정한다. 그러나, 기판(411)은 p 타입 실리콘으로 한정되지 않는다.
기판(411) 상에, 제1 방향을 따라 신장된 복수의 도핑 영역들(611 ~ 614)이 제공된다. 예를 들면, 복수의 도핑 영역들(611 ~ 614)은 기판(411)과 상이한 제2 타입을 가질 것이다. 예를 들면, 복수의 도핑 영역들(611 ~ 614)은 n 타입을 가질 수 있다. 이하에서, 복수의 도핑 영역들(611 ~ 614)은 n 타입인 것으로 가정한다. 그러나, 복수의 도핑 영역들(611 ~ 614)은 n 타입으로 한정되지 않는다.
제1 및 제2 도핑 영역들(611, 612) 사이의 기판(411)의 영역 상에, 제1 방형을 따라 신장되는 복수의 절연 물질들(412)이 제2 방향을 따라 순차적으로 제공된다. 예를 들면, 복수의 절연 물질들(412)은 제2 방향을 따라 특정 거리만큼 이격되어 제공될 것이다. 복수의 절연 물질들(412)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 수 있다.
제1 및 제2 도핑 영역들(611, 612) 사이의 기판(411)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며 제2 방향을 따라 복수의 절연 물질들(412)을 관통하는 복수의 필라들(413)이 제공된다. 예시적으로, 복수의 필라들(413)은 절연 물질들(412)을 관통하여 기판(411)과 접촉할 것이다.
예시적으로, 각 필라(413)는 복수의 물질들로 구성될 것이다. 예를 들면, 각 필라(413)의 표면층(414)은 제1 타입을 갖는 실리콘 물질을 포함할 것이다. 예를 들면, 각 필라(413)의 표면층(414)은 기판(411)과 동일한 타입을 갖는 실리콘 물질을 포함할 것이다. 이하에서, 각 필라(413)의 표면층(414)은 p 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 각 필라(413)의 표면층(414)은 p 타입으로 한정되지 않는다.
각 필라(413)의 내부층(415)은 절연 물질로 구성될 것이다. 예를 들면, 각 필라(413)의 내부층(415)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다. 각 필라(413)의 내부층(415)은 에어 갭(air gap)을 포함할 수 있다.
제1 및 제2 도핑 영역들(611, 612) 사이의 영역에서, 절연 물질들(412), 필라들(413), 및 기판(411)의 노출된 표면을 따라 절연막(416)이 제공된다. 예시적으로, 제2 방향을 따라 마지막 절연 물질(412)의 제2 방향 쪽의 노출면에 제공되는 절연막(416)은 제거될 수 있다.
제1 및 제2 도핑 영역들(611, 612) 사이의 영역에서, 절연막(416)의 노출된 표면상에 제1 도전 물질들(511 ~ 591)이 제공된다. 예를 들면, 기판(411)에 인접한 절연 물질(412) 및 기판(411) 사이에 제1 방향을 따라 신장되는 제1 도전 물질(511)이 제공된다. 더 상세하게는, 기판(411)에 인접한 절연 물질(412)의 하부면의 절연막(416) 및 기판(411) 사이에, 제1 방향으로 신장되는 제1 도전 물질(511)이 제공된다.
절연 물질들(412) 중 특정 절연 물질 상부면의 절연막(416) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(416) 사이에, 제1 방향을 따라 신장되는 제1 도전 물질이 제공된다. 예시적으로, 절연 물질들(412) 사이에, 제1 방향으로 신장되는 복수의 제1 도전 물질들(521 ~ 581)이 제공된다. 예시적으로, 제1 도전 물질들(511 ~ 591)은 금속 물질일 것이다. 예시적으로, 제1 도전 물질들(511 ~ 591)은 폴리 실리콘 등과 같은 도전 물질들 일 것이다.
제2 및 제3 도핑 영역들(612, 613) 사이의 영역에서, 제1 및 제2 도핑 영역들(611, 612) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제2 및 제3 도핑 영역들(612, 613) 사이의 영역에서, 제1 방향으로 신장되는 복수의 절연 물질들(412), 제1 방향을 따라 순차적으로 배치되며 제3 방향을 따라 복수의 절연 물질들(412)을 관통하는 복수의 필라들(413), 복수의 절연 물질들(412) 및 복수의 필라들(413)의 노출된 표면에 제공되는 절연막(416), 및 제1 방향을 따라 신장되는 복수의 제1 도전 물질들(512 ~ 592)이 제공된다.
제3 및 제4 도핑 영역들(613, 614) 사이의 영역에서, 제1 및 제2 도핑 영역들(611, 612) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제3 및 제4 도핑 영역들(613, 614) 사이의 영역에서, 제1 방향으로 신장되는 복수의 절연 물질들(412), 제1 방향을 따라 순차적으로 배치되며 제3 방향을 따라 복수의 절연 물질들(412)을 관통하는 복수의 필라들(413), 복수의 절연 물질들(412) 및 복수의 필라들(413)의 노출된 표면에 제공되는 절연막(416), 및 제1 방향을 따라 신장되는 복수의 제1 도전 물질들(513 ~ 593)이 제공된다.
복수의 필라들(413) 상에 드레인들(620)이 각각 제공된다. 예시적으로, 드레인들(620)은 제2 타입으로 도핑된 실리콘 물질들을 포함할 것이다. 예를 들면, 드레인들(620)은 n 타입으로 도핑된 실리콘 물질들을 포함할 것이다. 그러나, 드레인들(620)은 n 타입으로 한정되지 않는다.
예시적으로, 각 드레인(620)의 폭은 대응하는 필라(413)의 폭 보다 클 수 있다. 예를 들면, 각 드레인(620)은 대응하는 필라(412)의 상부면에 패드 형태로 제공될 수 있다. 예시적으로, 각 드레인(620)은 대응하는 표면층(414)의 일부까지 연장될 수 있다.
복수의 드레인들(620) 상에 제3 방향으로 신장된 제2 도전 물질들(631 ~ 633)이 제공된다. 제2 도전 물질들(631 ~ 633)은 제1 방향을 따라 특정 거리만큼 이격되어 배치된다. 제2 도전 물질들(631 ~ 633) 각각은 대응하는 영역의 드레인들(620)과 연결된다. 예시적으로, 복수의 드레인들(620) 및 제3 방향으로 신장된 제2 도전 물질들(633)은 각각 콘택 플러그들(contact plug)을 통해 연결될 수 있다. 예시적으로, 제2 도전 물질들(631 ~ 633)은 금속 물질들일 수 있다. 제2 도전 물질들(631 ~ 633)은 폴리 실리콘과 같은 도전 물질들일 수 있다.
도 7은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제1 실시 예를 보여주는 회로도이다. 도 7을 참조하면, 메모리 블록(BLK)은 복수의 비트 라인들(BL1 ~ BLr, r은 2 이상의 정수)에 연결된 복수의 스트링들을 포함한다. 각각의 스트링(String)은 적어도 하나의 스트링 선택 트랜지스터(SST), 복수의 더미 메모리 셀들(DMC1 ~ MC4), 복수의 메모리 셀들(MC1 ~ MCm, m은 2 이상의 정수) 및 적어도 하나의 접지 선택 트랜지스터(GST)를 포함할 수 있다. 복수의 메모리 셀들(MC1 ~ MCm) 각각은 하나 또는 그 이상의 비트의 데이터를 저장할 수 있다.
설명의 편의를 위해, 하나의 스트링(String)은 4개의 더미 메모리 셀들(DMC1 ~ DMC4)을 포함한다고 가정한다.
복수의 워드 라인들(WL1 ~ WLm)의 각각에 복수의 메모리 셀들이 연결될 수 있다. 복수의 워드 라인들(WL1 ~ WLm) 각각에 연결된 복수의 메모리 셀들을 페이지(Page)라 한다. 복수의 워드 라인들(WL1 ~ WLm) 각각에는 구동에 필요한 워드 라인 전압들(예를 들어, 프로그램 전압, 패스 전압, 읽기 전압, 읽기 패스 전압)이 인가될 수 있다.
스트링 선택 라인(SSL)에는 적어도 하나의 스트링 선택 트랜지스터(SST)가 연결될 수 있다. 스트링 선택 라인(SSL)에는 적어도 하나의 스트링 선택 트랜지스터(SST)를 제어하기 위한 스트링 선택 전압이 인가될 수 있다. 접지 선택 라인(GSL)에는 적어도 하나의 접지 선택 트랜지스터(GST)가 연결될 수 있다. 접지 선택 라인(GSL)에는 적어도 하나의 접지 선택 트랜지스터(GST)를 제어하기 위한 접지 선택 전압이 인가될 수 있다.
본 발명의 메모리 블록(BLK)은 제3 워드 라인(WL3)에 연결된 페이지를 프로그램하는 도중에 SPO가 발생한다고 가정한다. SPO가 발생하면, 최상위 워드 라인(WLm)에 연결된 페이지에 더미 데이터 프로그램 동작을 수행할 수 있다. 예시적으로, 더미 데이터를 최상위 워드 라인(WLm)에 연결된 페이지에 프로그램할 수 있다. 최상위 워드 라인(WLm)에 연결된 페이지의 더미 데이터 프로그램 동작을 통해, 메모리 블록(BLK)으로 인가되는 누설 전류(Leakage Current)를 방지할 수 있다.
일반적인 저장 장치는 SPO 발생시 프로그램 중이던 메모리 블록을 더 이상 사용하지 않고, 새로운 메모리 블록이 이전 프로그램 동작을 진행했다. 새로운 메모리 블록을 프로그램 한 다음, 프로그램 검증을 위해 복수의 비트 라인들에는 비트 라인 전압이 인가된다. 이때, SPO발생에 의한 파셜 블록은 스트링 선택 라인에 연결된 복수의 스트링 선택 트랜지스터들에 의해 비트 라인 전압을 차단할 수 있다. 하지만, 파셜 블록의 공통 소스 라인과 스트링 선택 라인 사이에 커플링 현상이 발생한다.
커플링 현상에 의해, 스트링 선택 라인에 연결된 복수의 스트링 선택 트랜지스터들의 비정상적인 턴-온 현상이 발생할 수 있다. 스트링 선택 트랜지스터들은 복수의 비트 라인들을 통해 흐르는 비트 라인 전압을 제대로 차단할 수 없다. 따라서, 각각의 스트링을 통해 다량의 누설 전류가 흐를 수 있다.
파셜 블록에 다량의 누설 전류가 발생하면, 새로운 메모리 블록의 정확한 프로그램 검증 동작이 수행될 수 없다. 파셜 블록에 비정상적으로 흐르는 누설 전류를 방지하기 위해, 적어도 하나의 상위 페이지는 프로그램된다.
SPO에 의해, 프로그램이 완료되지 않은 데이터를 포함하는 페이지보다 상부에 위치한 적어도 하나의 워드 라인에 연결된 페이지는 더미 데이터로 프로그램될 수 있다. 또한, 최상위 워드 라인의 상부에 위치한 적어도 하나의 더미 워드 라인에 연결된 페이지는 더미 데이터로 프로그램될 수 있다.
더미 데이터로 프로그램되는 페이지는 최상위 워드 라인(WLm)에 연결된 페이지로 한정되지 않는다. 최상위 워드 라인(WLm)보다 아래에 위치하는 적어도 하나의 워드 라인에 연결된 페이지는 프로그램될 수 있다. 더미 데이터로 프로그램되는 페이지는 워드 라인에 연결된 페이지로 한정되지 않는다.
도 8은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제2 실시 예를 보여주는 회로도이다. 도 8을 참조하면, 메모리 블록(BLK)은 복수의 스트링들을 포함한다. 각각의 스트링은 적어도 하나의 스트링 선택 트랜지스터(SST), 복수의 더미 메모리 셀들(DMC1 ~ DMC4), 복수의 메모리 셀들(MC1 ~ MCm), 및 적어도 하나의 접지 선택 트랜지스터(GST)를 포함한다. 설명의 편의를 위해, 하나의 스트링은 4개의 더미 메모리 셀들(DMC1 ~ DMC4)을 포함한다고 가정한다.
제2 실시 예에 따라, 본 발명은 제3 워드 라인(WL3)에 연결된 페이지를 프로그램하는 도중에 SPO가 발생했을 때, 제3 더미 워드 라인(DWL3)에 연결된 페이지는 더미 데이터로 프로그램될 수 있다.
제3 더미 워드 라인(DWL3)에 연결된 페이지를 더미 프로그램 동작한 뒤, 새로운 블록에 이전 프로그램 동작을 진행한다. 새로운 블록의 프로그램 검증 동작을 수행하기 위해, 복수의 비트 라인들에 비트 라인 전압을 인가한다. 이때, 복수의 비트 라인들을 통해 인가될 수 있는 누설 전류가 메모리 블록(BLK)의 제3 더미 워드 라인(DWL3)에 연결된 페이지의 더미 프로그램 동작을 통해, 방지될 수 있다.
제2 실시 예에 따라, SPO에 의해 프로그램이 완료되지 않은 페이지는 제3 워드 라인(WL3)에 연결된 페이지로 가정한다. 누설 전류를 방지하기 위해 프로그램되는 페이지는 제3 더미 워드 라인(DWL3)에 연결된 페이지로 한정되지 않는다. SPO가 발생하면, 적어도 하나의 스트링 선택 라인(SSL)과 최상위 워드 라인(WLm) 사이에 존재하는 모든 더미 워드 라인들에 연결된 페이지들은 더미 프로그램 동작이 가능하다.
도 9는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제1 실시 예를 보여주는 블록도이다. 예시적으로, 메모리 블록은 복수의 더미 워드 라인들(DWL1 ~ DLW4) 및 복수의 워드 라인들(WL1 ~ WL23)을 포함한다.
설명의 편의를 위해, 본 발명의 불휘발성 메모리 장치의 데이터 프로그램 방식은 멀티 레벨 셀(Multi Level Cell, 이하: MLC) 기술임을 가정한다. MLC기술은 메모리 블록의 하나의 셀에 2비트의 정보를 저장할 수 있다. 이로 인해, 각각의 메모리 셀은 복수의 프로그램 상태들(E ~ P3)을 지시하는 데이터로 프로그램될 수 있다.
설명의 편의를 위해, 각각의 페이지에 포함된 복수의 셀들은 동일한 프로그램 상태의 데이터로 프로그램된다고 가정한다.
예시적으로, 제1 및 제2 워드라인들(WL1, WL2)에 연결된 페이지들은 각각 제1 및 제2 프로그램 상태(P1, P2)를 지시하는 데이터로 프로그램된다. 제3 워드 라인(WL3)에 연결된 페이지는 제3 프로그램 상태(P3)를 지시하는 프로그램되는 중간에 SPO가 발생했다. 제4 내지 제23 워드 라인들(WL4 ~ WL23)에 연결된 페이지들은 소거상태(E)이다. 따라서, 도 9에 도시된 블록은 파셜 블록이다.
본 발명의 제3 워드 라인(WL3)에 연결된 페이지는 쉐도우 프로그램(Shadow Program) 동작 중간에 SPO가 발생할 수 있다. 본 발명의 제3 워드 라인(WL3)에 연결된 페이지는 재프로그램(Reprogram) 동작 중간에 SPO가 발생할 수 있다.
SPO 발생 후, 파셜 블록은 최상위 워드 라인(WL23)에 연결된 페이지를 최상위 프로그램 상태(P3)를 지시하는 더마 데이터로 프로그램 동작된다. 제4 내지 제22 워드 라인들(WL4 ~ WL22)에 연결된 페이지들은 소거상태(E)로 방치한다.
최상위 워드라인(WL3)에 연결된 페이지를 프로그램 한 후, 새로운 블록에 이전 프로그램 동작을 진행한다. 새로운 블록의 프로그램 검증을 위해, 복수의 비트 라인들을 통해 비트 라인 전압을 인가 할 때, 파셜 블록은 누설 전류를 방지할 수 있다. 본 발명의 파셜 블록은 최상위 워드 라인(WL3)에 연결된 페이지를 더미 프로그램 동작하는 것으로 한정되지 않는다.
파셜 블록에 새로운 프로그램 동작을 수행하기 전에, 모든 페이지들에 포함된 데이터는 소거(Erase)된다.
도 10은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제2 실시 예를 보여주는 블록도이다. 예시적으로, 제3 워드 라인(WL3)에 연결된 페이지를 제3 프로그램 상태(P3)를 지시하는 데이터로 프로그램 동작하는 중간에 SPO가 발생했다.
제3 더미 워드 라인(DWL3)에 연결된 페이지는 제3 프로그램 상태(P3)를 지시하는 더미 데이터로 프로그램 동작된다. 제4 내지 제23 워드 라인들(WL4 ~ WL23)에 연결된 페이지들은 소거 상태(E)로 방치한다. 제3 더미 워드 라인(DWL3)의 프로그램을 통해, 새로운 블록의 프로그램 검증 동작 시 파셜 블록에 발생할 수 있는 누설 전류는 방지된다. 누설 전류를 방지하기 위해, 프로그램되는 페이지는 제3 더미 워드 라인(DWL3)에 연결된 페이지로 한정되지 않는다.
파셜 블록에 새로운 프로그램 동작을 수행하기 전에, 모든 페이지들에 포함된 데이터는 소거된다.
도 9 및 도 10을 참조하면, 본 발명의 SPO는 제3 워드 라인(WL3) 외의 다른 워드 라인을 프로그램 동작하는 도중에 발생할 수 있다. 복수의 워드 라인들(WL1 ~ WL3)에 연결된 페이지들 각각에 수행되는 프로그램 동작이 제1 내지 제3 프로그램 상태들(P1 ~ P3)을 지시하는 데이터로 한정되지 않는다. 각각의 워드 라인에 연결된 페이지는 다양한 프로그램 상태를 지시하는 데이터로 프로그램 동작될 수 있다.
도 9 및 도 10은 설명의 편의를 위해 더미 워드 라인들(DWL1 ~ DWL4)을 4개로 가정한다. 또한, 워드 라인들(WL1 ~ WL23)은 23개로 가정한다.
누설 전류를 방지하기 위해, 사용되는 더미 데이터는 제3 프로그램 상태(P3)를 지시하는 데이터로 한정되지 않는다. 더미 데이터는 랜덤 데이터이다. 더미 데이터는 소거 상태(E)외의 모든 프로그램 상태들을 지시하는 데이터 중에서 랜덤으로 선택될 수 있다.
도 11은 본 발명의 실시 예에 따른 데이터 복구 동작에 대한 제1 실시 예를 보여주는 블록도이다. 도 11을 참조하면, 파셜 블록(BLKa)에는 SPO에 의한 비완료 프로그램 페이지(Incomplete Program Page)가 발생한다고 가정한다. 비완료 프로그램 페이지는 프로그램 동작이 완료되지 않은 데이터를 포함하는 페이지를 의미한다.
비완료 프로그램 페이지 하부에는 적어도 하나의 완료 프로그램 페이지(Complete Program Page) 및 적어도 하나의 더미 페이지(Dummy Page)가 존재한다. 완료 프로그램 페이지는 프로그램 동작이 완료된 데이터를 포함하는 페이지를 의미한다. 비완료 프로그램 페이지의 상부에는 복수의 클린 페이지(Clean Page)들 및 적어도 하나의 더미 페이지가 존재한다. 클린 페이지는 소거 상태의 페이지이다. 본 발명의 비완료 프로그램 페이지는 데이터의 쉐도우 프로그램 동작 중간에 SPO가 발생할 수 있다. 본 발명의 비완료 프로그램 페이지는 데이터의 재프로그램 동작 중간에 SPO가 발생할 수 있다.
도 11을 참조하면, 제1 및 제2 데이터들(Data1, Data2)은 완료 프로그램 페이지들에 정상적으로 프로그램 동작된다. 반면, 비완료 프로그램 페이지는 프로그램 동작이 완료되지 않은 제3 데이터(Data3)를 포함한다.
SPO발생 후, 파셜 블록(BLKa)에는 프로그램이 더 이상 진행되지 않는다. 파셜 블록(BLKa)의 데이터를 복구하기 위해, 새로운 메모리 블록(BLKb)에 파셜 블록(BLKa)에 프로그램되었던 복수의 데이터들(Data1 ~ Data3)을 카피 백한다.
카피 백은 파셜 블록(BLKa)에 저장된 데이터가 유효 데이터인 경우에만 수행한다. 새로운 메모리 블록(BLKb)에 또 다른 SPO가 발생하지 않는다면, 클린 페이지에는 새로운 데이터의 프로그램 동작이 수행된다.
카피 백 이후, 파셜 블록(BLKa)에 포함된 모든 데이터를 소거하는 동작을 수행한다.
도 11을 참조하면, 누설 전류를 방지하기 위해, 최상위 클린 페이지는 더미 프로그램된다. 파셜 블록(BLKa)을 더미 데이터로 추가적인 프로그램 동작을 한 뒤, 새로운 블록(BLKb)은 파셜 블록(BLKa)의 유효 데이터를 카피 백한다. 더미 데이터로 프로그램 동작되는 페이지는 최상위 클린 페이지로 한정되지 않는다.
도 12는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제3 실시 예를 보여주는 블록도이다. SPO가 발생하면, 파셜 블록(BLKa)에 최상위 클린 페이지와 그 아래의 클린 페이지에는 더미 데이터 프로그램 동작이 수행될 수 있다. 본 발명은 여기에 한정되지 않는다. 본 발명은 최상위 클린 페이지 아래에 복수의 클린 페이지들에 더미 프로그램 동작을 수행할 수 있다.
도 13은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제5 실시 예를 보여주는 블록도이다. 도 13을 참조하면, 파셜 블록(BLKa)의 최상위 클린 페이지 위에 위치한 더미 페이지에는 더미 데이터 프로그램 동작이 수행될 수 있다.
도 14는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제6 실시 예를 보여주는 블록도이다. 도 14를 참조하면, 파셜 블록(BLKa)의 최상위 클린 페이지 위에 위치한 복수의 더미 페이지들에는 더미 데이터 프로그램 동작이 수행될 수 있다.
도 15는 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작에 대한 제7 실시 예를 보여주는 블록도이다. 도 15를 참조하면, 파셜 블록(BLKa)의 최상위 클린 페이지 및 그 위에 위치한 더미 페이지에는 더미 데이터 프로그램 동작이 수행될 수 있다. 본 발명은 여기에 한정되지 않는다. 본 발명의 파셜 블록(BLKa)의 복수의 클린 페이지 및 복수의 더미 페이지들에 더미 데이터 프로그램이 수행될 수 있다.
도 12 내지 도 15를 참조하면, 파셜 블록(BLKa)는 비완료 프로그램 페이지보다 상부에 위치한 적어도 하나의 클린 페이지, 또는 적어도 하나의 더미 페이지에는 더미 데이터 프로그램 동작이 수행될 수 있다. 또한, 비완료 프로그램 페이지보다 상부에 위치한 적어도 하나의 클린 페이지와 적어도 하나의 더미 페이지에는 동시에 더미 데이터 프로그램 동작이 수행될 수 있다.
도 12 내지 도15의 비완료 프로그램 페이지는 데이터의 쉐도우 프로그램 동작 중간에 SPO가 발생할 수 있다. 본 발명의 비완료 프로그램 페이지는 데이터의 재프로그램 동작 중간에 SPO가 발생할 수 있다.
도 12 내지 도 15는 도 11과 마찬가지로, 새로운 블록에 파셜 블록(BLKa)의 유효 데이터를 복구 동작이 수행된다. 파셜 블록(BLKa)의 추가적인 더미 프로그램을 통해, 새로운 블록의 프로그램 검증 동작 시, 비트 라인 전압에 의한 누설 전류가 파셜 블록(BLKa)에 흐르는 것을 방지할 수 있다.
도 11 내지 도 15를 참조하면, 프로그램이 완료되지 않은 데이터를 포함하는 페이지는 제3 데이터(Data3)를 포함하는 페이지로 한정되지 않는다. SPO는 더 많은 페이지들의 프로그램 동작 도중에 발생할 수 있다. SPO는 더 적은 페이지들의 프로그램 동작 도중에 발생할 수 있다.
도 16은 본 발명의 실시 예에 따른 데이터 복구 동작에 대한 제2 실시 예를 보여주는 블록도이다. 도 16을 참조하면, 완료 프로그램 페이지들은 프로그램 완료된 제1 내지 제6 데이터들(Data1 ~ Data 6)을 포함한다. 비완료 프로그램 페이지는 프로그램이 완료되지 않은 제k 데이터(Data k)를 포함한다.
도 16은 파셜 블록(BLKa)의 상위 페이지에 프로그램 동작을 하지 않는다고 가정한다. 파셜 블록(BLKa)의 상위 페이지의 프로그램 동작에 대한 판단은 도 1 및 도 2에 도시된 메모리 컨트롤러(120, 220)의 파셜 블록 프로그램 결정기(121, 221)가 수행한다.
예시적으로, 파셜 블록 프로그램 결정기(121, 221)는 호스트의 요청에 의해 파셜 블록(BLKa)의 상위 페이지 프로그램 동작의 필요 여부를 판단할 수 있다.
예시적으로, 파셜 블록 프로그램 결정기(121, 221)는 새로운 블록(BLKb)의 프로그램 검증 동작의 정상적인 완료여부에 따라, 상위 페이지의 프로그램 동작 필요 여부를 판단할 수 있다. 파셜 블록(BLKa)의 프로그램 동작을 중단한 뒤, 파셜 블록(BLKa)의 복수의 데이터들(Data1 ~ Data k, k는 2 이상의 정수)은 새로운 메모리 블록(BLKb)에 카피 백된다. 이때, 복수의 데이터들(Data1 ~ Data k)은 유효 데이터로 가정한다.
새로운 블록(BLKb)에 각각의 유효 데이터를 프로그램한 뒤, 프로그램 검증 동작을 수행한다. 프로그램 검증 동작이 정상적으로 완료된다면, 파셜 블록(BLKa)의 상위 페이지를 프로그램하지 않아도 된다.
예시적으로, 파셜 블록 프로그램 결정기(121, 221)는 파셜 블록(BLKa)의 프로그램된 페이지의 개수에 따라 상위 페이지 프로그램 필요 여부를 판단할 수 있다.
상위 페이지는 비완료 프로그램 페이지 상부에 위치하는 적어도 하나의 클린 페이지 또는 더미 페이지를 의미한다. 새로운 블록(BLKb)의 프로그램 동작 도중에 SPO가 발생하지 않는다면, 완료 프로그램 페이지의 상부에 존재하는 클린 페이지들에 이어서 프로그램이 가능하다.
도 16은 새로운 블록(BLKb)에 파셜 블록(BLKa)의 유효 데이터를 카피 백하는 것을 설명하기 위한 예시적인 도면이다. 파셜 블록(BLKa)의 프로그램 필요 여부는 파셜 블록 프로그램 결정기(121, 221)가 판단한다. 예시적으로, 제1 내지 제k 데이터(Data1 ~ Data k)보다 더 적은 데이터의 프로그램 동작 도중에 SPO가 발생하여도 상위 페이지를 프로그램하지 않을 수 있다.
도 17은 본 발명의 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다. 도 9 내지 도 15 및 도 17을 참조하면, 프로그램 동작 방법은 다음과 같다.
저장 장치(100)에 SPO가 발생한 뒤, 비완료 프로그램 페이지를 포함하는 파셜 블록을 인식하는 동작이 수행될 수 있다(S110). 비완료 프로그램 페이지는 프로그램 동작이 완료되지 않은 데이터를 포함하는 페이지를 의미한다.
비완료 프로그램 페이지를 찾은 후, 파셜 블록의 적어도 하나의 상위 클린 페이지, 또는 최상위 클린 페이지보다 상부에 존재하는 적어도 하나의 더미 페이지에는 더미 데이터 프로그램 동작이 수행된다(S120). 파셜 블록은 모든 페이지에 프로그램 동작이 완료되지 않은 블록이다. 적어도 하나의 상위 클린 페이지는 비완료 프로그램 페이지보다 상부에 위치한다. 적어도 하나의 상위 클린 페이지와 더미 페이지에는 동시에 더미 데이터 프로그램 동작이 수행될 수 있다. 이때, 더미 데이터는 랜덤 데이터이다.
파셜 블록에 프로그램된 유효 데이터는 새로운 블록에 카피 백된다(S130). 카피 백은 파셜 블록의 유효 데이터를 새로운 블록에 복원하는 동작이다. 파셜 블록은 더 이상 프로그램을 진행하지 않는다. 또한, 새로운 블록에 또 다른 SPO가 발생하지 않는다면, 클린 페이지들에 이어서 프로그램할 수 있다.
만약, 새로운 블록에 또 다른 SPO가 발생한다면, 도 17의 프로그램 동작 방법이 새로운 블록에 다시 진행된다.
도 18은 본 발명의 다른 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다. 도 16 및 도 18를 참조하면, 프로그램 동작 방법은 다음과 같다.
저장 장치(100)에 SPO가 발생한 뒤, 전원이 들어오면 비완료 프로그램 페이지를 포함하는 파셜 블록을 인식하는 동작이 수행될 수 있다(S210).
비완료 프로그램 페이지를 찾은 후, 파셜 블록의 상위 페이지의 프로그램 동작의 필요 여부에 대해 판단한다(S220). 파셜 블록은 SPO로 인해 모든 페이지에 프로그램 동작이 완료되지 않은 블록을 의미한다. 프로그램 동작 필요 여부는 도 1및 도 2에 도시된 상위 페이지 프로그램 결정기(121, 221)에서 수행한다.
상위 페이지의 프로그램 동작이 필요하다고 결정되면, 적어도 하나의 상위 클린 페이지 또는 더미 페이지에는 더미 데이터 프로그램 동작이 수행된다(S230). 적어도 하나의 상위 페이지는 비완료 프로그램 페이지보다 상부에 위치하는 적어도 하나의 클린 페이지이다. 더미 페이지는 최상위 클린 페이지보다 상부에 존재할 수 있다.
적어도 하나의 클린 페이지 또는 더미 페이지에 더미 프로그램 동작을 수행한 뒤, 파셜 블록에 프로그램된 유효 데이터를 새로운 블록에 카피 백한다(S240). 비완료 프로그램 페이지의 상위 페이지의 더미 프로그램 동작이 필요하지 않다고 결정되면, 파셜 블록에 프로그램된 유효 데이터를 새로운 블록에 카피 백하는 동작이 바로 진행된다. 새로운 블록에 또 다른 SPO가 발생한다면, 도 19에 도시된 프로그램 과정이 새로운 블록에 다시 진행된다.
도 19는 본 발명의 또 다른 실시 예에 따른 저장 장치의 프로그램 동작 방법을 보여주는 순서도이다. 도 19를 참조하면, 프로그램 동작 방법은 다음과 같다.
새로운 블록에 데이터를 카피 백한다(S310). 데이터는 파셜 블록에 프로그램된 유효한 데이터이다. 파셜 블록은 SPO로 인해 프로그램이 완료되지 않은 메모리 블록이다. SPO 발생 후, 파셜 블록은 더 이상 사용하지 않고, 파셜 블록의 유효한 데이터를 새로운 블록에 카피 백한다.
새로운 블록에 데이터를 카피 백한 뒤, 프로그램 검증 동작을 수행하고, 프로그램 검증 동작이 정상적으로 완료되는지 판단한다(S320). 프로그램 검증을 위해, 복수의 비트 라인들에 비트 라인 전압을 인가한다. 누설 전류는 파셜 블록을 통해 발생할 수 있다. 파셜 블록의 공통 소스 라인과 스트링 선택 라인의 커플링 현상으로 인해, 과다한 누설 전류가 흐를 수 있다.
과다한 누설 전류로 인해, 새로운 블록의 프로그램 검증 동작이 정상적으로 완료되지 않는다면, 파셜 블록에 더미 프로그램 동작을 수행한다(S330). 비완료 프로그램 페이지의 상부에 위치한 적어도 하나의 클린 페이지 또는 적어도 하나의 더미 페이지에 더미 데이터 프로그램 동작을 수행한다. 비완료 프로그램 페이지는 파셜 블록에서 SPO로 인해 데이터의 프로그램 동작이 완료되지 않은 페이지이다.
파셜 블록을 더미 프로그램 동작 한 뒤, 새로운 블록에는 프로그램 검증 동작이 다시 수행된다(S340). 프로그램 검증 동작을 수행한 뒤, 새로운 블록의 클린 페이지에는 데이터의 프로그램 동작이 수행된다(S340). 프로그램 검증 동작이 정상적으로 완료된다면, 새로운 블록에 이어서 데이터를 프로그램하는 동작(S340)이 바로 수행된다.
도 20은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(Solid State Drive)를 보여주는 블록도이다. 도 20을 참조하면, 솔리드 스테이트 드라이브(Solid State Drive, 이하: SSD)(1000)는 복수의 불휘발성 메모리들을 포함하는 불휘발성 메모리 장치(1100) 및 제어기(1200)를 포함한다. 불휘발성 메모리 장치(1100)는 고전압(Vpp)을 제공받을 수 있다.
제어기(1200)는 복수의 채널들(CH1 ~ CHi, i는 2 이상의 정수 )을 통해 불휘발성 메모리 장치(1100)와 연결된다. 제어기(1200)는 적어도 하나의 프로세서(1210), 버퍼 메모리(1220), 에러 정정 회로(1230), 더미 데이터 발생기(1240), 호스트 인터페이스(1250), 및 불휘발성 메모리 인터페이스(1260)를 포함한다. 제어기(1200)는 적어도 하나 이상의 메모리 블록에 대한 상위 페이지 프로그램 여부를 결정짓는다.
버퍼 메모리(1220)는 제어기(1200)의 구동에 필요한 데이터를 임시로 저장한다. 예시적으로, 버퍼 메모리(1220)는 동작 조건에 따른 에러율 테이블(ETR)을 저장할 수 있다. 예시적으로, 버퍼 메모리(1220)는 데이터 또는 명령을 저장하는 복수의 메모리 라인들을 포함할 수 있다.
또한, 버퍼 메모리(1220)는 쓰기 요청시 파인 프로그램 동작에 이용될 데이터를 버퍼링할 수 있다. 도 19에서, 버퍼 메모리(1220)는 제어기(1200) 내부에 존재하지만 여기에 제한되지는 않는다. 버퍼 메모리(1220)는 제어기(1200) 외부에 존재할 수 있다.
에러 정정 회로(1230)는 쓰기 동작에서 프로그램될 데이터의 에러 정정 코드 값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러를 정정하고, 데이터 복구 동작에서 불휘발성 메모리 장치(1100)로부터 복구된 데이터의 에러를 정정할 수 있다.
더미 데이터 발생기(1240)는 더미 데이터를 생성한다. 더미 데이터 발생기(1240)는 더미 데이터 발생기(1240)는 씨드 값을 이용하여 더미 데이터를 발행할 수 있다. 더미 데이터는 랜덤 데이터일 수 있다.
호스트 인터페이스(1250)는 외부의 장치와 인터페이스 기능을 제공할 수 있다. 불휘발성 메모리 인터페이스(1260)는 불휘발성 메모리 장치(1100)와 인터페이스 기능을 제공할 수 있다.
도 21은 본 발명의 실시 예에 따른 임베디드 멀티 미디어 카드(Embedded Multi Media Card)를 보여주는 블록도이다. 도 21을 참조하면, 본 발명은 임베디드 멀티 미디어 카드(Embedded Multi Media Card, 이하:eMMC)(2000)에 적용할 수 있다. eMMC(2000)는 적어도 하나의 낸드 플래시 메모리 장치(2100), 및 제어기(2200)을 포함할 수 있다.
제어기(2200)는 복수의 채널들을 통해 낸드 플래시 메모리 장치(2100)와 연결된다. 제어기(2200)는 적어도 하나의 제어기 코어(2210), 호스트 인터페이스(2250) 및 낸드 인터페이스(2260)를 포함할 수 있다. 적어도 하나의 제어기 코어(2210)는 eMMC(2000)의 전반적인 동작을 제어한다. 호스트 인터페이스(2250)는 제어기 (2200)와 호스트의 인터페이스 기능을 제공할 수 있다. 낸드 인터페이스(2260)는 낸드 플래시 메모리 장치(2100)와 제어기(2200)의 인터페이스 기능을 제공할 수 있다.
예시적으로, 호스트 인터페이스(2250)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 예시적으로, eMMC(2000)의 호스트 인터페이스(2250)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다.
eMMC(2000)는 호스트로부터 제1 및 제2 전원 전압들(Vcc, Vccq)을 제공받는다. 제1 전원 전압(Vcc)은 낸드 플래시 메모리 장치(2100) 및 낸드 인터페이스(2260)에 제공된다. 제2 전원 전압(Vccq)은 제어기(2200)에 제공된다.
도 22는 본 발명의 실시 예에 따른 컴퓨팅 장치를 보여주는 블록도이다. 도 22를 참조하면, 컴퓨팅 장치(3000)는 프로세서(3100), 메모리(3200), 스토리지(3300), 모뎀(3400) 및 사용자 인터페이스(3500)를 포함할 수 있다. 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 예를 들어, 프로세서(3100)는 범용 프로세서 또는 어플리케이션 프로세서일 수 있다.
메모리(3200)는 프로세서(3100)와 통신할 수 있다. 메모리(3200)는 프로세서(3100) 또는 컴퓨팅 장치(3000)의 동작 메모리일 수 있다. 메모리(3200)는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등과 같은 휘발성 메모리, 또는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리 장치를 포함할 수 있다.
스토리지(3300)는 컴퓨팅 장치(3000)에서 장기적으로 저장하고자 하는 데이터를 저장할 수 있다. 스토리지(3300)는 하드 디스크 드라이브(HDD, Hard Disk Drive) 또는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리 장치를 포함할 수 있다.
스토리지(3300)는 도 1 내지 도 17들을 참조하여 설명한 특성을 갖는 불휘발성 메모리 장치일 수 있다. 스토리지(3300)는 도 1 내지 도 17에서 설명한 것과 같이 SPO에 의해 발생한 파셜 블록의 상위 페이지를 프로그램 함으로써, 비트 라인들을 통해 인가될 수 있는 누설 전류를 방지할 수 있다.
예시적으로, 메모리(3200) 및 스토리지(3300)는 동일한 종류의 불휘발성 메모리 장치로 구성될 수 있다. 이때, 메모리(3200) 및 스토리지(3300)는 하나의 반도체 집적 회로로 구성될 수 있다.
모뎀(3400)은 프로세서(3100)의 제어에 따라 외부 장치와 통신을 수행할 수있다. 예를 들어, 모뎀(3400)은 외부 장치와 유선 또는 무선 통신을 수행할 수 있다. 모뎀(3400)은 LTE (Long Term Evolution), 와이맥스(WiMax), GSM(Global System for Mobile communication), CDMA(Code Division Multiple Access), 블루투스(Bluetooth), NFC(Near Field Communication), 와이파이(WiFi), RFID(Radio Frequency IDentification) 등과 같은 다양한 무선 통신 방식들, 또는 USB (Universal Serial Bus), SATA(Serial AT Attachment), SCSI(Small Computer Small Interface), 파이어와이어(Firewire), PCI(Peripheral Component Interconnection) 등과 같은 다양한 유선 통신 방식들 중 적어도 하나에 기반하여 통신을 수행할 수 있다.
사용자 인터페이스(3500)는 프로세서(3100)의 제어에 따라 사용자와 통신할 수 있다. 예를 들어, 사용자 인터페이스(3500)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 등과 같은 사용자 입력 인터페이스들을 포함할 수 있다. 사용자 인터페이스(3500)는 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 인터페이스들을 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 200: 메모리 장치
110, 210: 불휘발성 메모리
120, 220: 메모리 컨트롤러
300: 불휘발성 메모리 장치
310: 메모리 셀 어레이
320: 어드레스 디코더
330: 읽기 및 쓰기 회로
340: 제어 로직 및 전압 생성기
1000: 솔리드 스테이트 드라이브
2000: 임베디드 멀티 미디어 카드
3000: 컴퓨팅 장치

Claims (10)

  1. 복수의 블록들을 포함하는 적어도 하나의 불휘발성 메모리 장치; 및
    호스트의 요청 또는 서든 파워 오프 정보에 따라, 상기 복수의 블록들 중에서 일부 페이지가 프로그램되는 도중에 중단된 파셜 블록을 검색하고, 상기 파셜 블록에 더미 프로그램 동작의 필요 여부를 판단하고, 상기 판단 결과에 따라 상기 파셜 블록의 나머지 페이지들 중 적어도 하나의 페이지를 더미 데이터로 프로그램 시키도록, 상기 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는, 상기 파셜 블록을 검색하고, 상기 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 파셜 블록 프로그램 결정기; 및
    상기 판단 결과에 따라 상기 파셜 블록을 상기 더미 데이터로 프로그램 시키는 더미 데이터 발생기를 포함하고,
    상기 파셜 블록 프로그램 결정기는, 상기 파셜 블록에서 프로그램이 완료되지 않은 데이터를 포함하는 비완료 프로그램 페이지의 발생 위치에 따라 상기 더미 프로그램 동작 여부를 결정하는 저장 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 적어도 하나의 페이지는, 비완료 프로그램 페이지보다 상부에 위치한 적어도 하나의 클린 페이지 또는 더미 페이지인 저장 장치.
  5. 복수의 블록들을 포함하는 적어도 하나의 불휘발성 메모리 장치 및 상기 적어도 하나의 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서:
    상기 복수의 블록들 중에서 일부 페이지만 프로그램된 파셜 블록을 인식하는 단계; 및
    상기 파셜 블록의 상기 일부 페이지를 제외한 나머지 페이지들 중 적어도 하나의 페이지에 더미 데이터를 이용하여 더미 프로그램 동작을 수행하는 단계를 포함하되,
    상기 더미 프로그램 동작을 수행하는 단계는,
    상기 파셜 블록을 검색하고, 상기 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 단계; 및
    상기 파셜 블록의 더미 프로그램 동작이 필요한 것으로 결정되면, 상기 파셜 블록을 상기 더미 데이터로 프로그램 시키는 단계를 포함하고,
    상기 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 단계는, 상기 파셜 블록에서 프로그램이 완료되지 않은 데이터를 포함하는 비완료 프로그램 페이지의 발생 위치에 따라 상기 더미 프로그램 동작 여부를 결정하는 동작 방법.
  6. 제 5 항에 있어서,
    상기 더미 프로그램 동작 후에, 상기 파셜 블록의 유효 데이터를 새로운 블록에 복구하는 카피 백 동작을 수행하는 단계를 더 포함하는 동작 방법.
  7. 제 6 항에 있어서,
    상기 카피 백 동작 후에, 상기 파셜 블록의 데이터를 소거하는 단계를 더 포함하는 동작 방법.
  8. 제 5 항에 있어서,
    상기 더미 프로그램 동작을 수행하기 전에, 상기 파셜 블록에 상기 더미 프로그램 동작의 필요 여부를 판별하는 단계를 더 포함하는 동작 방법.
  9. 제 8 항에 있어서,
    상기 더미 프로그램 동작이 필요하다고 판단되면, 상기 파셜 블록의 상기 적어도 하나의 페이지에 상기 더미 데이터를 프로그램시키는 동작을 수행하고, 상기 더미 프로그램 동작이 필요하지 않다고 판단되면, 새로운 블록에 유효한 데이터를 복구하는 카피 백 동작이 수행되는 동작 방법.
  10. 복수의 메모리 블록들을 포함하는 메모리 셀 어레이;
    어드레스에 응답하여 상기 복수의 메모리 블록들 중 어느 하나를 선택하는 어드레스 디코더;
    상기 선택된 메모리 블록의 어느 하나의 페이지에 데이터를 프로그램 하거나, 상기 선택된 메모리 블록의 어느 하나의 페이지로부터 읽혀진 데이터를 저장하는 읽기 및 쓰기 회로; 및
    외부의 요청에 따라, 상기 복수의 메모리 블록들 중에서 일부 페이지가 프로그램되는 도중에 중단된 파셜 블록의 상기 일부 페이지를 제외한 나머지 페이지들 중 적어도 하나의 페이지에 더미 프로그램 동작을 수행하도록 상기 어드레스 디코더와 상기 읽기 및 쓰기 회로를 제어하는 제어 로직을 포함하되,
    상기 제어 로직은, 파셜 블록을 검색하고, 상기 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 것; 및
    상기 파셜 블록을 더미 데이터로 프로그램 시키는 것을 포함하고,
    상기 파셜 블록의 더미 프로그램 동작의 필요 여부를 결정하는 것은, 상기 파셜 블록에서 프로그램이 완료되지 않은 데이터를 포함하는 비완료 프로그램 페이지의 발생 위치에 따라 상기 더미 프로그램 동작 여부를 결정하는 불휘발성 메모리 장치.
















KR1020140057311A 2014-05-13 2014-05-13 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 KR102272228B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140057311A KR102272228B1 (ko) 2014-05-13 2014-05-13 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US14/596,677 US9659658B2 (en) 2014-05-13 2015-01-14 Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140057311A KR102272228B1 (ko) 2014-05-13 2014-05-13 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20150130638A KR20150130638A (ko) 2015-11-24
KR102272228B1 true KR102272228B1 (ko) 2021-07-06

Family

ID=54539058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140057311A KR102272228B1 (ko) 2014-05-13 2014-05-13 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9659658B2 (ko)
KR (1) KR102272228B1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628722B2 (en) 2010-03-30 2017-04-18 Personify, Inc. Systems and methods for embedding a foreground video into a background feed based on a control input
US9485433B2 (en) 2013-12-31 2016-11-01 Personify, Inc. Systems and methods for iterative adjustment of video-capture settings based on identified persona
KR20160062498A (ko) * 2014-11-25 2016-06-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102245822B1 (ko) 2014-11-26 2021-04-30 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
US9916668B2 (en) 2015-05-19 2018-03-13 Personify, Inc. Methods and systems for identifying background in video data using geometric primitives
KR102491624B1 (ko) * 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
US9653154B2 (en) * 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
KR102435026B1 (ko) * 2015-12-15 2022-08-22 삼성전자주식회사 저장 장치의 동작 방법
KR102452993B1 (ko) * 2016-03-25 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
TWI611410B (zh) * 2016-05-13 2018-01-11 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN105957806B (zh) * 2016-06-08 2018-05-04 天津大学 用于减少非易失性存储器中数据残留的方法
KR102653389B1 (ko) 2016-06-30 2024-04-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102529696B1 (ko) 2016-07-14 2023-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180031851A (ko) 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180031853A (ko) 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180041428A (ko) 2016-10-14 2018-04-24 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그의 동작 방법
US9881207B1 (en) 2016-10-25 2018-01-30 Personify, Inc. Methods and systems for real-time user extraction using deep learning networks
US9921898B1 (en) * 2016-12-27 2018-03-20 Micron Technology, Inc. Identifying asynchronous power loss
KR20180076765A (ko) 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI628542B (zh) * 2017-04-21 2018-07-01 慧榮科技股份有限公司 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
KR102430791B1 (ko) 2017-07-19 2022-08-10 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
KR20190075563A (ko) * 2017-12-21 2019-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI668700B (zh) * 2017-12-22 2019-08-11 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
TWI649755B (zh) * 2017-12-22 2019-02-01 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
KR102430798B1 (ko) * 2018-01-11 2022-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI658462B (zh) * 2018-01-19 2019-05-01 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
KR102475688B1 (ko) * 2018-02-27 2022-12-09 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR102530641B1 (ko) 2018-03-21 2023-05-10 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102565913B1 (ko) 2018-06-12 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법
KR102461751B1 (ko) * 2018-07-31 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102516121B1 (ko) * 2018-10-22 2023-03-31 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
KR102590886B1 (ko) * 2018-10-30 2023-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200053018A (ko) * 2018-11-07 2020-05-18 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치를 액세스하는 방법
KR102654308B1 (ko) 2018-11-26 2024-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200066907A (ko) 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
KR20200113992A (ko) 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치
KR20220053374A (ko) 2020-10-22 2022-04-29 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN112687315B (zh) * 2021-01-04 2022-11-22 长江存储科技有限责任公司 三维存储器及其控制方法
US11800056B2 (en) 2021-02-11 2023-10-24 Logitech Europe S.A. Smart webcam system
US11800048B2 (en) 2021-02-24 2023-10-24 Logitech Europe S.A. Image generating system with background replacement or modification capabilities
KR20220145695A (ko) * 2021-04-22 2022-10-31 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR20220168510A (ko) 2021-06-16 2022-12-23 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11901014B2 (en) * 2022-05-09 2024-02-13 Micron Technology, Inc. Partial block handling in a non-volatile memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090067241A1 (en) * 2007-09-12 2009-03-12 Gorobets Sergey A Data protection for write abort
US20090172247A1 (en) 2007-12-27 2009-07-02 Sandisk Il Ltd. Controller for one type of nand flash memory for emulating another type of nand flash memory
US20120268990A1 (en) 2009-04-12 2012-10-25 Naftali Sommer Selective re-programming of analog memory cells
US20130322171A1 (en) * 2012-05-29 2013-12-05 Ji-Sang LEE Methods of operating nonvolatile memory devices that support efficient error detection

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US7620769B2 (en) * 2000-01-06 2009-11-17 Super Talent Electronics, Inc. Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory
US7181611B2 (en) * 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
JPWO2005083573A1 (ja) * 2004-02-27 2007-11-29 松下電器産業株式会社 半導体メモリ装置
JP2006338370A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
JP4563992B2 (ja) * 2006-12-26 2010-10-20 株式会社京都ソフトウェアリサーチ 多値フラッシュメモリおよび多値フラッシュメモリへのデータ書き込み方法
WO2009004674A1 (ja) * 2007-06-29 2009-01-08 Fujitsu Limited 記憶装置、ディスク装置、書込み判定方法、制御装置
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
JP5150245B2 (ja) * 2007-12-27 2013-02-20 株式会社東芝 半導体記憶装置
US8171205B2 (en) 2008-05-05 2012-05-01 Intel Corporation Wrap-around sequence numbers for recovering from power-fall in non-volatile memory
TW201011755A (en) * 2008-09-10 2010-03-16 Skymedi Corp Flash memory system and its data recovery method
US8732388B2 (en) * 2008-09-16 2014-05-20 Micron Technology, Inc. Embedded mapping information for memory devices
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
JP2010134856A (ja) 2008-12-08 2010-06-17 Nec Corp 不揮発性記憶媒体書込み回路、不揮発性記憶媒体書き込み方法、及びプログラム
US9612954B2 (en) * 2008-12-31 2017-04-04 Micron Technology, Inc. Recovery for non-volatile memory after power loss
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
KR20100107294A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
JP5349104B2 (ja) 2009-03-25 2013-11-20 富士通株式会社 電子機器およびプログラム更新方法
US8250282B2 (en) * 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
KR101143397B1 (ko) * 2009-07-29 2012-05-23 에스케이하이닉스 주식회사 페이지 복사 발생 빈도를 줄이는 반도체 스토리지 시스템 및 그 제어 방법
JP2011048725A (ja) * 2009-08-28 2011-03-10 Panasonic Corp 不揮発性記憶装置および不揮発性メモリコントローラ
US8144512B2 (en) * 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
JP5085744B2 (ja) 2011-01-05 2012-11-28 株式会社東芝 半導体記憶装置
US8738844B2 (en) * 2011-04-14 2014-05-27 Macronix International Co., Ltd. Program method, data recovery method, and flash memory using the same
JP2013003655A (ja) 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置
JP2013008078A (ja) 2011-06-22 2013-01-10 Yokogawa Electric Corp フィールド機器
KR20130049330A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 메모리 관리 기법
JP5766137B2 (ja) 2012-02-29 2015-08-19 ルネサスエレクトロニクス株式会社 半導体装置
KR101962786B1 (ko) 2012-03-23 2019-03-27 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
JP2013218371A (ja) 2012-04-04 2013-10-24 Seiko Epson Corp 情報処理装置及び情報処理装置におけるデータ記憶処理方法
TWI479314B (zh) * 2012-08-30 2015-04-01 Phison Electronics Corp 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
US8661301B1 (en) * 2012-09-07 2014-02-25 Storart Technology Co. Ltd. Method for dodging bad page and bad block caused by suddenly power off
KR102117929B1 (ko) * 2013-09-10 2020-06-02 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
KR102242022B1 (ko) 2013-09-16 2021-04-21 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US9305655B2 (en) * 2013-09-27 2016-04-05 Virtium Technology, Inc. Solving MLC NAND paired page program using reduced spatial redundancy
CN104571933B (zh) * 2013-10-18 2017-10-13 光宝科技股份有限公司 具固态储存元件的电子装置及其相关控制方法
KR20150053092A (ko) * 2013-11-07 2015-05-15 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
US20150170747A1 (en) * 2013-12-17 2015-06-18 Skymedi Corporation Method and system for programming a multi-bit per cell non-volatile memory
US9495101B2 (en) * 2014-01-29 2016-11-15 Sandisk Technologies Llc Methods for balancing write operations of SLC blocks in different memory areas and apparatus implementing the same
US8819337B1 (en) * 2014-04-16 2014-08-26 Sandisk Technologies Inc. Storage module and method for determining whether to back-up a previously-written lower page of data before writing an upper page of data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090067241A1 (en) * 2007-09-12 2009-03-12 Gorobets Sergey A Data protection for write abort
US20090172247A1 (en) 2007-12-27 2009-07-02 Sandisk Il Ltd. Controller for one type of nand flash memory for emulating another type of nand flash memory
US20120268990A1 (en) 2009-04-12 2012-10-25 Naftali Sommer Selective re-programming of analog memory cells
US20130322171A1 (en) * 2012-05-29 2013-12-05 Ji-Sang LEE Methods of operating nonvolatile memory devices that support efficient error detection

Also Published As

Publication number Publication date
KR20150130638A (ko) 2015-11-24
US20150332770A1 (en) 2015-11-19
US9659658B2 (en) 2017-05-23

Similar Documents

Publication Publication Date Title
KR102272228B1 (ko) 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR102435026B1 (ko) 저장 장치의 동작 방법
US9959933B2 (en) Non-volatile memory devices and methods of operating the same
KR102355580B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR102102224B1 (ko) 저장 장치 및 그것의 프로그램 방법
KR102248267B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 및 읽기 방법들
KR102222463B1 (ko) 저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들
US9892792B2 (en) Operating method of a nonvolatile memory device
KR101842507B1 (ko) 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 제어하는 방법
KR102154620B1 (ko) 비휘발성 메모리 장치의 소거 방법 및 그것을 포함하는 저장 장치
KR102210520B1 (ko) 비휘발성 메모리 장치 및 그것의 소거 방법
KR102293169B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR102358463B1 (ko) 불휘발성 메모리 장치의 동작 방법
US9165660B2 (en) Non-volatile memory devices and related operating methods
CN105988938B (zh) 存储系统及其操作方法
KR101903440B1 (ko) 비휘발성 메모리 장치 및 그것의 접지 선택 트랜지스터의 문턱전압 조절 방법
US10283204B2 (en) Methods of operating nonvolatile memory devices including erasing a sub-block
US20160179625A1 (en) Data storage device and operating method thereof
US10680005B2 (en) Nonvolatile memory device, method of operating nonvolatile memory device and storage device including the same
US20180068730A1 (en) Semiconductor memory device and method of operating the same
KR20180027276A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20150060144A (ko) 비휘발성 메모리 장치의 동작 방법
US9852796B2 (en) Nonvolatile memory devices and methods of operating the same
KR102375365B1 (ko) 비휘발성 메모리 장치, 그것의 프로그램 방법, 및 그것을 포함하는 저장 장치
CN111128280B (zh) 存储装置及其操作方法

Legal Events

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