상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 멀티 레벨 셀(MLC)의 프로그램 방법은, 공통의 선택 워드 라인과 각각의 비트 라인에 연결되고 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 복수의 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입하기 위하여, 상기 하나의 페이지에 상응하는 데이터를 로드하는 단계, 및상기 MLC들의 각각의 이전 상태 및 상기 로드된 데이터의 각각의 비트값에 기초하여 문턱 전압이 높은 상태부터 상기 MLC들의 각각의 상태를 순차적으로 프로그램하는 단계를 포함한다.
상기 MLC들의 각각의 상태를 순차적으로 프로그램하는 단계는, 상기 선택 워드 라인에 독출 전압을 인가하여 상기 이전 상태를 판독하는 단계, 상기 판독된 이전 상태 및 상기 데이터의 각각의 비트값에 기초하여, 상기 독출 전압에 상응하는 하나의 이전 상태로부터 2개의 상태를 순차적으로 프로그램하는 단계, 및 상기 독 출 전압을 순차적으로 감소하면서 각각의 독출 전압에 대하여 상기 이전 상태를 판독하는 단계와 상기 2개의 상태를 순차적으로 프로그램하는 단계를 반복하는 단계를 포함할 수 있다.
상기 하나의 이전 상태로부터 2개의 상태를 순차적으로 프로그램하는 단계는, 상기 비트값의 제 1 논리값에 상응하는 제 1 상태를 검증 및 프로그램하는 단계, 및 상기 제 1 상태의 검증이 완료된 후 상기 비트값의 제 2 논리값에 상응하고 상기 제 1 상태보다 낮은 문턱 전압의 제 2 상태를 검증 및 프로그램하는 단계를 포함할 수 있다. 상기 제 1 논리값은 논리 로우이고, 상기 제 2 논리값은 논리 하이일 수 있다.
상기 MLC들의 각각의 상태를 순차적으로 프로그램하는 단계는, 상기 선택 워드 라인에 순차적으로 감소하는 검증 전압을 인가하는 단계를 포함할 수 있다.
상기 MLC들의 각각의 상태를 순차적으로 프로그램하는 단계는, 워드 라인 프로그램 전압으로서, 검증이 반복될 때마다 순차적으로 전압 레벨이 증가하는 증가형 스텝 펄스(Incremental Step Pulse)를 상기 선택 워드 라인에 인가하는 단계를 포함할 수 있다. 이 경우, 상기 증가형 스텝 펄스를 상기 선택 워드 라인에 인가하는 단계는, 상기 프로그램되는 상태의 문턱 전압이 낮을수록 상기 증가형 스텝 펄스의 시작 레벨을 감소시키는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 MLC의 프로그램 방법은 상기 각각의 비트 라인에 제 1 래치 및 제 2 래치를 연결하는 단계를 더 포함할 수 있다. 이 경우, 상기 데이터를 로드하는 단계는, 상기 제 1 래치의 제 1 노드에 상기 로드된 데이터의 각 각의 비트값을 저장하는 단계를 포함할 수 있다.
상기 MLC들의 각각의 상태를 순차적으로 프로그램하는 단계는, 상기 선택 워드 라인에 독출 전압을 인가하여 상기 이전 상태들을 판독하고, 상기 제 2 래치의 제 2 노드에 상기 판독된 각각의 이전 상태를 저장하는 단계, 상기 제 1 노드의 논리값 및 상기 제 2 노드의 논리값에 기초하여, 상기 독출 전압에 상응하는 하나의 이전 상태로부터 2개의 상태를 순차적으로 프로그램하는 단계, 및 상기 독출 전압을 순차적으로 감소하면서 각각의 독출 전압에 대하여 상기 각각의 이전 상태를 저장하는 단계와 상기 2개의 상태를 순차적으로 프로그램하는 단계를 반복하는 단계를 포함할 수 있다.
상기 하나의 이전 상태로부터 2개의 상태를 순차적으로 프로그램하는 단계는, 상기 제 2 노드의 논리값에 기초하여 상기 제 1 노드의 논리 로우에 상응하는 제 1 상태를 검증 및 프로그램하는 단계, 및 상기 제 1 상태의 검증이 완료된 후, 상기 제 2 노드의 논리값에 기초하여 상기 제 2 노드의 논리 하이에 상응하고 상기 제 1 상태보다 낮은 문턱 전압을 갖는 제 2 상태를 검증 및 프로그램하는 단계를 포함할 수 있다.
상기 제 1 상태를 검증 및 프로그램하는 단계는, 상기 선택 워드 라인에 상기 제 1 상태에 상응하는 제 1 검증 전압을 인가하여 상기 제 1 상태를 검증하는 단계, 및 상기 제 1 상태의 검증이 완료될 때까지 상기 제 1 노드의 논리 로우에 상응하는 프로그램 허용 전압을 상기 비트 라인에 인가하여 상기 제 1 상태를 프로그램하는 단계를 포함할 수 있다.
상기 제 2 상태를 검증 및 프로그램하는 단계는, 상기 제 2 노드의 논리값에 기초하여, 상기 제 1 노드의 논리 하이를 논리 로우로 전환시키는 단계, 상기 선택 워드 라인에 상기 제 2 상태에 상응하는 제 2 검증 전압을 인가하여 상기 제 2 상태를 검증하는 단계, 및 상기 제 2 상태의 검증이 완료될 때까지 상기 제 2 노드의 논리 로우에 상응하는 상기 프로그램 허용 전압을 상기 비트 라인에 인가하여 상기 제 2 상태를 프로그램하는 단계를 포함할 수 있다.
상기 제 1 상태를 검증하는 단계는, 상기 제 1 상태의 프로그램이 완료된 경우 상기 제 1 노드를 논리 하이로 설정하는 단계를 포함하고, 상기 제 2 상태를 검증하는 단계는, 상기 제 2 상태의 프로그램이 완료된 경우 상기 제 1 노드를 논리 하이로 설정하는 단계를 포함할 수 있다.
상기 각각의 이전 상태를 저장하는 단계는, 상기 이전 상태의 문턱 전압이 상기 독출 전압보다 클 때 상기 제 2 노드를 논리 로우로 설정하는 단계, 및 상기 이전 상태의 문턱 전압이 상기 독출 전압보다 작을 때 상기 제 2 노드를 논리 하이로 설정하는 단계를 포함할 수 있다.
상기 하나의 이전 상태로부터 2개의 상태를 순차적으로 프로그램하는 단계는, 상기 비트 라인을 프로그램 금지 전압으로 프리차지하는 단계, 상기 제 2 노드가 논리 로우일 때, 제 1 노드의 논리 로우에 상응하는 프로그램 허용 전압이 상기 비트 라인에 인가되도록 상기 제 1 노드를 상기 비트라인과 전기적으로 연결하는 단계, 및 상기 제 2 노드가 논리 하이일 때, 상기 비트 라인에 프리차지된 상기 프로그램 금지 전압이 유지되도록 상기 제 1 노드와 상기 비트 라인을 전기적으로 차 단하는 단계를 포함할 수 있다.
상기 MLC의 프로그램 방법은 상기 선택 워드 라인에 최초의 독출 전압을 인가하여 문턱 전압이 가장 높은 상기 이전 상태를 판독하기 전에, 상기 제 2 래치의 제 2 노드를 논리 하이로 초기 설정하는 단계를 더 포함할 수 있다.
상기 MLC의 프로그램 방법은, 특히, 각각의 비트 라인마다 연결된 2개의 래치를 이용하여 N(N은 3이상의 정수)번째 페이지를 상기 MLC들에 기입하는 방법일 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 불휘발성 메모리 장치는, 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입하기 위하여, 메모리 셀 어레이, 행 선택 회로 및 페이지 버퍼 블록을 포함한다.
상기 메모리 셀 어레이는 선택 워드 라인에 공통으로 연결되고 각각의 비트 라인에 연결된 상기 MLC들을 포함한다. 상기 행 선택 회로는 상기 MLC들의 이전 상태(previous state)를 판독하기 위하여 순차적으로 감소하는 독출 전압을 선택 워드 라인에 인가하고, 문턱 전압이 높은 상태부터 상기 MLC들의 각각의 상태를 순차적으로 프로그램하기 위하여 순차적으로 감소하는 검증 전압을 상기 선택 워드 라인에 인가한다. 상기 페이지 버퍼 블록은 상기 하나의 페이지에 해당하는 데이터를 로드하고, 문턱 전압이 높은 상태부터 상기 MLC들의 각각의 상태를 순차적으로 프로그램하기 위하여 상기 판독된 이전 상태 및 상기 로드된 데이터의 각각의 비트값에 기초하여 비트 라인 전압을 제어한다.
상기 행 선택 회로는, 상기 선택 워드 라인에 제 1 독출 전압을 인가한 후 순차적으로 감소된 제 2 독출 전압을 인가하기 전에, 상기 제 1 독출 전압에 상응하는 이전 상태로부터 프로그램되는 제 1 상태 및 제 2 상태를 검증하기 위하여 상기 선택 워드 라인에 제 1 검증 전압 및 제 1 검증 전압보다 낮은 제 2 검증 전압을 순차적으로 인가할 수 있다.
상기 행 선택 회로는, 워드 라인 프로그램 전압으로서, 검증이 반복될 때마다 순차적으로 전압 레벨이 증가하는 증가형 스텝 펄스(Incremental Step Pulse)를 상기 선택 워드 라인에 인가할 수 있다. 이 경우, 상기 행 선택 회로는, 상기 프로그램되는 상태의 문턱 전압이 낮을수록 상기 증가형 스텝 펄스의 시작 레벨을 감소시킬 수 있다.
상기 페이지 버퍼 블록은 상기 각각의 비트 라인에 연결된 복수의 페이지 버퍼를 포함할 수 있다. 상기 각각의 페이지 버퍼는, 제 1 래치, 제 2 래치 및 제어 회로를 포함할 수 있다.
상기 제 1 래치는 상기 로드된 데이터의 각각의 비트값을 제 1 노드에 논리값으로 저장하고, 상기 제 2 래치는 상기 판독된 각각의 이전 상태를 제 2 노드에 논리값으로 저장한다. 상기 제어회로는 상기 제 1 노드의 논리값 및 상기 제 2 노드의 논리값에 기초하여 상기 비트 라인 전압을 제어한다.
논리 로우에 상응하는 상기 제 1 노드의 전압은, 프로그램 동작시 센싱 노드를 통하여 상기 비트 라인에 인가되는 프로그램 허용 전압이고, 논리 하이에 상응하는 상기 제 1 노드의 전압은, 프로그램 동작시 상기 비트 라인에 프리차지되는 프로그램 금지 전압일 수 있다.
상기 제어 회로는, 상기 제 2 노드가 논리 로우일 때 상기 프로그램 허용 전압이 상기 비트 라인에 인가되도록 상기 제 1 노드를 상기 비트 라인과 전기적으로 연결하는 제 1 제어부를 포함할 수 있다. 상기 제 1 제어부는, 상기 제 1 노드의 논리 로우에 상응하는 상기 제 1 상태의 검증이 완료된 후 상기 제 1 노드의 논리 하이에 상응하는 상기 제 2 상태를 프로그램하기 전에, 상기 제 2 노드의 논리값에 기초하여 상기 제 1 노드의 논리 하이를 논리 로우로 전환시킬 수 있다.
일 실시예에 있어서, 상기 제 1 제어부는, 상기 센싱 노드와 상기 제 1 노드 사이의 연결 타이밍을 제어하는 제 1 스위치, 상기 센싱 노드와 상기 제 2 노드 사이의 연결 타이밍을 제어하는 제 2 스위치, 및 상기 센싱 노드와 상기 제 1 노드 사이에 상기 제 1 스위치와 직렬로 연결되고, 상기 제 2 래치의 반전 노드에 연결된 게이트 전극을 갖는 제 1 트랜지스터를 포함할 수 있다.
상기 제어 회로는, 상기 비트 라인에 연결된 MLC의 문턱 전압이 상기 독출 전압보다 큰 경우 상기 제 2 노드를 논리 로우로 설정하는 제 2 제어부를 포함할 수 있다.
일 실시예에 있어서, 상기 제 2 제어부는, 상기 제 2 노드와 접지 사이의 연결 타이밍을 제어하는 제 3 스위치, 및 상기 제 2 노드와 접지 사이에 상기 제 3 스위치와 직렬로 연결되고, 상기 센싱 노드에 연결된 게이트 전극을 갖는 제 2 트랜지스터를 포함할 수 있다. 상기 제 2 제어부는, 상기 제 2 래치의 반전 노드와 접지 사이에 연결되고, 상기 제 2 노드를 논리 로우로 초기 설정하는 제 4 스위치 를 더 포함할 수 있다.
상기 제어 회로는, 상기 비트 라인에 연결된 MLC의 문턱 전압이 상기 검증 전압보다 큰 경우 상기 제 1 노드를 논리 하이로 설정하는 제 3 제어부를 포함할 수 있다.
일 실시예에 있어서, 상기 제 3 제어부는, 상기 제 1 래치의 반전 노드와 접지 사이의 연결 타이밍을 제어하는 제 5 스위치, 및 상기 제 1 래치의 반전 노드와 접지 사이에 상기 제 5 스위치와 직렬로 연결되고, 상기 센싱 노드에 연결된 게이트 전극을 갖는 제 3 트랜지스터를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 페이지 버퍼 블록은, 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입하기 위하여 비트 라인 전압을 제어하고, 각각의 비트 라인과 연결된 복수의 페이지 버퍼들을 포함한다. 상기 각각의 페이지 버퍼는 제 1 래치, 제 2 래치 및 제어 회로를 포함한다.
상기 제 1 래치는 로드된 데이터의 각각의 비트값을 제 1 노드에 논리값으로 저장하고, 상기 제 2 래치는 상기 각각의 이전 상태를 판독하여 제 2 노드에 논리값으로 저장한다. 상기 제어회로는 상기 제 1 노드의 논리값 및 상기 제 2 노드의 논리값에 기초하여 상기 비트 라인 전압을 제어한다.
논리 로우에 상응하는 상기 제 1 노드의 전압은, 프로그램 동작시 센싱 노드를 통하여 상기 비트 라인에 인가되는 프로그램 허용 전압이고, 논리 하이에 상응 하는 상기 제 1 노드의 전압은, 프로그램 동작시 상기 비트 라인에 프리차지되는 프로그램 금지 전압일 수 있다.
상기 제어 회로는, 상기 제 2 노드가 논리 로우일 때 상기 프로그램 허용 전압이 상기 비트 라인에 인가되도록 상기 제 1 노드를 상기 비트 라인과 전기적으로 연결하는 제 1 제어부를 포함할 수 있다. 상기 제 1 제어부는, 상기 제 2 노드의 논리값에 기초하여 상기 제 1 노드의 논리 하이를 논리 로우로 전환시킬 수 있다.
상기 제 1 제어부는, 상기 센싱 노드와 상기 제 1 노드 사이의 연결 타이밍을 제어하는 제 1 스위치, 상기 센싱 노드와 상기 제 2 노드 사이의 연결 타이밍을 제어하는 제 2 스위치, 및 상기 센싱 노드와 상기 제 1 노드 사이에 상기 제 1 스위치와 직렬로 연결되고, 상기 제 2 래치의 반전 노드에 연결된 게이트 전극을 갖는 제 1 트랜지스터를 포함할 수 있다.
상기 제 2 래치의 전류 싱킹 능력(current sinking capacity)은 상기 제 1 래치의 전류 소싱 능력(current sourcing capacity)보다 클 수 있다.
상기 제어 회로는, 상기 비트 라인에 연결된 MLC의 문턱 전압이 상기 MLC의 게이트 전극에 인가되는 독출 전압보다 큰 경우 상기 제 2 노드를 논리 로우로 설정하는 제 2 제어부를 포함할 수 있다.
상기 제 2 제어부는, 상기 제 2 노드와 접지 사이의 연결 타이밍을 제어하는 제 3 스위치, 및 상기 제 2 노드와 접지 사이에 상기 제 3 스위치와 직렬로 연결되고, 상기 센싱 노드에 연결된 게이트 전극을 갖는 제 2 트랜지스터를 포함할 수 있다. 상기 제 2 제어부는, 상기 제 2 래치의 반전 노드와 접지 사이에 연결되고, 상기 제 2 노드를 논리 로우로 초기 설정하는 제 4 스위치를 더 포함할 수 있다.
상기 제어 회로는, 상기 비트 라인에 연결된 MLC의 문턱 전압이 상기 MLC의 게이트 전극에 인가되는 검증 전압보다 큰 경우 상기 제 1 노드를 논리 하이로 설정하는 제 3 제어부를 포함할 수 있다.
상기 제 3 제어부는, 상기 제 1 래치의 반전 노드와 접지 사이의 연결 타이밍을 제어하는 제 5 스위치, 및 상기 제 1 래치의 반전 노드와 접지 사이에 상기 제 5 스위치와 직렬로 연결되고, 상기 센싱 노드에 연결된 게이트 전극을 갖는 제 3 트랜지스터를 포함할 수 있다.
따라서, 간단한 구성에 의하여 효과적으로 MLC의 프로그램을 수행함으로써 페이지 버퍼의 면적을 감소하여 메모리 장치의 집적도를 향상시킬 수 있고, 하나의 멀티 레벨 셀에 기입되는 비트수의 증가에 따른 전체 프로그램 시간을 감소시킬 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안될 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어 야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 MLC의 프로그램 방법을 설명하기 위한 도면들이다.
도 5 및 도 6에는 공통의 선택 워드 라인과 각각의 비트 라인에 연결되고 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 복수의 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입하는 MLC의 프로그램 방법이 도시되어 있다.
도 5를 참조하면, 2개의 페이지가 기입되어 있는 MLC들은 문턱 전압의 분포에 따라 4개의 이전 상태(PS1 내지 PS4) 중 하나의 상태를 갖는다. 여기서 상태를 구별하기 위한 첨자가 작을수록 높은 문턱 전압 분포(이하, 간략히 문턱 전압이라 한다)를 갖는 것을 나타낸다. 가장 오른 쪽의 상태(PS1)는 가장 높은 문턱 전압으로 프로그램된 MLC의 상태를 나타내며, 가장 왼 쪽의 상태(PS4)는 프로그램되지 않 고 소거된 채로 남아 있는 MLC의 상태를 나타낸다. 4개의 이전 상태(PS1 내지 PS4)는 각각 2비트 데이터'00', '10', '01' 및 '11'이 기입된 MLC의 상태를 나타낸다.
도 5에 도시된 바와 같이, 세 번째 페이지에 상응하는 데이터가 로드된 후, 각각의 이전 상태 및 로드된 데이터의 각각의 비트값에 기초하여 문턱 전압이 가장 높은 상태(S1)부터 낮은 상태(S7)까지 상기 MLC들의 각각의 상태(S1 내지 S7)가 순차적으로 프로그램된다.
먼저, 문턱 전압이 가장 높은 이전 상태(PS1)로부터 2개의 상태들(S1, S2)이 프로그램된다. 이때, 세 번째 페이지의 데이터의 비트값이 '0'에 상응하는 상태(S1)에 대하여 검증 및 프로그램이 수행되고, 문턱 전압이 가장 높은 상태(S1)의 검증이 완료되면, 세 번째 페이지의 데이터의 비트값이 '1'에 상응하는 상태S(2)의 검증 및 프로그램이 수행된다.
문턱 전압이 가장 높은 이전 상태(PS1)로부터 상위 2개의 상태(S1, S2)의 검증이 완료되면 같은 방식으로 두 번째로 문턱 전압이 높은 이전 상태(PS2)로부터 2개의 상태들(S3, S4)에 해당하는 MLC들에 대하여 검증 및 프로그램이 수행된다.
이와 같이, 각각의 이전 상태(PS1 내지 PS4)로부터 2개씩, 7개의 상태들(S1 내지 S7)이 순차적으로 프로그램된다. 문턱 전압이 가장 낮은 상태(S8)는 프로그램되지 않고 소거된 채로 남아 있는 상태이며 문턱 전압이 가장 낮은 이전 상태(PS4)와 실질적으로 동일한 상태이다.
세 번째 페이지의 프로그램이 완료된 8개의 상태들(S1 내지 S8)은 각각 3비 트 데이터'000', '100', '010', '110', '001', '101', '011'및 '111'이 기입된 MLC의 상태를 나타낸다.
도 6을 참조하면, 3개의 페이지가 기입되어 있는 MLC들은 문턱 전압의 분포에 따라 8개의 이전 상태(PS1 내지 PS8) 중 하나의 상태를 갖는다. 도 5에 도시된 세 번째 페이지가 기입된 후의 8개의 상태들(S1 내지 S8)은 도 6에 도시된 네 번째 페이지가 기입되기 전의 8개의 이전 상태들(PS1 내지 PS8)과 실질적으로 동일하다. 여기서 상태를 구별하기 위한 첨자가 작을수록 높은 문턱 전압을 갖는 것을 나타낸다. 가장 오른 쪽의 상태(PS1)는 가장 높은 문턱 전압으로 프로그램된 MLC의 상태를 나타내며, 가장 왼 쪽의 상태(PS8)는 프로그램되지 않고 소거된 채로 남아 있는 MLC의 상태를 나타낸다. 8개의 이전 상태(PS1 내지 PS8)는 3비트 데이터'000', '100', '010', '110', '001', '101', '011'및 '111'이 기입된 MLC의 이전 상태를 나타낸다.
도 6에 도시된 바와 같이, 네 번째 페이지에 상응하는 데이터가 로드된 후, 각각의 이전 상태 및 로드된 데이터의 각각의 비트값에 기초하여 문턱 전압이 가장 높은 상태(S1)부터 낮은 상태(S16)까지 상기 MLC들의 각각의 상태(S1 내지 S15)가 순차적으로 프로그램된다.
도 5에서 설명한 바와 같이, 문턱 전압이 가장 높은 이전 상태(PS1)로부터 상위 2개의 상태들(S1, S2)의 검증이 완료되면 같은 방식으로 두 번째로 문턱 전압이 높은 이전 상태(PS2)로부터 2개의 상태들(S3, S4)에 해당하는 MLC에 대하여 검증 및 프로그램이 수행된다.
이와 같이, 각각의 이전 상태(PS1 내지 PS8)로부터 2개씩, 15개의 상태들(S1 내지 S15)이 순차적으로 프로그램된다. 문턱 전압이 가장 낮은 상태(S16)는 상기 과정에서 프로그램되지 않고 소거된 채로 남아 있는 상태이며 문턱 전압이 가장 낮은 이전 상태(PS8)와 실질적으로 동일한 상태이다. 네 번째 페이지의 프로그램이 완료된 16개의 상태들(S1 내지 S8)은 4비트 데이터'0000', '1000', '0100', '1100', '0010', '1010', '0110', '1110', '0001', '1001', '0101', '1101', '0011', '1011', '0111'및 '1111'이 각각 기입된 MLC의 상태를 나타낸다.
도 5 및 도 6을 참조하여 3비트 및 4비트를 MLC에 프로그램하는 방법을 설명하였으나, 같은 방식으로 임의의 N비트(N은 2이상의 정수)가 하나의 MLC에 프로그램 될 수 있다.
도 7은 본 발명의 일 실시예에 따른 MLC의 프로그램 방법을 나타내는 순서도이다.
도 7에는 공통의 선택 워드 라인과 각각의 비트 라인에 연결되고 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 복수의 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입하는 MLC의 프로그램 방법이 도시되어 있다.
먼저, 상기 하나의 페이지에 상응하는 데이터가 로드된다(단계 SP110). 판독된 이전 상태 PS(K) 및 상기 로드된 데이터의 각각의 비트값 (즉,'0'또는 '1')에 기초하여 문턱 전압이 가장 높은 상태 S1부터 상기 MLC들의 각각의 상태가 순차적으로 프로그램된다(SP120, SP130, SP140, SP145).
상기 MLC들의 각각의 상태를 문턱 전압이 높은 상태부터 순차적으로 프로그램하기 위하여, 먼저, 상기 선택 워드 라인에 독출 전압을 인가하여 상기 이전 상태들을 판독한다(SP120). 상기 판독된 이전 상태 및 상기 데이터의 각각의 비트값에 기초하여, 상기 독출 전압에 상응하는 하나의 이전 상태 PS(k)로부터 2개의 상태 S(2k-1) 및 S(2k)를 순차적으로 프로그램한다(SP130).
이와 같이, 상기 독출 전압을 순차적으로 감소하면서 각각의 독출 전압에 대하여 상기 이전 상태를 판독하는 단계(SP110)와 상기 2개의 상태를 순차적으로 프로그램하는 단계(SP130)를 반복한다(SP140, SP145).
도 8은 도 7의 검증 및 프로그램 동작을 나타내는 순서도이다.
도 8에는 도 7의 2개의 상태 S(2k-1) 및 S(2k)를 순차적으로 프로그램하는 단계(SP130)가 더욱 상세하게 도시되어 있다.
도 8을 참조하면, 하나의 이전 상태 S(k)로부터 2개의 상태 S(2k-1) 및 S(2k)를 순차적으로 프로그램하는 단계(SP130)는, 상기 비트값의 제 1 논리값에 상응하는 제 1 상태 S(2k-1)를 검증 및 프로그램하는 단계(SP131), 및 상기 비트값의 제 2 논리값에 상응하는 제 2 상태 S(2k)를 검증 및 프로그램하는 단계(SP132)를 포함한다. 도 8에 도시된 바와 같이, 상기 제 1 상태 S(2k-1)의 검증이 완료된 후 상기 제 1 상태보다 다음으로 낮은 문턱 전압을 갖는 제 2 상태 S(2k)에 대해 검증 및 프로그램이 수행된다.
예를 들어, 상기 제 1 논리값은 논리 로우이고, 상기 제 2 논리값은 논리 하이일 수 있다. 이 경우, 로드된 데이터의 비트값이 논리 로우(즉, '0')인 MLC가 상기 제 1 상태로 프로그램된 후, 로드된 데이터의 비트값이 논리 하이(즉, '1')인 MLC가 상기 제 2 상태로 프로그램된다.
따라서, 예를 들어, 세 번째 페이지가 기입되는 경우에 3비트 데이터 '000', '100', '010', '110', '001', '101', '011'및 '111'의 상태를 갖는 MLC들이 순차적으로 프로그램된다. '000'의 데이터는 가장 높은 문턱 전압을 갖는 상태를 나타내고, '111'은 가장 낮은 문턱 전압을 갖는, 즉 프로그램되지 않고 소거된 채로 남아있는 상태를 나타낸다.
이하에서는, 상기 MLC의 프로그램 방법을 실시하기 위한 불휘발성 메모리 장치에 대하여 설명한다.
도 9는 본 발명의 일 실시예에 따른 불휘발성 메모리 장치를 나타내는 블록도이고, 도 10은 도 9의 메모리 셀 어레이 및 페이지 버퍼 블록을 나타내는 도면이다.
도 9를 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼 블록(120) 및 행 선택 회로(140)를 포함한다.
도 10에 도시된 바와 같이, 메모리 셀 어레이(110a)는 열 방향으로 신장된 복수의 낸드 스트링으로 구성될 수 있다. 낸드 스트링은 스트링 선택 트랜지스터(SST)와 접지 선택 트랜지스터(GST) 사이에 직렬로 연결된 복수의 메모리 셀 들(M1 내지 Mm)로 이루어지고, 서로 다른 낸드 스트링들에 속하는 복수의 메모리 셀들이 각각의 워드 라인(WL1, WL2,..., WLm)에 공통으로 연결된다.
스트링 선택 트랜지스터(SST)들은 스트링 선택 라인(SSL)에 공통으로 연결되고, 접지 선택 트랜지스터(GST)들은 접지 선택 라인(GSL)에 공통으로 연결된다. 각 스트링 선택 트랜지스터(SST)의 드레인은 열 방향으로 신장된 비트 라인(BLe, BLo)과 각각 연결되고 각 접지 선택 트랜지스터(GST)의 소스는 공통 소스 라인(CSL)에 연결된다.
도 10에는 NAND형 메모리 셀 어레이(110a)가 도시되어 있으나, 본 발명은 NAND형 플래시 메모리 장치에만 한정되는 것은 아니며, 페이지 단위로 MLC의 프로그램이 수행될 수 있는 불휘발성 메모리 장치에 모두 적용될 수 있다.
행 선택 회로(140)는 스트링 선택 라인(SSL), 접지 선택 라인(GSL) 및 복수의 워드 라인들(WL1, WL2,..., WLm)을 통하여 상기 메모리 셀 어레이(110)와 연결된다. 행 선택 회로(140)는 프로그램 동작시 행 어드레스 신호에 의해 선택된 워드 라인에 프로그램 전압을 인가하고 선택되지 않은 워드 라인들에 패스 전압을 인가한다.
페이지 버퍼 블록(120a)은 한 쌍의 비트 라인들(BLe, BLo)에 각각 연결된 복수의 페이지 버퍼들(130)을 포함한다. 열 선택 회로(도시 안됨)는 열 어드레스에 응답하여 하나의 페이지에 해당하는 복수의 비트 라인을 선택한다. 짝수 비트 라인(BLe)들에 연결된 하나의 페이지에 해당하는 메모리 셀들과 홀수 비트 라인(BLo)들에 연결된 다른 하나의 페이지에 해당하는 메모리 셀들은 선택 신호(BSL1, BSL2) 에 따라 교호적으로 턴온되는 트랜지스터(S1, S2)에 의하여 택일적으로 선택된다. 컨트롤러(도시 안됨)는 프로그램 동작을 위한 전압 레벨을 제어하고, 메모리 셀 어레이(110), 페이지 버퍼 블록(120) 및 행 선택 회로(140)의 동작 타이밍을 제어한다.
도 9에 도시된 불휘발성 메모리 장치(100)는 적어도 하나 이상의 이전 페이지(previous page)가 기입되어 각각의 이전 상태(previous state)를 갖는 멀티 레벨 셀(MLC)들에 하나의 페이지를 기입한다.
이를 위하여, 행 선택 회로(140)는 상기 MLC들의 이전 상태(previous state)를 판독하기 위하여 순차적으로 감소하는 독출 전압을 선택 워드 라인에 인가하고, 문턱 전압이 높은 상태부터 상기 MLC들의 각각의 상태를 순차적으로 프로그램하기 위하여 순차적으로 감소하는 검증 전압을 상기 선택 워드 라인에 인가한다. 행 선택 회로에서 출력되는 전압들에 대해서는 도 11을 참조하여 후술한다.
페이지 버퍼 블록(120)은 기입될 하나의 페이지에 해당하는 데이터를 로드하고, 문턱 전압이 높은 상태부터 상기 MLC들의 각각의 상태를 순차적으로 프로그램하기 위하여 상기 판독된 이전 상태 및 상기 로드된 데이터의 각각의 비트값에 기초하여 비트 라인 전압을 제어한다. 페이지 버퍼 블록(120)의 구체적인 구성 및 동작은 후술하기로 한다.
도 11은 도 9의 불휘발성 메모리 장치의 프로그램 동작에서의 독출 전압 및 검증 전압을 나타내는 도면이다.
도 11에는, 2개의 페이지가 기입되어 있는 이전 상태를 판독하기 위한 독출 전압들(VRD1 내지 VRD3) 및 하나의 이전 상태로부터 각각 2개의 상태를 순차적으로 검증하기 위한 검증 전압들(V1 내지 V7)이 도시되어 있다.
예를 들어, 2개의 페이지가 기입되어 있는 이전 상태(PS1 내지 PS3)를 판독하기 위하여 선택 워드 라인에 순차적으로 감소하는 독출 전압(VRD1, VRD2, VRD3)을 인가하고, 각각의 독출 전압에 대하여 상기 MLC들의 7개의 상태(S1 내지 S7)를 순차적으로 프로그램하기 위하여 선택 워드 라인에 순차적으로 감소하는 검증 전압(V1 내지 V7)을 인가한다.
선택 워드 라인에 제 1 독출 전압(VRD1)을 인가한 후 순차적으로 감소된 제 2 독출 전압(VRD2)을 인가하기 전에, 제 1 검증 전압(V1) 및 제 1 검증 전압(V1)보다 낮은 제 2 검증 전압(V2)을 순차적으로 인가한다. 제 1 검증 전압(V1)은 상기 제 1 독출 전압(VRD1)에 상응하는 이전 상태로부터 제 1 상태를 검증 및 프로그램하기 위한 것이고, 제 2 검증 전압(V2)은 상기 제 1 독출 전압(VRD1)에 상응하는 이전 상태로부터 제 1 상태보다 문턱 전압이 낮은 제 2 상태를 검증 및 프로그램하기 위한 것이다.
검증이 완료될 때까지, 검증 및 프로그램이 반복되지만, 검증에 뒤이어 선택 워드 라인에 인가되는 프로그램 전압은 도 11에 도시를 생략하였다. 종래의 기술과 같이, 검증이 반복될 때마다 순차적으로 전압 레벨이 증가하는 증가형 스텝 펄스(Incremental Step Pulse)를 상기 선택 워드 라인에 인가할 수 있다. 본 발명의 일 실시예에 따른 불휘발성 메모리 장치(100)는 문턱 전압이 높은 상태부터 순차적으로 프로그램하기 때문에, 상기 프로그램되는 상태의 문턱 전압이 낮을수록 상기 증가형 스텝 펄스의 시작 레벨을 감소시킬 수 있다. 따라서, 먼저 프로그램된 MLC들이, 다른 MLC를 프로그램하기 위해 선택 워드 라인에 인가되는 프로그램 전압에 의하여, 과잉 프로그램되는 것을 방지할 수 있다.
도 11에서, 6개의 상태에 대한 검증 전압들(V1 내지 V6) 다음에 인가되는 독출 전압(VRD4)은 도시가 생략되어 있다. 가장 낮은 독출 전압(VRD4)에 의해 판독될 이전 상태는 통상 음(-)의 문턱 전압을 가지며, 그 이전 상태로부터는 독출 전압(V7)에 의해 하나의 상태만이 프로그램된다. 따라서, 독출 전압(VRD4)을 인가할 필요 없이 직접 검증 전압(V7)에 의해 검증 및 프로그램을 수행할 수 있다.
도 12는 본 발명의 일 실시예에 따른 페이지 버퍼를 나타내는 블록도이다.
페이지 버퍼 블록(120)에 포함된 복수의 페이지 버퍼들은 동일한 구성을 가질 수 있으며, 도 12에는 하나의 비트 라인(BL)에 연결된 하나의 페이지 버퍼(130)가 도시되어 있다.
도 12를 참조하면, 페이지 버퍼(130)는 제 1 래치(131), 제 2 래치(132) 및 제어 회로(133)를 포함한다.
제 1 래치(131)(또는, 래치-A라 한다)는 데이터 입출력 라인으로부터 제공되는 데이터의 각각의 비트값을 제 1 노드(NA)에 논리값으로서 저장하고, 제 2 래치(132)(또는, 래치-B라 한다)는 판독된 각각의 MLC의 이전 상태를 제 2 노드(NB)에 논리값으로서 저장한다.
상기 제 1 노드(NA)는 제 1 래치(131)의 기억 노드이고, 제 1 래치(131)는 상기 제 1 노드(NA)와 반대의 논리값을 갖는 반전 노드(NA1)를 포함한다. 마찬가 지로, 상기 제 2 노드(NB)는 제 2 래치(132)의 기억 노드이고, 제 2 래치(132)는 상기 제 2 노드(NB)와 반대의 논리값을 갖는 반전 노드(NB1)를 포함한다.
제 1 래치(131) 및 제 2 래치(132)의 각각은 2개의 상호 접속된 인버터들로 구현될 수도 있고, 클록의 논리값에 의존하여 셋팅 또는 리셋팅 되는 클록 동기 인버터 래치(clocked inverter latch)로 구현될 수도 있다.
제어 회로(133)는 상기 제 1 노드(NA)의 논리값 및 상기 제 2 노드(NB)의 논리값에 기초하여 상기 비트 라인 전압을 제어한다. 제어 회로(133)의 상세한 구성 및 동작은 도 13 내지 도 18을 참조하여 후술한다.
페이지 버퍼(130)는 센싱 노드(SN)를 통하여 비트 라인(BL)과 연결된다. 비트 라인(BL)과 페이지 버퍼(130)의 연결 타이밍을 제어하기 위해, 비트 라인 클램프 신호(BLCMP)에 응답하여 스위칭 동작하는 트랜지스터(BCT)가 비트 라인(BL)과 페이지 버퍼(130) 사이에 배치될 수 있다. 또한, 비트 라인(BL)을 프리차지 전압(VP)으로 프리차지(precharge)하는 타이밍을 제어하기 위하여, 프리차지 신호(PRE)에 응답하여 스위칭 동작하는 트랜지스터(PRT)가 센싱 노드(SN)에 접속될 수 있다.
도 13은 도 12의 페이지 버퍼의 구성을 나타내는 회로도이다.
도 13을 참조하면, 제 1 래치(131)와 제 2 래치(132)는 각각 상호 접속된 2개의 인버터들을 포함한다. 도 12에 도시된 제어 회로(133)는, 도 13에 나타낸 바와 같이 그 기능(function)에 따라 제 1 제어부(133a), 제 2 제어부(133b) 및 제 3 제어부(133c)로 구분될 수 있다.
제 1 제어부(133a)는 상기 제 2 노드(NB)가 논리 로우일 때 프로그램 허용 전압이 비트 라인(BL)에 인가되도록 상기 제 1 노드(NA)를 상기 비트 라인(BL)과 전기적으로 연결하는 비트 라인 전압 인가 동작을 수행한다.
여기서 프로그램 허용 전압은 비트 라인(BL)에 연결된 MLC가 프로그램될 수 있는 레벨의 비트 라인 전압을 말한다. 예를 들어, 프로그램 허용 전압은 제 1 노드(NA)의 논리 로우에 해당하는 전압, 즉, 접지 전압일 수 있다. 이와는 반대로 프로그램 금지 전압은 채널의 부우스트(boost) 효과 등에 의해 비트 라인(BL)에 연결된 MLC가 프로그램되는 것을 방지할 수 있는 레벨의 비트 라인 전압을 말한다. 예를 들어, 프로그램 금지 전압은 제 1 노드(NA)의 논리 하이에 해당하는 전압, 즉, 전원 전압(VCC))일 수 있다.
하나의 이전 상태로부터 제 1 상태 및 제 2 상태를 검증 및 프로그램하기 위해, 제 1 제어부(133a)는 제 1 노드(NA)의 논리 로우에 상응하는 상기 제 1 상태의 검증이 완료된 후 제 1 노드(NA)의 논리 하이에 상응하는 제 2 상태의 프로그램 동작 전에, 제 2 노드(NB)에 저장된 논리값에 기초하여 제 1 노드(NA)에 저장된 논리 하이를 논리 로우로 전환시키는 래치 상태 전환 동작을 수행한다.
상기 비트 라인 전압 인가 동작 및 래치 상태 전환 동작을 수행하기 위하여, 제 1 제어부(133a)는 제 1 스위치(ST1), 제 2 스위치(ST2), 및 제 1 트랜지스터(NT1)를 포함할 수 있다.
제 1 스위치(ST1)는 센싱 노드(SN)와 제 1 노드(NA) 사이의 연결 타이밍을 제어하고, 제 2 스위치(ST2)는 센싱 노드(SN)와 제 2 노드(NB) 사이의 연결 타이밍 을 제어한다. 제 1 트랜지스터(NT1)는 센싱 노드(SN)와 제 1 노드(NA) 사이에 제 1 스위치(ST1)와 직렬로 연결되고, 제 2 래치(132)의 반전 노드(NB1)에 연결된 게이트 전극을 갖는다.
제 2 제어 회로(133b)는 비트 라인(BL)에 연결된 MLC의 문턱 전압이 선택 워드 라인에 인가되는 독출 전압보다 큰 경우 제 2 노드(NB)를 논리 로우로 설정하는 검증 동작을 수행한다.
상기 검증 동작을 수행하기 위하여, 제 2 제어부(133b)는 제 3 스위치(ST3) 및 제 2 트랜지스터(NT2)를 포함할 수 있다.
제 3 스위치(ST3)는 제 2 노드(NB)와 접지 사이의 연결 타이밍을 제어한다. 제 2 트랜지스터(NT2)는 제 2 노드(NB)와 접지 사이에 제 3 스위치(ST3)와 직렬로 연결되고, 센싱 노드(SN)에 연결된 게이트 전극을 갖는다.
제 2 제어부(133b)는, 하나의 페이지를 문턱 전압이 높은 상태부터 순차적으로 MLC들에 기입하기 전에 제 2 노드(NB)의 논리값을 초기 설정하는 셋팅 동작을 수행한다. 이를 위하여, 제 2 제어부(133b)는 제 2 래치(132)의 반전 노드(NB1)와 접지 사이에 연결되고, 제 2 노드를 논리 로우로 초기 설정하는 제 4 스위치(ST4)를 포함할 수 있다.
제 3 제어부(133c)는 비트 라인(BL)에 연결된 MLC의 문턱 전압이 선택 워드 라인에 인가되는 검증 전압보다 큰 경우 제 1 노드(NA)를 논리 하이로 설정하는 검증 동작을 수행한다.
상기 검증 동작을 수행하기 위하여, 제 3 제어부(133c)는 제 5 스위치(ST5) 및 제 3 트랜지스터(NT3)를 포함할 수 있다.
제 5 스위치(ST5)는 제 1 래치(131)의 반전 노드(NA1)와 접지 사이의 연결 타이밍을 제어한다. 제 3 트랜지스터(NT3)는 제 1 래치(131)의 반전 노드(NA1)와 접지 사이에 제 5 스위치(ST5)와 직렬로 연결되고, 센싱 노드(SN)에 연결된 게이트 전극을 갖는다.
제 3 제어부(133c)는 데이터 입출력 라인(DL, DL/)을 통하여 제공되는 데이터의 각각의 비트값을 제 1 노드(NA)에 저장하는 데이터 로드 동작을 수행하기 위하여, 입출력 제어 신호(DIO)에 의해 동작하는 스위치들(DT1, DT2)을 포함할 수 있다. 도 13에는 데이터가 차동 신호(differential signal)의 형태로 제공되는 구성이 도시되어 있으나, 데이터가 싱글-엔디드 신호(single-ended signal)의 형태로 제공되는 구성도 가능하다.
상기 스위치들(ST1 내지 ST5)은 외부에서 제공되는 타이밍 제어 신호들(CRT1 내지 CRT5)에 각각 응답하여 스위칭 동작을 수행할 수 있다. 상기 트랜지스터들(NT1 내지 NT3) 및 스위치들(ST1 내지 ST5)의 전부 또는 일부는 MOS 트랜지스터로 구현될 수 있으며, 특히 NMOS 트랜지스터로 구현될 수 있다.
이하, 도 14 내지 도 18을 참조하여, 페이지 버퍼(130a)의 동작을 설명한다.
도 14는 도 13에 도시된 페이지 버퍼의 데이터 로드 동작 및 초기 셋팅 동작을 나타내는 도면이다.
데이터 로드 동작에서, 입출력 제어 신호(DIO)가 활성화되어 트랜지스터들(DT1, DT2)이 턴온되면 데이터 입출력 라인(DL, DL/)으로부터 전도 경로(PTH1)를 통하여 데이터의 각각의 비트값이 제 1 노드(NA)에 저장된다. 입력되는 비트값이 '0'인 경우 제 1 노드(NA)에는 논리 로우가 저장되고, 입력되는 비트값이 '1'인 경우 제 1 노드(NA)에는 논리 하이가 저장될 수 있다. 제 1 래치(131)의 반전 노드(NA1)에는 제 1 노드(NA)와 반대의 논리값이 저장된다.
초기 설정 동작에서, 타이밍 제어 신호(CRT4)가 활성화되어 스위치(ST4)가 턴온되면 접지로부터의 전도 경로(PTH2)를 통하여 제 2 래치(132)의 반전 노드(NB1)는 논리 로우로 셋팅 되고, 따라서 제 2 노드(NB)는 논리 로우로 초기 설정된다. 순차적인 검증 및 프로그램 동작이 수행되기 전에 복수의 페이지 버퍼들의 모든 제 2 노들(NB)들은 논리 하이로 초기 설정될 수 있다.
도 15는 도 13에 도시된 페이지 버퍼의 이전 상태 독출 동작을 나타내는 도면이다.
이전 상태 독출 동작에서, 타이밍 제어 신호(CRT3) 및 비트 라인 클램프 신호(BLCMP)가 활성화되어 제 3 스위치(ST3) 및 트랜지스터(BCT)가 턴온된다. 따라서, 전도 경로(PTH3)를 통하여 비트 라인(BL)의 전압이 제 2 트랜지스터(NT2)의 게이트에 인가된다.
비트 라인(BL)의 전압이 논리 하이인 경우에는 제 2 트랜지스터(NT2)가 턴온되어 접지로부터의 전도 경로(PH4)를 통하여 제 2 노드(NB)는 논리 로우로 설정된다. 비트 라인(BL)의 전압이 논리 로우인 경우에는 제 2 트랜지스터(NT2)가 턴오프되어 접지로부터의 전도 경로(PH4)가 형성되지 않으므로 제 2 노드(NB)는 종전의 논리값을 유지한다.
따라서, 비트 라인(BL)에 연결된 MLC의 문턱 전압이 선택 워드 라인에 인가되는 독출 전압보다 큰 경우에는 상기 MLC가 턴오프되어 비트 라인(BL)은 프리차지된 전압, 즉, 논리 하이를 유지하므로, 제 2 노드(NB)는 논리 로우로 설정되고, 상기 문턱 전압이 독출 전압보다 작은 경우에는 상기 MLC가 턴온되어 비트 라인(BL)은 공통 소스 라인(도 10의 CSL)의 전압, 즉 논리 로우가 되므로, 제 2 노드(NB)는 종전의 논리값을 유지한다.
도 16은 도 13에 도시된 페이지 버퍼의 검증 동작을 나타내는 도면이다.
검증 동작에서, 타이밍 제어 신호(CRT5) 및 비트 라인 클램프 신호(BLCMP)가 활성화되어 제 5 스위치(ST5) 및 트랜지스터(BCT)가 턴온된다. 따라서, 전도 경로(PTH5)를 통하여 비트 라인(BL)의 전압이 제 3 트랜지스터(NT3)의 게이트에 인가된다.
비트 라인(BL)의 전압이 논리 하이인 경우에는 제 3 트랜지스터(NT3)가 턴온되어 접지로부터의 전도 경로(PH6)를 통하여 제 1 래치(131)의 반전 노드(NA1)는 논리 로우로 설정된다.
비트 라인(BL)의 전압이 논리 로우인 경우에는 제 3 트랜지스터(NT3)가 턴오프되어 접지로부터의 전도 경로(PH6)가 형성되지 않으므로 제 1 래치(131)의 반전 노드(NA1)는 종전의 논리값을 유지한다. 즉, 비트 라인(BL)의 전압이 논리 하이인 경우에는 제 1 노드(NA)는 논리 하이로 설정되고, 비트 라인(BL)의 전압이 논리 로우인 경우에는 제 1 노드(NA)는 종전의 논리값을 유지한다.
따라서, 비트 라인(BL)에 연결된 MLC의 문턱 전압이 검증 전압보다 큰 경우 에는 상기 MLC가 턴오프되어 비트 라인(BL)은 프리차지된 전압, 즉, 논리 하이를 유지하므로 제 1 노드(NA)는 논리 하이로 설정되고, 상기 문턱 전압이 검증 전압보다 작은 경우에는 상기 MLC가 턴온되어 비트 라인(BL)은 공통 소스 라인(도 10의 CSL)의 전압, 즉 논리 로우가 되므로, 제 1 노드(NA)는 종전의 논리값을 유지한다.
도 17은 도 13에 도시된 페이지 버퍼의 비트 라인 전압 인가 동작을 나타내는 도면이다.
비트 라인 전압 인가 동작에서, 타이밍 제어 신호(CRT1) 및 비트 라인 클램프 신호(BLCMP)가 활성화되어 제 1 스위치(ST1) 및 트랜지스터(BCT)가 턴온된다. 한편, 전도 경로(PTH7)를 통하여 제 2 래치(132)의 반전 노드(NB1)의 전압이 제 1 트랜지스터(NT1)의 게이트에 인가된다.
제 2 래치(132)의 반전 노드(NB1)가 논리 하이인 경우, 즉 제 2 노드(NB)가 논리 로우인 경우에는 제 1 트랜지스터(NT1)가 턴온되어 전도 경로(PH8)를 통하여 제 1 노드(NA)의 전압이 비트 라인에 인가된다. 이 때, 제 1 노드(NA)가 논리 로우인 경우에는 비트 라인(BL)에 프로그램 허용 전압(예를 들어, 접지 전압인 0V)이 인가되므로 비트 라인(BL)에 연결된 MLC의 프로그램이 수행된다. 반면에, 제 1 노드(NA)가 논리 하이인 경우에는 전도 경로(PTH8)가 형성되더라도 비트 라인(BL)은 제 1 노드(NA)의 논리 하이에 상응하는 프로그램 금지 전압이 인가되므로 비트 라인(BL)에 연결된 MLC의 프로그램이 금지된다.
제 2 래치(132)의 반전 노드(NB1)가 논리 로우인 경우, 즉 제 2 노드(NB)가 논리 하이인 경우에는 제 1 트랜지스터(NT1)가 턴오프되어 전도 경로(PH8)가 형성 되지 않는다. 따라서, 비트 라인(BL)은 프리차지된 프로그램 금지 전압을 유지하므로 비트 라인(BL)에 연결된 MLC의 프로그램이 금지된다.
따라서, 상기 비트 라인 전압 인가 동작에 의하여 제 1 노드(NA) 및 제 2 노드(NB)가 모두 논리 로우인 경우에만 비트 라인(BL)에 연결된 MLC의 프로그램이 수행되고, 제 1 노드(NA) 및 제 2 노드(NB) 중 하나 이상이 논리 하이인 경우에는 프로그램이 금지된다.
도 18은 도 13에 도시된 페이지 버퍼의 래치 상태 전환 동작을 나타내는 도면이다.
도 8을 참조하여 설명한 바와 같이, 로드된 데이터의 비트값이 '0'(즉, 논리 로우)인 MLC가 판독된 이전 상태로부터 상기 제 1 상태로 프로그램되고, 그 다음에 로드된 데이터의 비트값이 '1'(즉, 논리 하이)인 MLC가 상기 제 2 상태로 프로그램된다. 래치 상태 전환 동작은 제 1 노드(NA)의 논리 로우에 상응하는 제 1 상태의 프로그램이 완료된 후에, 제 1 노드(NA)의 논리 하이에 상응하는 제 2 상태를 프로그램하기 위하여 제 1 노드의 논리 하이를 논리 로우로 전환하는 동작이다.
래치 상태 전환 동작에서, 타이밍 제어 신호(CRT2)가 활성화되어 제 2 스위치(ST2)가 턴온된다. 한편, 전도 경로(PTH7)를 통하여 제 2 래치(132)의 반전 노드(NB1)의 전압이 제 1 트랜지스터(NT1)의 게이트에 인가된다.
제 2 래치(132)의 반전 노드(NB1)가 논리 하이인 경우, 즉 제 2 노드(NB)가 논리 로우인 경우에는 제 1 트랜지스터(NT1)가 턴온되어 전도 경로(PH9)를 통하여 제 2 노드(NB)의 논리 로우가 제 1 노드(NA)에 전달된다.
이 때, 제 2 노드(NB)의 논리 로우를 이용하여 제 1 노드(NA)의 상태를 논리 로우로 전환하는 일방적인 전환 동작을 수행하여야 한다. 즉, 제 1 노드(NA)의 논리값이 제 2 노드(NB)로 전달되지 않도록 하여야 한다. 이를 위하여, 예를 들면, 제 2 래치(132)의 전류 싱킹 능력(current sinking capacity)을 제 1 래치(131)의 전류 소싱 능력(current sourcing capacity)보다 크게 할 수 있다. 또는, 제 1 노드(NA)와 접지 사이에 트랜지스터를 연결하고 상기 트랜지스터의 게이트에 제 2 래치(132)의 반전 노드(NB1)의 전압을 인가하는 것과 같은 구성을 채택할 수도 있다.
제 2 래치(132)의 반전 노드(NB1)가 논리 로우인 경우, 즉 제 2 노드(NB)가 논리 하이인 경우에는 제 1 트랜지스터(NT1)가 턴오프되어 전도 경로(PH9)가 형성되지 않으므로 래치 상태 전환 동작이 수행되지 않고, 제 1 노드(NA)는 종전의 논리값을 유지한다.
따라서, 제 2 노드(NB)가 논리 로우인 경우에만 래치 상태 전환 동작이 수행되고, 현재 검증 및 프로그램이 진행되고 있는 이전 상태보다 문턱 전압이 낮은 MLC들, 즉, 아직 검증 및 프로그램이 수행되지 않은 MLC들에 상응하는 제 1 노드(NA)들의 비트값은 상기 래치 상태 전환 동작에 의해 전환되지 않고 검증 및 프로그램이 수행될 때까지 종전에 저장된 논리 하이 또는 논리 로우를 유지한다.
도 19 및 도 20은 본 발명의 일 실시예에 따른 2개의 래치를 이용한 MLC의 프로그램 방법을 설명하기 위한 도면이다.
도 19에는, 각각의 동작(또는, 단계)(SP210, SP220a, SP231a, SP232a, SP233a)에 대하여, 그리고 현재 프로그램이 진행되는 이전 상태(SP1)와 아직 프로 그램이 진행되지 않는 이전 상태(PS2, PS3, PS4) 각각에 대하여, 제 1 노드(NA), 제 2 노드(NB) 및 비트 라인(BL)의 논리값들(H 또는 L)이 도시되어 있다.
도 19를 참조하면, 문턱 전압이 가장 높은 이전 상태(PS1)에 상응하는 제 1 상태(S1) 및 제 2 상태(S2)가 순차적으로 프로그램된다. 여기서, 제 1 상태는 문턱 전압이 가장 높은 S1 상태만을 나타내는 것은 아니며 로드된 데이터의 비트값이 '0'(논리값 L)인 경우를 일반적으로 나타내며, 제 2 상태는 상기 비트값이 '1'(논리값 H)인 경우를 나타낸다.
도 14의 데이터 로드 동작 및 초기 셋팅 동작에 의해 각각의 페이지 버퍼의 제 1 노드(NA)에 L 또는 H가 각각 로드되고, 제 2 노드(NB)는 H로 초기 설정된다.(SP210). 선택 워드 라인에 독출 전압(V1)이 인가되면, 도 15의 이전 상태 독출 동작에 의해 상기 독출 전압(V1)보다 문턱 전압이 높은 이전 상태(PS1)의 MLC들에 상응하는 제 2 노드(NB)가 L로 설정된다(SP220a). 도 16의 검증 동작 및 도 17의 비트 라인 전압 인가 동작에 의해, 검증이 완료될 때까지 제 1 상태(S1)에 대한 검증 및 프로그램 동작이 반복된다(SP231a).
상기 설명한 바와 같이, 제 1 노드(NA) 및 제 2 노드(NB)가 모두 L인 경우에만 비트라인에 프로그램 허용 전압이 인가되고, 나머지 경우에는 프로그램 금지 전압이 인가된다. 이 과정에서, 빠른 셀(SLOW CELL)의 검증이 먼저 완료되고, 검증 및 프로그램이 반복됨에 따라 순차적으로 느린 셀(SLOW CELL)의 검증이 완료된다. 제 1 상태의 검증이 완료되면 제 2 노드(NB)가 L인 모든 페이지 버퍼의 제 1 노드(NB)가 H로 설정된다.
검증이 완료되었는지 여부는 페이지 단위로 동시에 수행된다. 따라서, 모든 페이지 버퍼들에 대하여, 제 2 노드(NB)가 H인 경우 또는 제 2 노드(NB)가 L이고 제 1 노드(NA)가 H인 경우에 해당하는지를 확인함으로써 검증이 완료되었는지 확인할 수 있다.
제 1 상태(S1)의 검증이 완료되면, 도 18의 래치 상태 전환 동작에 의해 제 2 노드(NB)가 L인 경우에만 제 1 노드(NA)가 L로 전환된다(SP232a). 이때, 이미 프로그램이 완료된 제 1 상태(S1)에 상응하는 제 1 노드(NA)도 L로 전환되지만, 바로 다음의 검증 동작에 의해 이미 프로그램이 완료된 제 1 상태(S1)에 상응하는 제 1 노드(NA)는 다시 H로 설정되므로 프로그램이 금지된다. 따라서, 도 16의 검증 동작 및 도 17의 비트 라인 전압 인가 동작에 의해, 검증이 완료될 때까지 제 2 상태(S2)에 대한 검증 및 프로그램 동작이 반복된다(SP233a).
도 20에는, 각각의 동작(또는, 단계)(SP220b, SP231b, SP232b, SP233b)에 대하여, 그리고, 이미 프로그램이 완료된 이전 상태(PS1), 현재 프로그램이 진행되는 이전 상태(SP2)와 아직 프로그램이 진행되지 않는 이전 상태(PS3, PS4) 각각에 대하여, 제 1 노드(NA), 제 2 노드(NB) 및 비트 라인(BL)의 논리값들(H 또는 L)이 도시되어 있다.
도 20을 참조하면, 문턱 전압이 두 번째로 높은 이전 상태(PS2)에 상응하는 제 1 상태(S3) 및 제 2 상태(S4)가 순차적으로 프로그램된다. 제 1 상태(S3)는 로드된 데이터의 비트값이 '0'(논리값 L)인 경우에 해당하고, 제 2 상태(S4)는 상기 비트값이 '1'(논리값 H)인 경우에 해당한다.
상위 상태들(S1, S2)로 이미 프로그램되어 있는 이전 상태(PS1)에 상응하는 래치 상태(즉, 노드들의 논리값)가 추가적으로 도시된 점을 제외하고는, 도 20에서 현재 프로그램되는 이전 상태(PS2)와 프로그램이 진행되지 않는 이전 상태(PS3, PS4)에 대한 논리값들은 도 19에서 설명한 것과 동일하다.
선택 워드 라인에 독출 전압(V2)이 인가되면, 도 15의 이전 상태 독출 동작에 의해 상기 독출 전압(V2)보다 문턱 전압이 높은 이전 상태(PS1, PS2)에 상응하는 제 2 노드(NB)가 L로 설정된다(SP220b). 그러나, 이미 프로그램이 완료된 이전 상태(PS1)에 상응하는 제 1 노드(NA)는 모두 H이므로, 제 1 상태(S2)의 검증 및 프로그램 동작(SP231b) 동안에 이미 프로그램이 완료된 이전 상태(PS1)에 상응하는 MLC들의 프로그램은 금지된다.
제 1 상태(S3)의 프로그램이 완료되면, 도 18의 래치 상태 전환 동작에 의해 제 2 노드(NB)가 L인 경우에만 제 1 노드(NA)가 L로 전환된다(SP232a). 이때, 이미 프로그램이 완료된 이전 상태(PS1)와 제 1 상태(S3)에 상응하는 제 1 노드(NA)도 L로 전환되지만, 바로 다음의 검증 동작에 의해 이미 프로그램이 완료된 제 1 상태(S1)에 상응하는 제 1 노드(NA)는 다시 H로 설정되므로, 이미 프로그램이 완료된 이전 상태(PS1)와 제 1 상태(S3)에 상응하는 MLC들의 프로그램은 금지된다.
도 19 및 도 20에서 설명한 바와 같이, 세 번째 이전 상태(PS3)로부터 제 1 상태(S5)와 제 2 상태(S6)가 프로그램되고, 소거된 채로 남아 있는 이전 상태(PS4)로부터 제 1상태(S7)가 프로그램된다. 소거된 채로 남아 있는 이전 상태(PS4)에 상응하는 제 2 상태(S8)는 프로그램을 필요로 하지 않는다. 즉, 2개의 페이지가 기입된 마지막 이전 상태(PS4)와 3개의 페이지가 기입된 마지막 상태(S8)는 실질적으로 동일하며, 프로그램되지 않고 소거된 채로 남아 있는 상태를 나타낸다. 이와 같이, 각각의 이전 상태(PS1, PS2, PS3, PS4)로부터 로드된 데이터의 비트값이 '0'에 상응하는 제 1 상태들(S1, S3, S5, S7)과 제 2 상태들(S2, S4, S6)이, 문턱 전압이 높은 상태부터 순차적으로 프로그램된다.
도 19 및 도 20에는 2개의 페이지가 기입된 MLC들에 세 번째 페이지를 기입하는 방법이 설명되어 있으나, 해당 기술 분야의 당업자라면 동일한 방법에 의해 일반적으로 N(N은 2 이상의 정수)개의 페이지가 기입된 MLC들에 하나의 페이지를 추가로 기입할 수 있음을 쉽게 이해할 수 있을 것이다.