KR20100107294A - 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법 - Google Patents

불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법 Download PDF

Info

Publication number
KR20100107294A
KR20100107294A KR1020090025510A KR20090025510A KR20100107294A KR 20100107294 A KR20100107294 A KR 20100107294A KR 1020090025510 A KR1020090025510 A KR 1020090025510A KR 20090025510 A KR20090025510 A KR 20090025510A KR 20100107294 A KR20100107294 A KR 20100107294A
Authority
KR
South Korea
Prior art keywords
memory cells
state
program
bit data
memory
Prior art date
Application number
KR1020090025510A
Other languages
English (en)
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 KR1020090025510A priority Critical patent/KR20100107294A/ko
Priority to US12/722,718 priority patent/US8331145B2/en
Publication of KR20100107294A publication Critical patent/KR20100107294A/ko
Priority to US13/688,249 priority patent/US8537612B2/en

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
    • 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

Abstract

본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법은 하위 비트 데이터에 기초하여 메모리 셀들을 제 1 상태의 메모리 셀들로 프로그램하는 단계, 상기 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높은 검증 전압을 갖는 제 2 상태의 메모리 셀들로 프로그램하는 단계, 및 상기 제 2 상태의 메모리 셀들을 상위 비트 데이터에 기초하여 상기 제 2 상태보다 높은 검증 전압을 갖는 제 3 상태의 메모리 셀들로 선택적으로 프로그램하는 단계를 포함한다.

Description

불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법{MEMORY SYSTEM INCLUDING NONVOLATILE MEMORY DEVICE AND PROGRAMING METHOD OF NONVOLATILE MEMORY DEVICE}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치에는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리 등이 있다. 휘발성 메모리는 전원이 차단될 때 저장된 데이터를 잃지만, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면 MP3 플레이어, 디지털 카메라, 휴대전화, 캠코더, 플래시 카드 및 SSD(Solid State Disk) 등은 저장장치로 비휘발성 메모리를 사용하고 있다.
저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 메모리 용량을 증가시키는 방법들 중 하나는 하나의 메모리 셀(cell)에 다수의 비트들을 저장하는 방식인 이른바 멀티 레벨 셀(MLC:Multi Level Cell) 방식이다.
그러나 MLC 방식에 의한 프로그램 방법은 메모리 셀에 이미 기입되어 있는 하위 비트의 데이터가 해당 메모리 셀에 입력되는 상위 비트의 데이터와 섞여서 손실되는 것과 같은 오류를 유발할 수 있다. 예를 들어, 상위 비트의 프로그램 중에 서든 파워 오프(SPO; Sudden Power Off)나 프로그램 페일(Program fail)이 발생할 경우, 기존에 메모리 셀에 기입되어 있던 하위 비트의 데이터가 해당 메모리 셀에 입력되는 상위 비트의 데이터의 영향을 받아 값이 변하는 문제가 있다.
본 발명은 상술한 기술적 과제를 해결하기 위해 제안된 것으로, 본 발명의 목적은 상위 비트 프로그램 시에 하위 비트 데이터를 보호하는 프로그램 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법은 하위 비트 데이터에 기초하여 메모리 셀들을 제 1 상태로 프로그램하는 단계, 상기 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높은 검증 전압을 갖는 제 2 상태로 프로그램하는 단계; 및 상위 비트 데이터에 기초하여 상기 제 2 상태의 메모리 셀들을 상기 제 2 상태보다 높은 문턱 전압을 갖는 제 3 상태의 메모리 셀들로 선택적으로 프로그램하는 단계를 포함한다.
실시 예로서, 상기 제 2 상태의 메모리 셀들은 상위 비트 데이터에 따라 상 기 제 2 상태를 유지하는 것을 포함한다.
실시 예로서, 상기 제 2 상태의 메모리 셀들의 검증 전압은 상기 제 1 상태의 메모리 셀들의 검증 전압보다 높고, 상기 제 3 상태의 메모리 셀들의 검증 전압보다 낮은 것을 포함한다.
실시 예로서, 상기 제 1 상태의 메모리 셀들을 상기 제 2 상태의 메모리 셀들로 프로그램하는 프로그램 동작에 의하여, 메모리 셀들에 저장된 하위 비트 데이터가 보호되는 것을 포함한다.
실시 예로서, 상기 제 1상태의 메모리 셀들을 상기 제 2 상태의 메모리 셀들로 프로그램하는 단계는, 상기 제 1 상태의 메모리 셀들을 판독하고, 판독된 결과에 따라 선택적으로 상기 제 1 상태의 메모리 셀들을 상기 제 1 상태의 메모리 셀들보다 높은 문턱 전압을 갖는 상기 제 2 상태의 메모리 셀들로 프로그램하는 것을 포함한다.
실시 예로서, 상기 메모리 셀들은 적어도 2 비트 데이터 이상을 저장하는 것을 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은 M-비트 데이터(M은 2 또는 그보다 큰 정수)로 메모리 셀들을 프로그램하는 단계, 상기 M-비트 데이터의 각각의 상태들에 대응하는 각각의 메모리 셀들을, 상기 M-비트 데이터의 각각의 상태들의 검증 전압보다 높은 검증 전압을 갖는 각각의 상태들(이하, 각각의 제 1 상위 상태들)로 프로그램하는 단계, 그리고 상기 M-비트 데이터보다 상위 비트 데이터(이하, M+1 비트 데이터)에 기초하여, 상기 각각의 제 1 상위 상 태들에 대응하는 메모리 셀들을, 상기 각각의 제 1 상위 상태들의 문턱 전압보다 높은 문턱 전압을 갖는 각각의 상태들(이하, 각각의 제 2 상위 상태들)로 프로그램한다.
실시 예로서, 상기 각각의 제 1 상위 상태들로 프로그램하는 단계에 의하여, 메모리 셀들에 저장된 상기 M-비트 데이터가 보호된다.
본 발명의 실시 예에 따른 메모리 시스템은 휘발성 메모리 장치; 및 상기 불휘발성 메모리 장치를 제어하는 컨트롤러를 포함하되, 상기 불휘발성 메모리 장치는 메모리 셀 어레이; 상기 메모리 셀 어레이에 데이터를 입출력하는 데이터 입출력 회로; 그리고 상기 데이터 입출력 회로를 제어하는 프로그램 컨트롤 로직을 포함하고, 상기 프로그램 컨트롤 로직은 하위 비트 데이터에 기초하여 메모리 셀들을 제 1 상태의 메모리 셀들로 프로그램하고, 상기 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높은 문턱 전압을 갖는 제 2 상태의 메모리 셀들로 프로그램하고, 상기 제 2 상태의 메모리 셀들을 상위 비트 데이터에 기초하여 선택적으로 상기 제 2 상태보다 높은 문턱 전압을 갖는 제 3 상태의 메모리 셀들로 프로그램하는 것을 포함한다.
실시 예에 있어서, 상기 프로그램 컨트롤 로직은 상기 컨트롤러에 포함된다.
본 발명에 의하면, 상위 비트 데이터 프로그램하는 도중에 서든 파워 오프가 발생한 경우에 메모리 셀에 기입되어 있는 하위 비트 데이터를 정확하게 판별하여 복구할 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명의 실시 예에 따른 플래시 메모리를 보여주는 블록도이다. 도 1을 참조하면, 플래시 메모리(100)는 메모리 셀 어레이(Memory Cell Array)(110),어드레스 디코더(Address Decoder)(120), 데이터 입출력 회로(Data input output circuit)(130), 프로그램 컨트롤 로직(PGM Control Logic)(140)을 포함한다.
메모리 셀 어레이(110)는 스트링 선택 트랜지스터(SST, 111), 메모리 셀(112), 접지 선택 트랜지스터(GST, 113)를 포함한다. 메모리 셀(112)은 워드라인(WL)을 통하여 어드레스 디코더(120)에 연결되어 있다. 하나의 메모리 셀에 하나의 비트를 저장하는 방식인 단일 레벨 셀(SLC ; Single Level Cell) 방식에 있어서, 하나의 워드라인에 연결된 메모리 셀들의 집합은 페이지(page, 114)를 구성한다. 그러나 MLC 방식에 있어서, 하나의 워드라인에 연결된 메모리 셀들의 집합은 복수의 페이지(page)들을 구성한다. 예시적으로, 2 비트 멀티 레벨 셀 방식(MLC)에 있어서, 하나의 워드라인에 연결된 메모리 셀들의 집합은 2개의 페이지(page)들을 포함한다.
스트링 선택 트랜지스터(SST, 111)의 게이트는 스트링 선택 라인(SSL)을 통하여 어드레스 디코더(Address Decoder)(110)에 연결된다. 스트링 선택 트랜지스터의 드래인은 비트 라인(BL1~BLn)을 통하여 데이터 입출력 회로(130)에 연결된다. 각각의 페이지(114)는 워드라인(WL1~WLm)을 통하여 어드레스 디코더(110)에 연결된다. 접지 선택 트랜지스터(113)는 접지 선택 라인(GSL)을 통하여 어드레스 디코더(120)에 연결된다.
어드레스 디코더(120)는 워드 라인들(WL1~WLm)을 통하여 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 프로그램 컨트롤 로직(PGM Control Logic)(140)에 의하여 제어된다. 어드레스 디코더(120)는 외부로부터 어드레스(ADDR)를 전달받는다. 예시적으로 어드레스(ADDR)는 행 어드레스(row address)와 열 어드레스(column address)를 포함한다. 어드레스 디코더(120)는 행 어드레스를 디코딩하여 워드 라인들(WL)을 선택한다. 어드레스 디코더(120)는 열 어드레스를 디코딩하여 데이터 입출력 회로(130)에 전달하고, 데이터 입출력 회로(130)는 디코딩된 열 어드레스에 응답하여 비트 라인들(BL)을 선택한다.
데이터 입출력 회로(Data input/output circuit)(130)는 프로그램 컨트롤 로직(140)의 제어에 따른다. 데이터 입출력 회로(130)는 비트 라인을 통하여 메모리 셀 어레이(110)에 연결된다. 데이터 입출력 회로(130)는 외부로부터 데이터(DATA)를 전달받는다. 데이터 입출력 회로(130)는 전달받은 데이터를 메모리 셀 어레이(110)에 저장한다. 데이터 입출력 회로(130)는 메모리 셀 어레이(110)에 저장된 데이터(DATA)를 읽는다. 데이터 입출력 회로(130)는 읽은 데이터를 외부에 전달한다.
예시적으로, 데이터 입출력 회로(130)는 열 선택 게이트, 페이지 버퍼, 데이터 버퍼 등과 같은 잘 알려진 구성 요소들을 포함할 것이다. 다른 예로써, 데이터 입출력 회로(130)는 열 선택 게이트, 쓰기 드라이버, 감지 증폭기, 데이터 버퍼 등과 같은 잘 알려진 구성 요소들을 포함할 것이다.
프로그램 컨트롤 로직(PGM control logic)(140)은 외부의 제어 신호에 따라동작한다. 프로그램 컨트롤 로직(140)은 데이터 입출력 회로(130)와 어드레스 디코더(120)를 제어한다. 예시적으로, 프로그램 컨트롤 로직(140)은 상위 비트 프로그램 동작, 하위 비트 프로그램 동작을 제어한다. 본 발명에 따른 실시 예에서, 프로그램 컨트롤 로직(140)은 1단계 MSB 프로그램 동작을 제어할 수 있다. 이하에서는 프로그램 방법이 자세히 설명된다.
도 2 및 도 3은 프로그램 방법을 설명하기 위한 것이다.
먼저, 도 2는 프로그램 과정에 따른 메모리 셀들의 문턱 전압들의 분포를 예시적으로 보여주는 다이어그램이다. 도 2(a)는 하위 비트 데이터(LSB)가 메모리 셀에 프로그램된 상태를 보여주는 다이어그램이다. 도 2(b)는 상위 비트 데이터(MSB)의 프로그램 동작이 완료된 경우의 메모리 셀들의 상태를 나타낸다.
본 발명에 따른 실시 예에 있어서, 도 2(a) 및 도 2(b)의 가로축은 메모리 셀들의 문턱 전압들의 분포를 나타내고, 세로 축은 메모리 셀들의 개수를 나타낸다. 각각의 메모리 셀들은 각각의 문턱 전압의 분포에 따라 4개의 상태들(11, 01, 00, 10) 중 어느 하나를 갖도록 프로그램된다.
한편, 메모리 셀의 상태는 문턱 전압의 레벨에 따라 다양하게 정의될 수 있다. 예를 들어 각각의 메모리 셀들은 (11, 10, 00, 01)의 4개의 상태 중 어느 하나를 갖도록 프로그램될 수 있다.
도 2(a)를 참조하면, 도 2(a)는 하위 비트 데이터(LSB)가 메모리 셀에 프로그램된 상태를 보여주는 다이어그램이다. 도 2(a)에서 E는 프로그램되지 않고 소거 상태에 있는 메모리 셀들의 분포를 나타낸다. P0는 하위 비트 데이터가 프로그램된 메모리 셀들의 분포를 나타낸다. VR1은 프리 읽기 동작에서의 읽기전압을 의미한다. Vread는 프리 읽기 동작에서의 패스전압을 의미한다. 프리 읽기 동작은 이후에 설명된다.
하위 비트 데이터의 프로그램 동작이 요구되면, 데이터 입출력 회로(130)는 외부로부터 로드(load)된 데이터를 내부의 페이지 버퍼(도시되지 않음)에 임시로 저장한다. 페이지 버퍼는 로드된 데이터에 대응하는 전압을 비트 라인(BL)에 인가한다. 예시적으로 페이지 버퍼는 로드된 데이터가 논리 하이(데이터'1')인 경우에 비트 라인에 프로그램 금지 전압(Vcc)을 인가한다. 페이지 버퍼는 로드된 데이터가 논리 로우(데이터 '0')인 경우에 접지전압을 비트 라인(BL)에 인가한다.
하위 비트 데이터의 프로그램 동작이 요구되면, 어드레스 디코더(120)는 선택 워드 라인(WL)에 프로그램 전압(Vpgm)을 인가한다. 어드레스 디코더(120)는 비선택 워드 라인(WL)에 패스 전압(Vpass)을 인가한다.
예시적으로, 워드 라인(WL1)에 연결된 메모리 셀들(114)이 프로그램된다고 가정한다. 페이지 버퍼에 로드된 데이터가 논리 로우(데이터'0')인 경우, 페이지 버퍼는 비트 라인을 통하여 연결된 메모리 셀에 접지전압을 인가한다. 어드레스 디코더(120)는 선택 워드 라인(WL1)을 통하여 선택 페이지의 메모리 셀들(114)에 프로그램 전압(Vpgm)을 인가한다. 어드레스 디코더(120)는 비선택 워드 라인(WL2~ WLm)을 통하여 비선택 페이지(page)의 메모리 셀들에 패스 전압(Vpass)을 인가한다. 이 경우, 선택 페이지(page)의 메모리 셀들(114)은 F-N 터널링 현상에 의하여 프로그램된다.
한편, 페이지 버퍼에 로드된 데이터가 논리 하이(데이터'1')인 경우, 페이지 버퍼는 비트 라인을 통하여 연결된 메모리 셀에 프로그램 금지 전압(Vcc)을 인가한다. 어드레스 디코더(120)는 선택 워드 라인(WL1)을 통하여 선택 페이지의 메모리 셀들(114)에 프로그램 전압(Vpgm)을 인가한다. 어드레스 디코더(120)는 워드 라인(WL2~ WLm)을 통하여 비선택 페이지(page)의 메모리 셀들에 패스 전압(Vpass)을 인가한다. 이 경우, 해당 메모리 셀은 프로그램 금지 전압(Vcc)에 의하여 F-N 터널링이 일어날 정도의 전계가 생성되지 않아 프로그램되지 않는다.
프로그램 후에는 검증 읽기(Verify Read) 동작이 수행된다. 검증 읽기 동작에서는 프로그램된 메모리 셀들이 요구되는 문턱 전압을 갖는 지의 여부가 검증된다. 프로그램 검증 결과, 프로그램된 메모리 셀들이 요구되는 문턱 전압을 갖지 않는 경우, 프로그램 전압(Vpgm)이 증가하고 다시 프로그램 동작이 수행된다.
하위 비트 데이터가 프로그램된 메모리 셀들은 상위 비트 데이터가 프로그램된 메모리 셀들에 비하여 넓은 문턱 전압 분포(P0)를 갖는다. 메모리 셀들의 넓은 문턱 전압 분포는 메모리 셀들에 고전압의 프로그램 전압(Vpgm)을 전달하였기 때문이며, 이는 프로그램 속도를 향상시키기 위한 것이다.
한편, 도 2(a)에서 설명된 하위 비트 데이터의 프로그램 방법은 본 발명이 적용되는 일 예에 불과하고 다양한 형태로 변경될 수 있다. 예를 들면, 페이지 버 퍼에 로드된 데이터가 논리 로우(데이터'0')인 경우에 페이지 버퍼는 해당 메모리 셀에 프로그램 금지 전압(Vcc)을 인가할 수 있다. 페이지 버퍼에 로드된 데이터가 논리 하이(데이터'1')인 경우에 페이지 버퍼는 해당 메모리 셀에 접지전압을 인가할 수 있다.
도 2(b)를 참조하면, 도 2(b)는 상위 비트 데이터(MSB)의 프로그램 동작이 완료된 경우의 메모리 셀들의 상태를 나타낸다. 상위 비트 데이터의 프로그램 동작은 크게 초기화 동작, 프리 읽기 동작(pre-read operation), 데이터 로딩 동작, 그리고 프로그램 동작을 포함한다.
초기화 동작은 페이지 버퍼의 래치를 프로그램 금지 상태에 해당하도록 세팅하는 단계이다. 데이터 입출력 회로(130)의 페이지 버퍼는 래치(도시되지 않음)를 포함한다. 페이지 버퍼는 하나의 비트 라인에 연결되어있으며 2개의 래치(제 1래치, 제 2래치)를 포함한다. 한편, 제 1 래치와 제 2 래치를 포함하는 래치는 본 발명의 하나의 실시 예에 지나지 않으며, 이는 다양한 형태로 변형될 수 있다. 예를 들면, 멀티 비트 플래시 메모리 장치는 단일의 래치 구조를 포함할 수 있다.
래치의 초기화가 수행되고 나면, 데이터 입출력 회로(130)는 선택 페이지(page)의 메모리 셀들에 프로그램된 데이터를 읽는다. 이러한 읽기 동작을 "프리 읽기 동작(pre-read operation)"이라 칭한다.
프리 읽기 동작에 따르면, 데이터 입출력 회로(130)는 비트 라인(BL)들에 전원 전압(Vcc)을 프리 차지(pre-charge)시킨다. 어드레스 디코더(120)는 선택 워드 라인(WL1)을 통하여 읽기 전압(VR1)을 메모리 셀 어레이(110)의 메모리 셀들에 전 달한다. 어드레스 디코더(120)는 비선택 워드 라인(WL2~WLm)을 통하여 메모리 셀 어레이(110)의 메모리 셀들에 패스 전압(Vread)을 전달한다.
프리 읽기 동작에서는, 메모리 셀의 문턱 전압 분포가 '1'의 소거 상태(E)에 있는지, 해당 메모리 셀의 문턱 전압 분포가 '0'의 프로그램 상태(P0)에 있는지 판단된다. 예시적으로, 프리 읽기 구간에서 메모리 셀이 턴 온(turn on)되는 경우, 해당 메모리 셀은 읽기 전압(VR1)보다 낮은 문턱 전압을 갖는 '1'의 소거 상태(E)에 있는 것으로 판별될 것이다. 프리 읽기 구간에서 메모리 셀이 턴 오프(turn off)되는 경우, 해당 메모리 셀은 읽기 전압(VR1)보다 높은 문턱 전압을 갖는 '0'의 프로그램 상태(P0)에 있는 것으로 판단될 것이다. 판단된 하위 비트 데이터는 페이지 버퍼의 제1 래치(도시되지 않음)에 저장될 것이다.
프리 읽기 동작이 완료되면, 상위 비트 데이터(MSB)가 데이터 입출력 회로(130)에 전달될 것이다. 이를 "데이터 로딩 동작"이라 칭한다. 이는 프로그램 컨트롤 로직(140)의 제어에 따른다. 데이터 로딩 동작에 따르면, 상위 비트 데이터는 데이터 입출력 회로(130)의 페이지 버퍼의 제 2 래치에 로딩될 것이다.
데이터 로딩 동작이 완료되면, 프로그램 동작 및 프로그램 검증 동작이 수행될 것이다. 상위 비트 데이터의 프로그램 동작 및 프로그램 검증 동작은 하위 비트 데이터의 프로그램 동작 및 프로그램 검증 동작과 유사하다.
상위 비트 데이터의 프로그램 단계에서는, 프로그램 전압(Vpgm)이 증가형 스텝 펄스 프로그래밍(ISPP; Incremental Step Pulse Programing)에 의거 선택 워드 라인을 통하여 메모리 셀들에 인가될 것이다. 증가형 스텝 펄스는 4개의 프로그램 상태에 대응하는 문턱 전압 분포들이 각각 정해진 문턱 전압 윈도우 내에 존재하도록 프로그램하기 위하여 사용된다. 증가형 스텝 펄스 프로그래밍은 단계적으로 증가하는 프로그램 전압(Vpgm)이 인가되고, 이후에는 검증전압이 인가되는 루프를 반복하는 프로그램 방식이다.
한편, 설명한 상위 비트 데이터의 프로그램 동작은 본 발명의 일 실시 예에 불과한 것으로 이는 다양하게 응용되어 활용될 수 있다. 예시적으로, 프리 읽기 동작과 데이터 로딩 동작은 제 1래치(도시되지 않음)와 제 2래치(도시되지 않음)를 이용하여 동시에 수행될 수 있다.
다시 도 2(b)를 참조하면, 상위 비트 데이터가 1인 경우, 문턱 전압 분포가 P0 상태에 있는 메모리 셀들은 문턱 전압 분포가 P3 상태에 있는 메모리 셀들로 프로그램(Program1)된다. 상위 비트 데이터가 0인 경우, 문턱 전압 분포가 P0 상태에 있는 메모리 셀들은 문턱 전압 분포가 P2 상태에 있는 메모리 셀들로 프로그램(Program)된다.
한편, 소거 상태에 있는 메모리 셀(E)들은 상위 비트 데이터가 0인 경우 문턱 전압 분포가 P1 상태에 있는 메모리 셀들로 프로그램(Program3)된다. 상위 비트 데이터가 '1'인 경우, 소거 상태에 있는 메모리 셀들은 소거 상태(E)를 그대로 유지한다.
도 2(a)와 도 2(b)를 비교하면, 도 2(b)의 P1 상태에 있는 메모리 셀들 중 'A 구간'에 속하는 메모리 셀들은 하위 비트 데이터로 '1'을 갖는다. 그러나 도 2(a)에서 P0 상태에 있는 메모리 셀들 중 'A 구간'에 속하는 메모리 셀들은 하위 비트 데이터로 '0'을 갖는다. 따라서 MSB 프로그램 동작 중에 서든 파워 오프(Sudden Power Off)등이 발생한 경우에, 'A 구간'에 해당하는 문턱 전압을 갖는 메모리 셀들은 하위 비트 데이터를 정확하게 판별하여 복구할 수 없다.
예를 들면 MSB 프로그램 중에 서든 파워 오프가 발생했다고 가정한다. 서든 파워 오프에 의하여 프로그램 동작은 완료되지 못하고 중단될 것이다. 그리고 하나의 메모리 셀이 'A 구간'에 해당하는 문턱 전압을 갖는다고 가정한다. 이 경우 해당 메모리 셀은 소거 상태에서 P1 상태로 프로그램(Program 3) 동작 중에 서든 파워 오프에 의하여 프로그램 중단된 메모리 셀일 수 있다. 이 경우에 해당 메모리 셀에 저장된 하위 비트 데이터는 '1'이다.
그러나 해당 메모리 셀은 P0 상태에서 P2 상태로 프로그램(Program 2) 동작 중에 서든 파워 오프로 인하여 프로그램 중단된 메모리 셀일 수 있다. 이 경우에 해당 메모리 셀에 저장된 하위 비트 데이터는 '0'이다.
또한, 해당 메모리 셀은 P0 상태에서 P3 상태로 프로그램(Program 1) 동작 중에 서든 파워 오프로 인하여 프로그램 중단된 메모리 셀일 수 있다. 이 경우에 하당 메모리 셀에 저장된 하위 비트 데이터는 '0'이다.
따라서 'A 구간'에 해당하는 문턱 전압을 갖는 메모리 셀들은 하위 비트 데이터를 정확하게 판별할 수 없다. 따라서 해당 메모리 셀들에 저장된 하위 비트 데이터는 복구될 수 없다.
다른 예로, MSB 프로그램 중, 프로그램 페일(Program fail)이 발생한 경우에 구간 A에 속하는 메모리 셀들은 저장된 하위 비트 데이터를 정확하게 판별하여 복 구할 수 없다.
또 다른 예로, 서로 다른 데이터를 순차적으로 동일한 멀티 레벨 셀들에 저장하는 과정에서 서든 파워 오프가 발생한 경우에 오류가 발생할 수 있다. 멀티 레벨 셀들(MLC)의 페이지(page)에 데이터(이하 'old data'라 한다)를 입력한 후 프로그램이 종료된다고 가정한다. 'old data'는 하위 비트 데이터로 멀티 레벨 셀들에 저장되었다고 가정한다.
이후 동일한 멀티 레벨 셀들의 다른 페이지에 새로운 데이터(이하 'new data'라 한다)를 입력하는 때에 서든 파워 오프가 발생한다고 가정한다. 'new data'는 상위 비트 데이터로 멀티 레벨 셀들에 입력하는 중이었다고 가정한다. 이 경우 '구간 A'에 속하는 문턱 전압 분포를 갖는 멀티 레벨 셀들은 상위 비트 데이터로 저장된 'old data'를 정확하게 판별하여 복구할 수 없다. 이는 MSB 프로그램 동작 중에 서든 파워 오프가 발생한 경우와 동일한 이유이다.
한편 도 2(b)에 도시되어 있는 문턱 전압에 따른 메모리 셀들에 저장된 데이터의 값의 순서는 예시적인 것으로 이는 다양하게 변할 수 있다. 본 발명에 따른 실시 예에 있어서, (1,0),(0,0),(0,1),(1,1)의 데이터가 순차적으로 저장된 것으로 설명되었다. 그러나 메모리 셀에 저장되는 데이터는 해당 메모리 셀의 문턱 전압이 증가함에 따라 (0,1),(0,0),(1,0),(1,1)등 다양한 순서로 저장될 수 있다.
도 3은 본 발명의 실시 예에 따른, 2비트 데이터가 프로그램되는 동작을 보여주는 다이어그램이다. 도 3(a)는 하위 비트 프로그램(LSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다. 도 3(b)은 1단계 상위 비트 프 로그램(1단계 MSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다. 도 3(c)는 2단계 상위 비트 프로그램(2단계 MSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다.
도 3(a)를 참조하면, 도 3(a)는 하위 비트 프로그램(LSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다. LSB 프로그램된 메모리 셀들은 소거 상태(E) 및 기입 상태(P0) 중 하나의 문턱 전압의 분포를 갖는다. LSB 프로그램 방법은 도 2(a)에서 상세히 설명하였으므로 생략한다.
기입상태(P0)의 메모리 셀들은 '0'의 데이터를 저장하고 소거상태(E)의 메모리 셀은 '1'의 데이터를 저장한다. VFY1은 하위 비트 데이터(LSB)의 프로그램 검증 동작에서 검증 전압을 나타낸다.
도 3(b)를 참조하면, 도 3(b)은 1단계 상위 비트 프로그램(1단계 MSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다. 1단계 MSB 프로그램은 P0 상태의 문턱 전압을 갖는 메모리 셀 들을 문턱 전압 P2 상태의 문턱 전압을 갖는 메모리 셀 들로 프로그램하는 단계(program 1)이다. 1단계 MSB 프로그램은 하위 비트 데이터를 판독하는 단계, P0상태의 메모리 셀들을 P2상태의 메모리 셀들로 프로그램하는 단계를 포함한다.
하위 비트 데이터를 판독하는 단계에서는, 하위 비트 프로그램(LSB 프로그램)된 메모리 셀 들의 데이터가 읽기 전압 VR1에 의하여 판독된다. 선택된 워드 라인의 해당 셀이 기입 상태(P0)의 셀인 경우, 해당 셀은 턴 오프(turn off)된다. 선택된 워드 라인의 해당 셀이 소거 상태(E)의 셀인 경우, 해당 셀은 턴 온(turn on) 된다. 해당 셀 들의 각각의 하위 바트 데이터는 각각 래치에 전달된다. 하위 비트 데이터를 판독하는 단계는 도 2(a)에서 상세히 설명하였기 때문에 자세한 설명은 생략한다.
P0상태의 메모리 셀들을 P2상태의 메모리 셀들로 프로그램하는 단계에서는, 하위 비트 프로그램(LSB 프로그램)된 메모리 셀들 중 기입 상태의 셀들(P0)이 P2상태의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램(program 1)된다. 프로그램 동작 및 검증 방법은 도 2(a) 및 도 2(b)에 상세히 설명하였기 때문에 자세한 설명은 생략한다.
P0상태를 P2상태로 프로그램하는 단계에서는, 검증 전압이 VFY2이고 읽기 전압이 VR2이다. 또한, 프로그램 전압은 ISPP에 의한 프로그램 방식이 사용될 수 있다. 상술한 방법에 의하여 프로그램된 P2의 문턱 전압을 갖는 메모리 셀들은 모두 VFY2 이상의 문턱 전압을 갖도록 프로그램된다. 해당 메모리 셀들에 저장된 하위 비트의 데이터는 '0'의 값이다.
한편, 1단계 MSB 프로그램에 있어서, 소거 상태의 셀들(E)은 소거 상태(E)를 그대로 유지한다.
도 3(c)를 참조하면, 도 3(c)는 2단계 상위 비트 프로그램(2단계 MSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다.
상위 비트 데이터(MSB)가 '1'인 경우에, P2의 문턱 전압의 분포를 갖는 메모리 셀들은 P3의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램(Program 2)된다. 상위 비트 데이터(MSB)가 '0'인 경우에, P2의 문턱 전압의 분포를 갖는 메모리 셀 들은 P2의 상태를 그대로 유지한다.
상위 비트 데이터(MSB)가 '0'인 경우에, 소거 상태(E)에 있는 메모리 셀들은 P1의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램(Program3)된다. 상위 비트 데이터(MSB)가 '1'인 경우에, 소거 상태(E)에 있는 메모리 셀들은 소거 상태를 그대로 유지한다.
프로그램 방법 및 프로그램 검증 방법은 도 2(a) 및 도 2(b)를 참조하여 설명된 바와 마찬가지로 수행된다. 도 3(c)에서, VFY3, VF4는 프로그램 검증 동작시 검증 전압을 의미한다. VR1, VR2, VR3는 읽기 동작시 읽기 전압을 의미한다. 프로그램 전압은 ISPP에 의한 프로그램 방식이 사용될 수 있다.
상술한 프로그램 방법에 의하여 MSB 프로그램 동작 중에 서든 파워 오프 등이 발생하더라도 하위 비트 데이터는 정확하게 판별되어 복구가능하다. 도 2(b)와 비교하면 상술한 프로그램 방법은 'A 구간'을 갖지 않기 때문이다.
1단계 MSB 프로그램 동작중에 서든 파워 오프가 발생한다고 가정한다. 이 경우 E상태의 문턱 전압을 갖는 메모리 셀들에 저장된 하위 비트 데이터는 '1'이다. P0상태의 문턱 전압을 갖거나 P2상태의 문턱 전압을 갖는 메모리 셀들에 저장된 하위 비트 데이터는 '0'이다. 따라서 메모리 셀들에 저장된 하위 비트 데이터는 정확하게 판별되어 복구가능하다.
2단계 MSB 프로그램 동작 중에 서든 파워 오프가 발생한다고 가정한다. 이 경우 VFY2 이상의 문턱 전압을 갖는 메모리 셀들에 저장된 하위 비트 데이터는 '0'이다. E상태와 P1상태 사이의 문턱 전압을 갖는 메모리 셀들에 저장된 하위 비트 데이터는 '1'이다. 따라서 메모리 셀들에 저장된 하위 비트 데이터는 정확하게 판별되어 복구가능하다. 도 2(b)와 비교하면 도 3(a) 내지 도 3(c)의 프로그램 방법은 'A 구간'를 갖지 않기 때문이다.
한편, 상술한 설명은 본 발명의 일 실시 예에 불과하며 이는 다양한 방법으로 응용될 수 있다. 예시적으로, 1단계 MSB 프로그램에서 판별된 이전 상태에 있는 메모리 셀들의 데이터는 제 1래치에 전달될 수 있다. 2단계 MSB 프로그램에서 외부로부터 로딩되는 데이터는 제 2래치에 전달될 수 있다. 제 1래치에 데이터가 전달되는 단계와 제 2래치에 데이터가 전달되는 단계는 동시에 수행될 수 있다.
도 4는 본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법을 설명하기 위한 순서도이다.
S110 단계에서, 하위 비트 데이터가 프로그램(LSB 프로그램)된다.. LSB 프로그램 단계에서는, 데이터 입출력 회로(130)에 하위 비트 데이터가 로드된다. 데이터 입출력 회로(130)는 하위 비트 데이터에 대응하는 전압을 비트 라인을 통하여 선택 페이지(page)의 메모리 셀들에 인가한다.
어드레스 디코더(120)는 워드 라인을 통하여 프로그램 전압(Vpgm)을 선택 페이지의 메모리 셀들에 인가한다. 어드레스 디코더(120)는 프로그램 컨트롤 로직(140)의 제어에 따른다. 메모리 셀 어레이(110)의 선택 메모리 셀들은 입력된 하위 비트의 데이터를 저장한다.
S120 단계에서, 하위 비트 프로그램된 셀 들의 데이터가 독출되어 판독된다. 데이터 입출력 회로(130)는 비트 라인에 전원 전압(Vcc)을 인가한다. 어드레스 디코더(120)는 워드 라인을 통하여 읽기 전압을 선택 페이지의 메모리 셀들에 인가한다.
선택 페이지의 메모리 셀이 기입 상태에 있으면, 해당 메모리 셀은 턴오프 된다. 따라서 비트 라인에 인가된 전원 전압(Vcc)이 그대로 유지되기 때문에, 해당 메모리 셀이 기입 상태에 있는 것을 판별할 수 있다.
선택 페이지의 메모리 셀이 소거 상태에 있으면, 해당 메모리 셀은 턴온된다. 따라서 비트 라인에 인가된 전원 전압(Vcc)이 전압강화되기 때문에, 해당 메모리 셀이 소거 상태에 있는 것을 판별할 수 있다.
S130 단계에서, S120 단계에서 판독된 하위 비트 데이터를 기초로하여 1단계 MSB 프로그램 과정이 수행된다. 이는 이하 도 5에서 자세히 설명한다.
S140 단계에서, 1단계 MSB 프로그램된 메모리 셀들이 2단계 MSB 프로그램되다. 2단계 MSB 프로그램 동작은 일반적인 MSB 프로그램 동작과 유사하다. 다만, 도 3을 참고하면, MSB 1단계에서 P0의 문턱 전압의 분포를 갖는 메모리 셀들을 P2의 문턱 전압을 갖는 메모리 셀들로 프로그램하였기 때문에 MSB 2단계에서는 P0를 P2로 프로그램하는 과정이 생략된다.
도 5는 본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법을 설명하기 위한 순서도이다.
S210 단계에서, 페이지 버퍼에 로드된 데이터에 상응하여 선택 워드라인에 프로그램 전압(Vpgm)을 인가함으로써, 하위 비트 데이터가 프로그램된다. S210 단계는 S110 단계와 동일하므로 구체적으로 설명하지 않는다.
S220 단계에서, 하위 비트 프로그램된 메모리 셀 들에 읽기 전압이 인가된다. 따라서, 해당 메모리 셀 들의 데이터가 판독될 수 있다. S220 단계는 S120 단계와 동일하므로 구체적으로 설명하지 않는다.
S230 단계에서, 하위 비트 프로그램된 메모리 셀들이 기입 상태에 있는지 소거 상태에 있는지 판단된다. 만약, 하위 비트 프로그램된 메모리 셀들이 기입 상태(P0)에 있다면, 해당 메모리 셀들은 P0에서 P2로 프로그램될 것이다(S235). 만약, 하위 비트 프로그램된 메모리 셀들이 소거 상태(E)에 있다면, 해당 메모리 셀들은 소거 상태(E)를 유지할 것이다.
S235 단계에서, P0의 문턱 전압의 분포를 갖는 메모리 셀들이 P2의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램된다. 이때 입력되는 프로그램 전압 및 검증 전압은 ISPP에 의거하는 프로그램 방식을 포함한다.
S240 단계에서, 2단계 MSB 프로그램 동작이 수행된다. 도 3(b) 및 도 3(c)를 참조하면 E 상태에 있는 셀 들은 E 상태를 그대로 유지하거나 P1 상태로 프로그램된다. P2 상태에 있는 셀 들은 P2 상태를 유지하거나 P3 상태로 프로그램된다. 이 단계는 실질적으로 일반적인 상위 비트 프로그램(MSB program) 방법과 동일한 메커니즘으로 이루어질 수 있다.
한편, 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은 하나의 메모리 셀에 3비트 이상을 프로그램하는 경우에도 적용될 수 있다. 이는 이하 자세히 설명된다.
도 6은 3비트 MLC의 프로그램 방법을 설명하기 위한 다이어그램이다. 도 6에 는 공통의 선택 워드 라인과 각각의 비트 라인에 연결되고 적어도 하나 이상의 페이지(page)가 기입되어 있는 복수의 멀티 레벨 셀(MLC) 들에 하나의 페이지를 기입하는 MLC의 프로그램 방법이 도시되어 있다. 도 6(a)는 문턱 전압의 분포에 따라 4개의 상태를 갖는 멀티 레벨 셀들을 나타낸다. 도 6(b)는 문턱 전압의 분포에 따라 8개의 상태를 갖는 멀티 레벨 셀들을 나타낸다.
도 6(a)을 참조하면, 2개의 페이지가 기입되어 있는 MLC들은 문턱 전압의 분포에 따라 4개의 상태들(PS1~PS4) 중 하나의 상태를 갖는다. 여기서 상태를 구별하기 위한 첨자가 작을수록 높은 문턱 전압으로 프로그램된 MLC의 상태를 나타낸다. 또한, 가장 왼쪽의 상태(PS4)는 프로그램되지 않고 소거된 채로 남아 있는 MLC의 상태를 나타낸다. 4개의 상태들(PS1~PS4)에는 각각 2비트 데이터 '00','10','01','11'이 기입되어 있다. 단, 각각의 2비트 데이터의 상태의 순서는 변경될 수 있다.
도 6(b)를 참조하면, 세 번째 페이지에 상응하는 데이터가 로드된 후, 각각의 상태들(PS1~PS4) 및 로드된 데이터의 각각의 비트 값에 기초하여 문턱 전압이 가장 높은 상태(S1)부터 낮은 상태(S7)까지 상기 MLC들의 각각의 상태(S1~S7)가 순차적으로 프로그램된다.
먼저, 문턱 전압이 가장 높은 상태(PS1)로부터 2개의 상태들(S1, S2)이 프로그램된다. 이때. 세 번째 페이지의 데이터의 비트 값이 '0'에 상응하는 상태(S1)에 대하여 검증 및 프로그램이 수행되고, 문턱 전압이 가장 높은 상태(S1)의 검증이 완료되면, 세 번째 페이지의 데이터의 비트 값이 '1'에 상응하는 상태(S2)의 검증 및 프로그램이 수행된다. 문턱 전압이 가장 높은 상태(PS1)로부터 상위 2개의 상태(S1, S2)의 검증이 완료되면 같은 방식으로 두 번째로 문턱 전압이 높은 상태(PS2)로부터 2개의 상태들(S3, S4)에 해당하는 MLC들에 대하여 검증 및 프로그램이 수행된다.
이와 같이, 각각의 상태(PS1~PS3)로부터 2개씩, 6개의 상태들(S1~S6)이 프로그램된다. 또한, 상태(PS4)로부터 상태(S7)이 프로그램된다. 문턱 전압이 가장 낮은 상태(S8)는 프로그램되지 않고 소거된 채로 남아 있는 상태이며 문턱 전압이 가장 낮은 이전 상태(PS4)와 실질적으로 동일한 상태이다. 세 번째 페이지의 프로그램이 완료된 8개의 상태들(S1~S8)은 각각 3비트 데이터 '000', '100', '010', '110' ,'001', '101', '011', '111'이 기입된 MLC의 상태를 나타낸다.
이때 도 6(a)와 도 6(b)에 도시된 2번째 페이지의 데이터 값을 프로그램 수행 전과 수행 후로 나누어 비교하면, 구간 A에 속하는 상태(S3)의 메모리 셀 들의 2번째 페이지의 데이터는 1이고 구간 A에 속하는 상태(PS1)의 메모리 셀들의 2번째 페이지 데이터는 0임을 알 수 있다. 또한, 구간 B에 속하는 상태(S5)의 메모리 셀들의 2번째 페이지의 데이터는 0이고 구간 B에 속하는 상태(PS2)의 메모리 셀들의 2번째 페이지의 데이터는 1이다. 또한, 구간 C에 속하는 상태(S7)의 메모리 셀들의 2번째 페이지의 데이터는 1이고 구간 C에 속하는 상태(PS3)의 메모리 셀들의 2번째 페이지의 데이터는 0이다.
따라서 상태(PS1~PS4)에 대응하는 메모리 셀들을 상태(S1~S8)에 대응하는 메모리 셀들로 프로그램하는 도중에 서든 파워 오프 등이 발생한 경우에, 구간 A, 구 간 B, 구간 C에 속하는 상태의 메모리 셀들은 2번째 페이지의 데이터를 정확하게 판별하여 복구할 수 없는 문제가 있다.
도 7은 본 발명의 하나의 실시 예에 따른 3비트 MLC의 프로그램 방법을 설명하기 위한 다이어그램이다. 도 7(a)은 2번째 페이지에 데이터가 입력되어 있는 메모리 셀 들의 상태(PS1~PS4)를 나타낸다. 도 7(b)은 1단계 MSB 프로그램된 셀 들의 상태를 나타낸다. 도 7(c)은 2단계 MSB 프로그램된 셀들의 상태를 나타낸다.
본 발명을 설명하는데 있어서, 상태(PS1~PS4)에 대응하는 메모리 셀들을 상태(S2, S4, S6, S8)로 프로그램하는 동작은 1단계 MSB 프로그램이라 칭해진다. 상태(S2, S4, S6, S8)에 대응하는 메모리 셀들을 상태(S1~S8)으로 프로그램하는 동작은 2단계 MSB 프로그램이라 칭해진다.
도 7(a)를 참조하면, 2번째 페이지에 데이터가 입력되어 있는 메모리 셀 들의 상태들(PS1~PS4)이 도시되어 있다. 이와 같이 각각의 상태들(PS1~PS4)은 첨자가 높을수록 높은 문턱 전압을 갖는 것을 의미한다. 가장 오른쪽의 상태(PS4)는 소거 상태로 남아 있는 셀 들의 상태를 의미한다.
도 7(b)를 참조하면, 도 7(b)는 1단계 MSB 프로그램된 셀 들의 상태를 나타낸다. 1단계 MSB 프로그램 동작을 살펴보면, 먼저 메모리 셀 들의 문턱 전압의 분포를 읽기 전압을 인가하여 판독한다.
이후, 문턱 전압의 분포가 PS1에 속하는 메모리 셀들은 문턱 전압의 분포가 S2에 속하는 메모리 셀들로 프로그램된다. 문턱 전압의 분포가 PS2에 속하는 메모리 셀들은 문턱 전압의 분포가 S4에 속하는 메모리 셀들로 프로그램된다. 문턱 전 압의 분포가 PS3에 속하는 메모리 셀들은 문턱 전압의 분포가 S6에 속하는 메모리 셀들로 프로그램된다. 한편, 문턱 전압의 분포가 PS4에 속하는 메모리 셀들은 프로그램되지 않고 소거 상태로 남아있다.
상술한 1단계 MSB 프로그램에 의하여, 메모리 셀 들은 1단계 MSB 프로그램이 수행되지 않은 메모리 셀 들에 비하여 좁은 범위의 문턱 전압 분포를 갖는다.
도 7(c)를 참조하면, 도 7(c)는 2단계 MSB 프로그램된 셀 들의 상태를 나타낸다. S2의 문턱 전압의 분포를 갖는 메모리 셀 들은 S1의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램되거나, 프로그램되지 않고 S2의 문턱 전압의 분포를 유지한다.
S4의 문턱 전압의 분포를 갖는 메모리 셀 들은 S3의 문턱 전압의 분포를 갖는 메모리셀들로 프로그램되거나, 프로그램되지 않고 S4의 문턱 전압의 분포를 유지한다.
S6의 문턱 전압의 분포를 갖는 메모리 셀들은 S5의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램되거나, 프로그램되지 않고 S6의 문턱 전압의 분포를 유지한다.
S8의 문턱 전압의 분포를 갖는 메모리 셀 들은 S7의 문턱 전압의 분포를 갖는 메모리 셀들로 프로그램되거나, S8의 문턱 전압의 분포를 그대로 유지한다.
도 7(a)와 도 7(b)를 비교해보면, 1단계 MSB 프로그램된 메모리 셀들은 1단계 MSB 프로그램 동작이 수행되지 않은 메모리 셀들보다 좁은 범위의 문턱 전압의 분포를 갖는다. 따라서, 도 7(b)와 도 7(c)를 비교해보면, 1단계 MSB 프로그램된 메모리 셀들의 문턱 전압 분포는 2단계 MSB 프로그램된 메모리 셀 들의 문턱 전압 분포와 겹치지 않는 것을 알 수 있다.
그러므로 프로그램 동작 중에 서든 파워 오프 등이 발생한 경우에도, 2번째 페이지에 기입되어 있던 데이터는 안정하게 저장되어 있으므로 복구 가능하다. 따라서, 1단계 MSB 프로그램 단계를 추가함으로써, 기존에 기입된 데이터가 안전하게 보존된다.
도 6 및 도 7의 프로그램에 사용되는 전압은 메모리 셀의 문턱 전압을 검증전압 이상으로 이동시키기 위하여 증가형 스텝 펄스(ISPP) 프로그램이 사용될 수 있다. ISPP는 단계적으로 증가하는 프로그램 전압(Vpgm)이 인가되고, 이후에는 검증 전압이 인가되는 루프를 반복하는 프로그램 방식이다.
본 발명에서, 프로그램하고자 하는 중간 상태 및 현재 상태로 셀의 문턱 전압을 이동시키기 위한 프로그램 전압과 검증 전압이 각 상태별로 생성하여 워드라인에 전달된다. 각 상태별 프로그램 전압에 있어서, 그 스타트 전압은 현재 셀의 데이터 상태에 따라 다르다. 다시 말하면 이전 상태나 중간 상태의 상태별로 서로 다른 ISPP 스타트 전압이 인가되어야 할 것이다.
도 8은 상기 본 발명을 적용한 실시 예로서, 상기 도 3 및 도 7에 상술한 프로그램 방법을 반도체 디스크 장치에 적용한 예를 보여주는 블록도이다. 도 8을 참조하면, 반도체 디스크 장치(200)는 SSD 제어기(210)와 불휘발성 메모리(220_223)를 포함한다. SSD 제어기(210)는 CPU(211), ATA 인터페이스(212), SRAM 캐시(213), 플래시 인터페이스(214), 그리고 보조 전원 장치(215)를 포함한다.
도 8은 반도체 디스크 장치(200) 중에서, 예로서 SSD(Solid State Drive)를보여주고 있다. 최근 하드디스크 드라이브(HDD)를 교체해 나갈 것으로 예상되는 SSD 제품이 차세대 메모리 시장에서 각광을 받고 있다. SSD는 일반적인 하드 디스크 드라이브에서 사용되는 회전 접시 대신에 데이터를 저장하는데 플래시 메모리와 같은 메모리 칩들을 사용한 데이터 저장 장치이다. SSD는 기계적으로 움직이는 하드디스크 드라이브에 비해 속도가 빠르고 외부 충격에 강하며, 소비전력도 낮다는 장점을 가진다.
도 9는 상기 본 발명을 적용한 실시 예로서, 상기 도 3 및 도 7에 상술한 프로그램 방법을 반도체 메모리 장치에 적용한 예를 보여주는 블록도이다. 반도체 메모리 장치(300)는 메모리 컨트롤러(310) 및 플래시 메모리(320)를 포함한다. 반도체 메모리 장치(300)는 메모리 카드(예를 들면 SD, MMC 등)나 착탈 가능한 이동식 저장 장치(예를 들면, USB 메모리)와 같이 휘발성 메모리 또는 불휘발성 메모리를 포함하는 저장 장치를 모두 포함한다.
도 9를 참조하면 메모리 컨트롤러(310)는 중앙처리장치(CPU, 311), 호스트인터페이스(312), 랜덤 액서스 메모리(RAM, 313), 그리고 플래시 인터페이스(314)를 포함한다. 본 발명에 따른 실시 예에서, 메모리 컨트롤러(310)는 상술한 프로그램 동작을 제어한다.
도 10은 상기 본 발명을 적용한 실시 예로서, 상기 도 3 및 도 7에 상술한 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다. 상용자 장치(400)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 10을 참조하면, 사용자 장치(400)는 버스 및 전원 라인(405), 메모리 시스템(410), 전원 장치(420), 중앙처리장치(430), 램(440), 그리고 사용자 인터페이스(450)를 포함한다. 메모리 시스템(410)은 비휘발성 메모리 장치(411) 및 컨트롤러(412)를 포함한다.
컨트롤러(412)는 호스트(Host) 및 불휘발성 메모리 장치(411)에 연결된다. 컨트롤러(412)는 불휘발성 메모리 장치(411)로부터 읽은 데이터를 호스트(Host)에 전달하고, 호스트(Host)로부터 전달되는 데이터를 불휘발성 메모리 장치(411)에 저장한다.
컨트롤러(412)는 램, 프로세싱 유닛, 호스트 인터페이스, 그리고 메모리 인터페이스와 같은 잘 알려진 구성 요소들을 포함할 것이다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 것이다. 프로세싱 유닛은 컨트롤러(412)의 제반 동작을 제어할 것이다. 호스트 인터페이스는 호스트(Host) 및 컨트롤러(412) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 것이다. 예시적으로, 컨트롤러(412)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 것이다. 메모리 인터페이스는 불휘발성 메모리 장치(411)와 인터페이싱할 것이다. 컨트롤러(412)는 오류 정정 블록을 추가적으로 포함할 수 있다. 오류 정정 블록은 불휘발 성 메모리 장치(411)로부터 읽어진 데이터의 오류를 검출하고, 정정할 것이다.
불휘발성 메모리 장치(411)는 데이터를 저장하기 위한 메모리 셀 어레이, 메모리 셀 어레이에 데이터를 기입 및 독출하기 위한 읽기/쓰기 회로, 외부로부터 전달되는 어드레스를 디코딩하여 읽기/쓰기 회로에 전달하는 어드레스 디코더, 불휘발성 메모리 장치(411)의 제반 동작을 제어하기 위한 제어 로직 등을 포함할 것이다.
컨트롤러(412) 및 불휘발성 메모리 장치(411)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(412) 및 불휘발성 메모리 장치(411)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 것이다. 예를 들면, 컨트롤러(412) 및 불휘발성 메모리 장치(411)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 것이다.
다른 예로서, 컨트롤러(412) 및 불휘발성 메모리 장치(411)는 하나의 반도체 장치로 집적되어 반도체 디스크/드라이브(SSD, Solid State Disk/Drive)를 구성할 것이다. 메모리 시스템(410)이 반도체 디스크(SSD)로 이용되는 경우, 메모리 시스템(410)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선될 것이다.
다른 예로서, 메모리 시스템(410)은 PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 디지털 뮤직 플레이어(digital music player), 또는 정보를 무선 환경에서 송수신할 수 있 는 장치들에 적용될 것이다.
다른 예로서, 불휘발성 메모리 장치(411) 또는 메모리 시스템(410)은 다양한 형태들의 패키지로 실장 될 수 있다. 예를 들면, 불휘발성 메모리 장치(411) 또는 메모리 시스템(410)은 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(a)는 하위 비트 데이터(LSB)가 메모리 셀에 프로그램된 상태를 보여주는 다이어그램이다.
도 2(b)는 상위 비트 데이터(MSB)의 프로그램 동작이 완료된 경우의 메모리 셀들의 상태를 나타낸다.
도 3(a)는 하위 비트 프로그램(LSB 프로그램)된 메모리 셀들의 문턱 전압의 분포를 나타내는 다이어그램이다.
도 3(b)은 이전 상태(previous state)에 있는 메모리 셀 들을 중간 상태(middle state)로 프로그램하는 1단계 MSB 프로그램 동작을 나타낸다.
도 3(c)는 중간 상태(middle state)의 메모리 셀들로부터 현재 상태(current state)의 메모리 셀들을 프로그램하는 단계를 나타내는 다이어그램이다.
도 4는 본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시 예에 따른 플래시 메모리의 프로그램 방법을 설명하기 위한 순서도이다.
도 6(a)는 문턱 전압의 분포에 따라 4개의 이전 상태를 갖는 멀티 레벨 셀들을 나타낸다.
도 6(b)는 문턱 전압의 분포에 따라 8개의 현재 상태를 갖는 멀티 레벨 셀들을 나타낸다.
도 7(a)은 2번째 페이지에 데이터가 입력되어 있는 메모리 셀 들의 상태(PS1~PS4)를 나타낸다.
도 7(b)은 이전 상태(previous state)로부터 중간 상태(middle state)로 프로그램된 셀 들의 상태를 나타낸다.
도 7(c)은 중간 상태(middle state)의 문턱 전압을 갖는 메모리 셀 들로부터 현재 상태(current state)의 문턱 전압을 갖는 메모리 셀 들을 프로그램하는 것을 나타낸다.
도 8은 도 3 및 도 7에 상술한 프로그램 방법을 반도체 디스크 장치에 적용한 예를 보여주는 블록도이다.
도 9는 도 3 및 도 7에 상술한 프로그램 방법을 반도체 메모리 장치에 적용한 예를 보여주는 블록도이다.
도 10은 도 3 및 도 7에 상술한 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다.

Claims (10)

  1. 하위 비트 데이터에 기초하여 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높은 문턱 전압을 갖는 제 2 상태의 메모리 셀들로 선택적으로 프로그램하는 제 1 프로그램 단계;
    상기 제 2 상태의 메모리 셀들을 상기 제 2 상태보다 높은 검증 전압을 갖는 제 3 상태의 메모리 셀들로 프로그램하는 제 2 프로그램 단계; 및
    상위 비트 데이터에 기초하여 상기 제 3 상태의 메모리 셀들을 상기 제 3 상태보다 높은 문턱 전압을 갖는 제 4 상태의 메모리 셀들로 선택적으로 프로그램하는 제 3 프로그램 단계를 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  2. 제 1항에 있어서,
    상기 제 3 프로그램 단계는, 상위 비트 데이터에 따라, 상기 제 1 프로그램 단계에서 프로그램되지 않은 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높고 제 3 상태보다 낮은 문턱 전압을 갖는 메모리 셀들로 선택적으로 프로그램하는 것을 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  3. 1항에 있어서,
    상기 제 3 상태의 메모리 셀들의 검증 전압은 상기 제 2 상태의 메모리 셀들의 검증 전압보다 높고, 상기 제 4 상태의 메모리 셀들의 검증 전압보다 낮은 불 휘발성 메모리 장치의 프로그램 방법.
  4. 제 1항에 있어서,
    상기 제 2 상태의 메모리 셀들을 상기 제 3 상태의 메모리 셀들로 프로그램하는 프로그램 동작에 의하여, 메모리 셀들에 저장된 하위 비트 데이터가 보호되는 불휘발성 메모리 장치의 프로그램 방법.
  5. 제 1항에 있어서,
    상기 제 2 프로그램 단계는, 상기 제 2 상태의 메모리 셀들을 판독하고, 판독된 결과에 따라 선택적으로 상기 제 2 상태의 메모리 셀들을 상기 제 2 상태의 메모리 셀들보다 높은 문턱 전압을 갖는 제 3 상태의 메모리 셀들로 프로그램하는 불휘발성 메모리 장치의 프로그램 방법.
  6. 제 1항에 있어서,
    상기 메모리 셀들은 적어도 2 비트 데이터 이상을 저장하는 불휘발성 메모리 장치의 프로그램 방법.
  7. M-비트 데이터(M은 2 또는 그보다 큰 정수)로 메모리 셀들을 프로그램하는 단계;
    상기 M-비트 데이터의 각각의 상태들에 대응하는 각각의 메모리 셀들을, 상 기 M-비트 데이터의 각각의 상태들의 검증 전압보다 높은 검증 전압을 갖는 각각의 상태들(이하, 각각의 제 1 상위 상태들)로 프로그램하는 단계; 그리고
    상기 M-비트 데이터보다 상위 비트 데이터(이하, M+1 비트 데이터)에 기초하여, 상기 각각의 제 1 상위 상태들에 대응하는 메모리 셀들을, 상기 각각의 제 1 상위 상태들의 문턱 전압보다 높은 문턱 전압을 갖는 각각의 상태들(이하, 각각의 제 2 상위 상태들)로 프로그램하는 불휘발성 메모리 장치의 프로그램 방법.
  8. 제 7항에 있어서,
    상기 각각의 제 1 상위 상태들로 프로그램하는 단계에 의하여, 메모리 셀들에 저장된 상기 M-비트 데이터가 보호되는 불휘발성 메모리 장치의 프로그램 방법.
  9. 불휘발성 메모리 장치; 및
    상기 불휘발성 메모리 장치를 제어하는 컨트롤러를 포함하되,
    상기 불휘발성 메모리 장치는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 데이터를 입출력하는 데이터 입출력 회로; 그리고
    상기 데이터 입출력 회로를 제어하는 프로그램 컨트롤 로직을 포함하고,
    상기 프로그램 컨트롤 로직은
    하위 비트 데이터에 기초하여 제 1 상태의 메모리 셀들을 상기 제 1 상태보다 높은 문턱 전압을 갖는 제 2 상태의 메모리 셀들로 선택적으로 프로그램하고, 상기 제 2 상태의 메모리 셀들을 상기 제 2 상태보다 높은 검증 전압을 갖는 제 3 상태의 메모리 셀들로 프로그램하고, 상위 비트 데이터에 기초하여 상기 제 3 상태의 메모리 셀들을 상기 제 3 상태보다 높은 문턱 전압을 갖는 제 4 상태의 메모리 셀들로 선택적으로 프로그램하는 메모리의 시스템.
  10. 제 9항에 있어서,
    상기 프로그램 컨트롤 로직은 상기 컨트롤러에 포함되는 메모리의 시스템.
KR1020090025510A 2009-03-25 2009-03-25 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법 KR20100107294A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090025510A KR20100107294A (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
US12/722,718 US8331145B2 (en) 2009-03-25 2010-03-12 Nonvolatile memory device, system, and programming method
US13/688,249 US8537612B2 (en) 2009-03-25 2012-11-29 Nonvolatile memory device, system, and programming method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090025510A KR20100107294A (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR20100107294A true KR20100107294A (ko) 2010-10-05

Family

ID=42784039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090025510A KR20100107294A (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법

Country Status (2)

Country Link
US (2) US8331145B2 (ko)
KR (1) KR20100107294A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130125426A (ko) * 2012-05-09 2013-11-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그래밍 방법
KR20140096796A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
US8891311B2 (en) 2010-11-30 2014-11-18 Hynix Semiconductor Inc. Semiconductor memory device and method of programming the same
KR20160017401A (ko) * 2014-08-06 2016-02-16 삼성전자주식회사 메모리 장치의 프로그램 방법
KR20160064849A (ko) * 2014-11-28 2016-06-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190050778A (ko) * 2016-09-30 2019-05-13 인텔 코포레이션 데이터 로드 연산의 완료 이전에 사전 판독 연산을 착수하기 위한 방법 및 장치

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101565974B1 (ko) * 2009-03-02 2015-11-04 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR101798013B1 (ko) * 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101785448B1 (ko) * 2011-10-18 2017-10-17 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
KR20130072519A (ko) * 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US8634239B2 (en) 2011-12-28 2014-01-21 Sandisk Technologies Inc. Hybrid multi-level cell programming sequences
US9053011B2 (en) 2012-09-28 2015-06-09 Sandisk Technologies Inc. Selective protection of lower page data during upper page write
KR102005709B1 (ko) * 2012-10-22 2019-08-01 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102049076B1 (ko) * 2012-12-06 2020-01-09 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작 방법
US9032271B2 (en) 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9672919B2 (en) * 2013-04-22 2017-06-06 Apple Inc. Techniques for reducing power-down time in non-volatile memory devices
US8995198B1 (en) * 2013-10-10 2015-03-31 Spansion Llc Multi-pass soft programming
US9280456B2 (en) 2013-11-12 2016-03-08 Micron Technology, Inc. Mapping between program states and data patterns
KR20150061098A (ko) * 2013-11-25 2015-06-04 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
KR102272228B1 (ko) * 2014-05-13 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US9696918B2 (en) 2014-07-13 2017-07-04 Apple Inc. Protection and recovery from sudden power failure in non-volatile memory devices
US10199106B2 (en) 2014-09-30 2019-02-05 Carnegie Mellon University Reducing errors caused by inter-cell interference in a memory device
KR20160044923A (ko) * 2014-10-16 2016-04-26 에스케이하이닉스 주식회사 복수의 메모리 셀들을 포함하는 반도체 메모리 장치 및 그것의 동작 방법
US9620226B1 (en) 2015-10-30 2017-04-11 Western Digital Technologies, Inc. Data retention charge loss and read disturb compensation in solid-state data storage systems
US9646721B1 (en) * 2016-03-31 2017-05-09 EMC IP Holding Company LLC Solid state drive bad block management
KR102649347B1 (ko) * 2016-10-11 2024-03-20 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
US10445173B2 (en) 2017-06-26 2019-10-15 Macronix International Co., Ltd. Method and device for programming non-volatile memory
JP2020149745A (ja) 2019-03-13 2020-09-17 キオクシア株式会社 半導体記憶装置
US11244734B2 (en) * 2019-12-27 2022-02-08 Sandisk Technologies Llc Modified verify scheme for programming a memory apparatus
US11222693B2 (en) * 2020-05-27 2022-01-11 Macronix International Co., Ltd. Data management method for memory and memory apparatus using the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549457B1 (en) 2002-02-15 2003-04-15 Intel Corporation Using multiple status bits per cell for handling power failures during write operations
KR100660534B1 (ko) * 2004-12-09 2006-12-26 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 검증방법
KR100778082B1 (ko) 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드
KR100919156B1 (ko) 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100845526B1 (ko) 2006-10-19 2008-07-10 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 프로그램방법
US7729166B2 (en) * 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891311B2 (en) 2010-11-30 2014-11-18 Hynix Semiconductor Inc. Semiconductor memory device and method of programming the same
KR20130125426A (ko) * 2012-05-09 2013-11-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그래밍 방법
KR20140096796A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
KR20160017401A (ko) * 2014-08-06 2016-02-16 삼성전자주식회사 메모리 장치의 프로그램 방법
KR20160064849A (ko) * 2014-11-28 2016-06-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190050778A (ko) * 2016-09-30 2019-05-13 인텔 코포레이션 데이터 로드 연산의 완료 이전에 사전 판독 연산을 착수하기 위한 방법 및 장치

Also Published As

Publication number Publication date
US20130088923A1 (en) 2013-04-11
US20100246260A1 (en) 2010-09-30
US8537612B2 (en) 2013-09-17
US8331145B2 (en) 2012-12-11

Similar Documents

Publication Publication Date Title
KR20100107294A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR102302187B1 (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
KR101517597B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
USRE46238E1 (en) Semiconductor memory device and related method of programming
US9349466B2 (en) Nonvolatile memory device having selectable sensing modes, memory system having the same and programming method thereof
KR101617641B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
US8539138B2 (en) Flash memory device and method of programming flash memory device
KR101616097B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9281068B2 (en) Nonvolatile memory and related reprogramming method
TWI610170B (zh) 半導體記憶體裝置、其讀取方法以及具有該半導體記憶體裝置的資料儲存裝置
US9818477B2 (en) Methods of programming memory cells in non-volatile memory devices
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
CN111258793B (zh) 存储器控制器及其操作方法
KR20150031381A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
KR102182804B1 (ko) 메모리 장치의 독출 방법
US9424942B2 (en) Reduced timing and read verifying operation for non-volatile memory device
KR101565974B1 (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US9159429B2 (en) Data storage system and method of operating the same
KR102110844B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR101691097B1 (ko) 홀수의 매트들을 구비한 비휘발성 메모리 장치, 그것의 블록 설정 방법, 그것을 포함하는 메모리 시스템
US20230091724A1 (en) Storage device, non-volatile memory, and method of operating program of non-volatile memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application