상술한 제반 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 증가형 스텝 펄스 전압을 생성하는 워드 라인 전압 발생 회로는 상기 프로그램 전압에 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결된 제 3 회로부를 포함하며, 상기 제 3 회로부의 저항값 설정에 의해 상기 프로그램 스텝 코드의 변경 없이 상기 프로그램 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 3 회로부는 직렬로 연결된 다수의 저항기와 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 3 회로부의 저항값을 다르게 설정 가능하다. 또는 상기 제 3 회로부는 병렬로 연결된 다수의 저항기와 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 3 회로부의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
프로그램 사이클의 프로그램 루프에 따른 워드 라인 전압의 증가분은 프로그램 스텝들 사이의 상기 제 2 가변 회로부에서의 저항값 변화율과 상기 제 3 회로부의 저항값 사이의 관계로 결정된다.(수학식 3 참조) 워드 라인 전압의 증가분을 변경하기 위해서는 상기 프로그램 스텝 코드에 의해 제어되는 상기 제 2 가변 회로부에서 저항값의 변화율을 변경시키거나, 상기 제 3 회로부의 저항값을 변경시켜야 한다. 전자의 방식은 프로그램 스텝 코드를 변경하기 위한 별도의 회로가 추가되어야 하며, 워드 라인 전압의 증가분을 디폴트값의 정수 배로만 변경 가능하다는 단점이 있다. 상기 제 3 회로부의 저항값을 변화시키는 후자의 방법은 제 3 회로부의 저항값의 선택에 따라 워드 라인 전압의 증가분을 임의의 값으로 설정할 수 있다. 따라서 본 발명은 상기 스위치의 제어를 통해 상기 제 3 회로부의 저항값을 다양하게 선택함으로써 상기 프로그램 스텝 코드의 변화 없이 워드 라인 전압의 증가분을 임의의 값으로 설정 가능하게 한다.
이 특징에 있어서, 상기 프로그램 전압은 프로그램 사이클의 프로그램 루프가 반복될 때마다 프로그램 사이클 시작 전에 결정된 상기 프로그램 전압의 증가분만큼 단계적으로 증가한다.
이 특징에 있어서, 상기 워드 라인 전압 발생 회로는 클럭 신호에 응답하여 선택된 행에 상기 프로그램 전압을 제공하는 챠지 펌프와; 그리고 상기 분배 전압과 기준 전압을 비교하여 상기 클럭 신호를 발생하는 챠지 펌프 제어기를 더 포함한다.
본 발명의 다른 특징에 따르면, 증가형 스텝 펄스 전압을 생성하는 워드 라 인 전압 발생 회로는 상기 프로그램 전압에 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결된 제 3 회로부를 포함한다. 상기 제 1 회로부와 상기 제 3 회로부는 대칭되는 구성을 가지고, 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드의 변경 없이 스타트 프로그램 전압을 고정된 값으로 유지하면서 상기 프로그램 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 및 제 3 회로부 각각은 직렬로 연결된 다수의 저항기와 상기 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 또는 상기 제 1 및 제 3 회로부 각각은 병렬로 연결된 다수의 저항기와 상기 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
스타트 프로그램 전압은 상기 제 3 회로부의 저항값과 상기 제 1 회로부의 저항값의 비로 결정된다.(수학식 2 참조) 상기 제 3 회로부의 저항값은 워드 라인 전압의 증가분을 결정하면 결정되므로, 상기 제 1 회로부의 저항값의 선택에 따라 스타트 프로그램 전압을 조절할 수 있다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 따라서 상기 스위치 세트의 동작에 의해 어느 스위치 세트가 온/오프 되든 상기 제 1 회로부와 상기 제 3 회로부의 저항값의 비는 일정하게 유지된다. 즉 상기 스위치 세트의 제어에 의해 상기 프로그램 스텝 코드의 변화 없이 스타트 프로그램 전압을 고정된 값으로 유지하면서 프로그램 전압의 증가분을 다르게 설정 가능하다. 상기 프로그램 사이클의 프로그램 루프들이 반복될 때마다 상기 워드 라인 전압은 상기 프로그램 사이클 시작 전에 결정된 상기 워드 라인 전압의 증가분만큼 단계적으로 증가한다.
이 특징에 있어서, 상기 워드 라인 전압 발생 회로는 클럭 신호에 응답하여 선택된 행에 프로그램 전압을 제공하는 챠지 펌프와; 그리고 상기 분배 전압과 기준 전압을 비교하여 상기 클럭 신호를 발생하는 챠지 펌프 제어기를 더 포함한다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 전압을 생성하는 워드 라인 전압 발생 회로는 상기 프로그램 전압에 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결된 제 3 회로부를 포함한다. 상기 제 1 회로부와 상기 제 3 회로부는 대칭되는 구성을 가지고, 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드의 변경 없이 타겟 프로그램 전압을 고정된 값으로 유지하면서 상기 프로그램 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 및 제 3 회로부 각각은 직렬로 연결된 다수의 저항기와 상기 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 또는 상기 제 1 및 제 3 회로부 각각은 병렬로 연결된 다수의 저항기와 상기 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
상기 제 3 회로부의 저항값에 의해 워드 라인 전압의 증가분이 결정되고, 상기 제 1 회로부의 저항값을 조절함으로써 스타트 프로그램 전압을 조정한다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 따라서 상기 스위치 세트의 동작 에 의해 어느 스위치 세트가 온/오프 되든 상기 제 1 회로부와 상기 제 3 회로부의 저항값은 특정한 함수 관계를 가진다. 이 특정한 함수 관계는 실시예에서 명확히 설명될 것이다. 즉 상기 스위치 세트의 제어에 의해 상기 프로그램 스텝 코드의 변화 없이 타겟 프로그램 전압을 고정된 값으로 유지하면서 프로그램 전압의 증가분을 다르게 설정 가능하다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 프로그램 방법을 사용하는 불 휘발성 메모리 장치는 프로그램 스텝 코드들에 응답하여 워드 라인 전압을 발생하는 워드 라인 전압 발생 회로와; 그리고 프로그램 사이클 동안 상기 프로그램 스텝 코드들을 순차적으로 활성화하는 프로그램 제어기를 포함한다. 상기 워드 라인 전압 발생 회로는 상기 프로그램 전압과 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 상기 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결되는 제 3 회로부를 포함한다. 상기 제 3 회로부의 저항값 설정에 의해, 상기 프로그램 스텝 코드의 변경 없이 상기 프로그램 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다. 상기 워드 라인 전압의 증가분은 앞서 특징에 있어서와 동일한 방법으로 결정된다.
이 특징에 있어서, 상기 제 3 회로부는 직렬로 연결된 다수의 저항기와 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 3 회로부의 저항값을 다르게 설정 가능하다. 또는 상기 제 3 회로부는 병렬로 연결된 다수의 저항기와 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제 어를 통해 상기 제 3 회로부의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
이 특징에 있어서 상기 프로그램 전압은 프로그램 사이클의 프로그램 루프가 반복될 때마다 프로그램 사이클 시작 전에 결정된 상기 프로그램 전압의 증가분만큼 단계적으로 증가한다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 프로그램 방법을 사용하는 불 휘발성 메모리 장치는 프로그램 스텝 코드들에 응답하여 워드 라인 전압을 발생하는 워드 라인 전압 발생 회로와; 그리고 프로그램 사이클 동안 상기 프로그램 스텝 코드들을 순차적으로 활성화하는 프로그램 제어기를 포함한다. 상기 워드 라인 전압 발생 회로는 상기 프로그램 전압과 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결되는 제 3 회로부를 포함한다. 상기 제 3 회로부는 상기 제 1 회로부와 대칭되는 구성을 가지고 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드 변경 없이 스타트 프로그램 전압을 고정된 값으로 유지하면서 상기 워드 라인 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 및 제 3 회로부 각각은 직렬로 연결된 다수의 저항기와 상기 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 또는 상기 제 1 및 제 3 회로부 각각은 병렬로 연결된 다수의 저항기와 상기 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 따라서 상기 스위치 세트의 동작에 의해 어느 스위치 세트가 온/오프 되든 상기 제 1 회로부와 상기 제 3 회로부의 저항값의 비는 일정하게 유지된다. 즉 상기 스위치 세트의 제어에 의해 상기 프로그램 스텝 코드의 변화 없이 스타트 프로그램 전압을 고정된 값으로 유지하면서 프로그램 전압의 증가분을 다르게 설정 가능하다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 프로그램 방법을 사용하는 불 휘발성 메모리 장치는 프로그램 스텝 코드들에 응답하여 워드 라인 전압을 발생하는 워드 라인 전압 발생 회로와; 그리고 프로그램 사이클 동안 상기 프로그램 스텝 코드들을 순차적으로 활성화하는 프로그램 제어기를 포함한다. 상기 워드 라인 전압 발생 회로는 상기 프로그램 전압과 연결된 제 1 회로부와; 상기 제 1 회로부와 분배 전압 사이에 연결되고 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결되는 제 3 회로부를 포함한다. 상기 제 3 회로부는 상기 제 1 회로부와 대칭되는 구성을 가지고 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드 변경 없이 타겟 프로그램 전압을 고정된 값으로 유지하면서 상기 워드 라인 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 및 제 3 회로부 각각은 직렬로 연결된 다수의 저항기와 상기 각 저항기에 병렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 또는 상기 제 1 및 제 3 회로부 각각은 병렬로 연결된 다수의 저항기와 상기 각 저항기에 직렬로 연결된 스위치를 포함하며, 상기 스위치의 제어를 통해 상기 제 1 및 제 3 회로부 각각의 저항값을 다르게 설정 가능하다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 상기 스위치 세트의 동작에 의해 타겟 프로그램 전압을 고정된 값으로 유지하면서 프로그램 전압의 증가분을 다르게 설정 가능하다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 프로그램 방법을 사용하는 불 휘발성 메모리 장치는 행들과 열들로 배열된 메모리 셀들과; 클럭 신호에 응답하여 선택된 행에 프로그램 전압을 제공하는 챠지 펌프와; 프로그램 스텝 코드에 응답하여 상기 프로그램 전압을 분배하는 전압 분배기와; 그리고 상기 분배 전압과 기준 전압을 비교하여 상기 클럭 신호를 발생하는 챠지 펌프 제어기를 포함한다. 상기 전압 분배기는 상기 프로그램 전압에 연결된 제 1 회로부와; 상기 제 1 회로부와 상기 분배 전압 사이에 연결되고 상기 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결되는 제 3 회로부를 포함한다. 상기 제 3 회로부는 상기 제 1 회로부와 대칭되는 구성을 가지고 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드의 변경 없이 스타트 프로그램 전압을 고정된 값으로 유지하면서 상기 프로그램 전압의 증가분을 임의의 값(N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
이 특징에 있어서, 상기 메모리 셀들 각각은 1-비트 데이터를 저장하는 단일-레벨 메모리 셀 및 n-비트 데이터(n=2 또는 그보다 큰 정수)를 저장하는 멀티-레벨 메모리 셀 중 어느 하나를 포함한다.
본 발명의 다른 특징에 의하면, 증가형 스텝 펄스 프로그램 방법을 사용하는 불 휘발성 메모리 장치는 행들과 열들로 배열된 메모리 셀들과; 클럭 신호에 응답하여 선택된 행에 프로그램 전압을 제공하는 챠지 펌프와; 프로그램 스텝 코드에 응답하여 상기 프로그램 전압을 분배하는 전압 분배기와; 그리고 상기 분배 전압과 기준 전압을 비교하여 상기 클럭 신호를 발생하는 챠지 펌프 제어기를 포함한다. 상기 전압 분배기는 상기 프로그램 전압에 연결된 제 1 회로부와; 상기 제 1 회로부와 상기 분배 전압 사이에 연결되고 상기 프로그램 스텝 코드에 의해서 제어되는 제 2 회로부와; 그리고 상기 분배 전압과 접지 전압 사이에 연결된 제 3 회로부를 포함한다. 상기 제 3 회로부는 상기 제 1 회로부와 대칭되는 구성을 가지고 상기 제 1 회로부의 저항값과 상기 제 3 회로부의 저항값 사이에 정비례 관계가 아닌 함수 관계가 유지되도록 제어하여, 상기 프로그램 스텝 코드의 변경 없이 타겟 프로그램 전압을 고정된 값으로 유지하면서 상기 프로그램 전압의 증가분을 임의의 값 (N△V, N>0인 모든 실수값)으로 다르게 설정할 수 있다.
이 특징에 있어서, 상기 제 1 회로부 내의 저항기들의 저항값은 상기 제 3 회로부 내에 같은 위치에 있는 저항기들의 저항값과 정비례 관계를 가지고, 상기 제 1 회로부 내의 저항기에 연결된 스위치와 상기 제 3 회로부의 같은 위치에 있는 저항기에 연결된 스위치는 같이 동작하는 스위치 세트로 구성한다. 상기 스위치들은 프로그램 사이클이 시작하기 전, 예를 들어 불 휘발성 메모리 장치 제조시에 연결/절단된 퓨즈이다. 또는 상기 스위치는 컨트롤러의 제어를 받아 프로그램 사이클이 시작하기 전에 온/오프된 MOS 트랜지스터이다.
이 특징에 있어서, 상기 메모리 셀들 각각은 1-비트 데이터를 저장하는 단일-레벨 메모리 셀 및 n-비트 데이터(n=2 또는 그보다 큰 정수)를 저장하는 멀티-레벨 메모리 셀 중 어느 하나를 포함한다.
이상의 특징들에서 보듯이 수요자들의 요구에 부응하게 위하여 워드 라인 전압의 증가분을 다르게 설정할 경우, 첫 번째 프로그램 루프의 전압인 스타트 프로그램 전압을 일정하게 유지할 수 있다. 또는 워드 라인 전압의 증가분을 변경할 경우, 제 m 번째 프로그램 루프의 전압을 일정하게 유지할 수 있다. 구체적으로 스타트 프로그램 또는 타겟 프로그램을 일정하게 유지한 상태에서 워드 라인 전압의 증가분을 작게 할 경우, 프로그램된 셀의 문턱 전압 산포도를 향상시키면서 언더 프로그램의 문제가 발생하지 않는다. 또는 프로그램 스피드를 향상시키기 위해 워드 라인 전압의 증가분을 크게 할 경우 스타트 프로그램 또는 타겟 프로그램을 일정하게 유지하므로 오버 프로그램의 문제를 해결한다.
이하 본 발명의 바람직한 실시예들이 참조 도면들에 의거하여 상세히 설명될 것이다. 각각의 도면에서 동일한 참조 부호는 동일한 구성 요소를 가리킨다.
도 3은 본 발명에 따른 불 휘발성 메모리 장치의 개략적인 블록도이다. 도 3을 참조하면, 본 발명에 따른 불 휘발성 메모리 장치(100)는 플래시 메모리 장치이다.
본 발명에 따른 불 휘발성 메모리 장치(100)는 행들(또는 워드 라인들)과 열들(또는 비트 라인들)의 매트릭스 형태로 배열된 메모리 셀들을 갖는 메모리 셀 어레이(110)를 포함한다. 메모리 셀들 각각은 1-비트 데이터를 저장한다. 또는, 메모리 셀들 각각은 n-비트 데이터(n=2 또는 그보다 큰 정수)를 저장한다. 행 선택 회로(120)는 행 어드레스에 응답하여 행들 중 적어도 하나를 선택하고 선택된 행을 워드 라인 전압 발생 회로(190)로부터의 워드 라인 전압으로 구동한다. 감지 증폭 및 래치 회로(130)는 제어 로직(160)에 의해서 제어되며, 읽기/검증 동작시 메모리 셀 어레이(110)로부터 데이터를 읽는다. 읽기 동작시 읽혀진 데이터는 데이터 입출력 회로(140)를 통해 외부로 출력되는 반면에, 검증 동작시 읽혀진 데이터는 패스/페일 체크 회로(150)로 출력된다. 감지 증폭 및 래치 회로(130)는 프로그램 동작시 메모리 셀 어레이(110)에 쓰일 데이터를 데이터 입출력 회로(140)를 통해 입력받고, 입력된 데이터에 따라 비트 라인들을 프로그램 전압(예를 들면, 접지 전압) 또는 프로그램 금지 전압(예를 들면, 전원 전압)으로 각각 구동한다.
패스/페일 체크 회로(150)는 프로그램/소거 검증 동작시 감지 증폭 및 래치 회로(130)로부터 출력되는 데이터 값들이 동일한 데이터(예를 들면, 패스 데이터 값)를 갖는 지의 여부를 판별하며, 판별 결과로서 패스/페일 신호(PF)를 제어 로직(160)으로 출력한다.
제어 로직(160)은 패스/페일 체크 회로(150)로부터의 패스/페일 신호(PF)에 응답하여 워드 라인 전압 발생회로(190)를 활성화한다. 예를 들면, 패스/페일 신호(PF)가 감지 증폭 및 래치 회로(130)로부터 출력되는 데이터 값들 중 적어도 하나가 패스 데이터 값을 갖지 않음을 나타낼 때, 제어 로직(160)은 워드 라인 전압 발생 회로(190)를 활성화하는 신호(PGM_EN)를 활성화한다. 제어 로직(160)은 프로그램 사이클의 각 프로그램 루프 동안 감지 증폭 및 래치 회로 (130)를 제어한다. 제어 로직(160)은 패스/페일 체크 회로(150)로부터의 패스/페일 신호(PF)에 응답하여 카운트-업 신호(CNT_UP)를 활성화한다. 예를 들면, 패스/페일 신호(PF)가 감지 증폭 및 래치 회로(130)로부터 출력되는 데이터 값들 중 적어도 하나가 패스 데이터 값을 갖지 않음을 나타낼 때, 제어 로직(160)은 카운트-업 신호(CNT_UP)를 활성화한다. 이에 반해서, 현재의 프로그램 루프의 프로그램 동작이 올바르게 수행되는 경우, 제어 로직(160)은 카운트-업 신호(CNT_UP)를 비활성화시키고 프로그램 사이클을 종료한다.
루프 카운터(170)는 카운트-업 신호(CNT_UP)의 활성화에 응답하여 프로그램 루프 횟수를 카운트한다. 디코더(180)는 루프 카운터(170)의 출력을 디코딩하여 프로그램 스텝 코드들(STEPi)(i=0-m)을 발생한다. 예를 들면, 루프 카운터(170)의 출력값이 증가함에 따라, 프로그램 스텝 코드(STEPi)가 순차적으로 변한다. 상기 순 차적으로 변화된 프로그램 스텝 코드(STEPi)에 의하여 프로그램 사이클의 프로그램 루프가 단계적으로 증가한다. 따라서 단계적으로 워드 라인 전압이 증가한다.
이 실시예에 있어서 제어 로직(160), 루프 카운터(170), 디코더(180)는 워드 라인 전압 발생 회로(190)를 제어하는 컨트롤러(200)를 구성한다. 컨트롤러(200)는 워드 라인 전압 발생 회로를 활성화하는 신호(PGM_EN)를 발생하고, 단계적으로 워드 라인 전압을 증가시키기 위한 프로그램 스텝 코드(STEPi)를 발생시킨다. 또는 제어 로직(160)은 워드 라인 전압 발생 회로(190)의 전압 분배기(220)의 스위치 세트를 MOS 트랜지스터로 구성할 경우, 상기 워드 라인 전압 발생 회로(190)를 활성화하기 전에 상기 MOS 트랜지스터를 온/오프 시키는 역할을 하기도 한다. 상기 스위치 세트는 이하 설명된다.
워드 라인 전압 발생 회로(190)는 제어 로직(160)으로부터의 워드 라인 전압 발생 회로를 활성화하는 신호(PGM_EN)에 의해서 활성화된다. 그리고 프로그램 스텝 코드들(STEPi)에 응답하여 워드 라인 전압을 발생한다. 워드 라인 전압 발생 회로(190)는 프로그램 스텝 코드들(STEPi)이 프로그램 동작시 순차적으로 변화됨에 따라 워드 라인 전압(Vpgm)을 단계적으로 증가시킨다. 상기 워드 라인 전압의 증가분(△Vpgm)은 사용자의 요구 사항에 맞추어 임의의 값으로 설정 가능하다. 예를 들어, 보다 향상된 메모리 셀의 문턱 전압 산포를 얻고자 할 경우 오퍼레이터는 워드 라인 전압의 증가분(△Vpgm)을 작게 설정한다. 보다 빠르게 메모리 셀을 프로그램하고자 할 경우 오퍼레이터는 워드 라인 전압의 증가분(△Vpgm)을 크게 설정한다. 본 발명에 의하면, 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 경우에 스타 트 프로그램 전압(Vpgm1)은 일정하게 유지된다. 또는 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 경우에 타겟 프로그램 전압(VpgmM)은 일정하게 유지된다.
도 4는 도 3에 도시된 워드 라인 전압 발생 회로의 개략적인 블록도이다.
도 4를 참조하면, 본 발명에 따른 워드 라인 전압 발생 회로(190)는 챠지 펌프(210), 전압 분배기(220), 기준 전압 발생기(230), 비교기(240), 발진기(250), 그리고 클럭 드라이버(260)를 포함하며, 워드 라인 전압 발생 회로를 활성화하는 신호(PGM_EN)에 의해서 활성화된다. 상기 기준 전압 발생기(230), 비교기(240), 발진기(250) 및 클럭 드라이버(260)는 전압 분배기(220)로부터 분배 전압(Vref′)을 입력 받아 챠지 펌프(210)를 동작시키는 클럭 신호(CLK)를 내보내는 챠지 펌프 제어기(270)의 역할을 한다.
챠지 펌프(210)는 클럭 신호(CLK)에 응답하여 프로그램 전압으로서 워드 라인 전압(Vpgm)을 발생한다. 전압 분배기(220)는 프로그램 스텝 코드들(STEPi)에 응답하여 워드 라인 전압(Vpgm)을 분배하여 분배 전압(Vref′)을 출력한다. 분배 전압은 프로그램 구간 동안 기준 전압 발생기의 기준 전압(Vref)과 거의 같은 값을 가지므로 Vref`라 부르기로 한다.
전압 분배기(220)의 워드 라인 전압(Vpgm)은 프로그램 스텝 코드들(STEPi)의 순차적인 변화에 따라 워드 라인 전압의 증가분(△Vpgm) 만큼 증가한다. 이는 이후 상세히 설명될 것이다. 또한, 전압 분배기(220)의 워드 라인 전압의 증가분(△Vpgm)은 사용자의 요구사항에 따라 다르게 설정되며, 워드 라인 전압의 증가분(△Vpgm)이 다르게 설정될 경우 스타트 프로그램 전압(Vpgm1)은 고정된 값을 유지한 다. 또는 워드 라인 전압의 증가분(△Vpgm)이 변경될 경우 타겟 프로그램 전압(VpgmM)은 고정된 값을 유지한다.
계속해서 도 4를 참조하면, 비교기(240)는 전압 분배기(220)로부터의 분배 전압(Vref′)과 기준 전압 발생기(230)로부터의 기준 전압(Vref)을 비교하며, 비교 결과로서 클럭 인에이블 신호(CLK_EN)를 발생한다. 예를 들면, 전압 분배기(220)로부터의 분배 전압(Vref′)이 기준 전압 발생기(230)로부터의 기준 전압(Vref)과 차이가 나면 비교기(240)는 클럭 인에이블 신호(CLK_EN)를 활성화한다. 반면, 전압 분배기(220)로부터의 분배 전압(Vref′)이 기준 전압 발생기(230)로부터의 기준 전압 (Vref)과 동일하면 비교기(240)는 비교 결과로서 클럭 인에이블 신호(CLK_EN)를 비활성화시킨다. 클럭 드라이버(260)는 클럭 인에이블 신호(CLK_EN)에 응답하여 발진기(250)로부터의 발진 신호(OSCF)를 클럭 신호(CLK)로서 출력한다. 클럭 드라이버(260)는, NAND 게이트와 인버터로 구성된다(미 도시됨). 예를 들면, 클럭 인에이블 신호(CLK_EN)가 하이로 활성화될 때, 발진 신호(OSC)는 클럭 신호(CLK)로서 출력된다. 클럭 인에이블 신호(CLK_EN)가 로우로 비활성화될 때, 발진 신호(OSC)가 차단되어 클럭 신호(CLK)는 토글되지 않는다. 이상의 설명으로부터 알 수 있듯이, 프로그램 스텝 코드가 변하여 분배 전압(Vref′)이 기준 전압 (Vref)과 차이가 나면, 클럭 신호(CLK)가 생성되어 챠지 펌프(210)가 동작하기 시작한다. 워드 라인 전압(Vpgm)이 원하는 전압에 도달하면, 클럭 신호(CLK)가 생성되지 않기 때문에 챠지 펌프(210)는 동작하지 않으며 워드 라인 전압(Vpgm)은 일정한 수준을 유지한다. 이러한 과정을 통해 원하는 워드 라인 전압(Vpgm)이 생성된다.
도 5와 도 6 및 도 7은 본 발명의 실시예들에 따른 도 4에 도시된 전압 분배기의 예시적인 회로도들이다. 상기 실시예들에서 공통으로 프로그램 스텝 코드의 변경 없이 워드 라인 전압의 증가분(△Vpgm)을 임의의 값으로 다르게 설정할 수 있다. 각각의 경우, 워드 라인 전압의 증가분(△Vpgm)을 임의의 값으로 다르게 설정하면서, 스타트 프로그램 전압(Vpgm1) 또는 타겟 프로그램 전압(VpgmM)이 고정된 값을 유지한다.
도 5는 본 발명의 실시예에 따른 도 4에 도시된 전압 분배기의 예시적인 회로도이며, 워드 라인 전압의 증가분(△Vpgm)이 다르게 설정될 경우 스타트 프로그램 전압(Vpgm1)이 일정하게 유지되는 경우의 회로도이다.
도 5를 참조하면, 전압 분배기(220)는 제 1 회로부(220a), 제 2 회로부(220b), 제 3 회로부(220c) 및 방전부(220d)를 포함한다. 방전부(220d)는 워드 라인 전압 (Vpgm)을 입력받는 노드(ND1)에 연결되며, 인에이블 신호(PGM_EN)에 응답하여 노드(ND1)의 고전압(즉, 워드 라인 전압)을 전원 전압으로 방전시킨다. 방전부(220d)는 PMOS 트랜지스터(221), 그리고 공핍형 NMOS 트랜지스터들(222, 223)을 포함한다. 공핍형 NMOS 트랜지스터들(222, 223)은 고전압에 견딜 수 있는 잘 알려진 고전압 트랜지스터들이다.
제 1 회로부(220a)는 노드(ND1)와 노드(ND2) 사이에 연결되어 있다. 상기 노드(ND1)는 프로그램 전압을 입력받는 노드이며, 상기 노드(ND2)는 상기 제 1 회로부(220a)와 상기 제 2 회로부(220b)가 연결되는 노드이다. 제 1 회로부(220a)는 직렬로 연결된 3개의 저항기들(311, 312, 313)과 상기 두 개의 저항기들(311, 312)에 각각 병렬로 연결된 2개의 퓨즈들(351, 352)을 포함한다. 상기 2개의 퓨즈들(351, 352)은 워드 라인 전압 발생 회로(190)가 활성화되기 전, 예를 들어 메모리 장치 제조시에 오퍼레이터에 의하여 절단되거나 연결된다. 이러한 구성에 따르면, 상기 퓨즈들(351, 352)의 절단 상태 여부에 따라 제 1 회로부(220a)의 저항값(R1)이 결정된다. 상기 제 1 회로부(220a)의 저항값(R1)을 조절함으로써 스타트 프로그램 전압을 조절할 수 있다.
계속해서 도 5를 참조하면, 제 2 회로부(220b)는 가중치의 저항값들을 각각 가진 3개의 저항기들(321, 322, 323)과 상기 저항기들에 각각 병렬로 연결된 스위치(227, 228, 229)를 포함한다. 예를 들어, 저항기(321)의 저항값이 △R이라면, 저항기(322)의 저항값은 2△R, 저항기(323)의 저항값은 4△R의 저항값을 가진다. 상기 스위치들(227, 228, 229)은 프로그램 스텝 코드(STEPi)에 의해서 제어된다. 이 실시예에 있어서 프로그램 스텝 코드(STEPi)는 3-비트 제어 코드(3-bit control code)를 구성한다. 예를 들어 첫 번째 프로그램 루프의 프로그램 스텝 코드가 '000'이고, 다음 프로그램 루프의 프로그램 스텝 코드가 '001'이라고 하자. 프로그램 스텝 코드가 '000'일 때 스위치들(227, 228, 229)은 모두 턴 온 되며, 저항기들 사이의 전류 경로는 상기 스위치들(227, 228, 229)을 통해 형성된다. 이때, 가장 낮은 레벨의 워드 라인 전압인 스타트 프로그램 전압(Vpgm1)이 출력된다. 프로그램 스텝 코드가 '001'일 때, 스위치(227)는 턴 오프 되고, 스위치들(228, 229)은 턴 온 되며, 워드 라인 전압은 이전의 레벨보다 워드 라인 전압의 증가분(△Vpgm)만큼 증가하게 된다. 스텝 제어 코드가 '111'일 때 스위치들(227, 228, 229)은 모두 턴 오프 되고, 저항기들 사이의 전류 경로는 저항기들(321, 322, 323)을 통해 형성되며, 가장 높은 레벨의 워드 라인 전압이 출력될 것이다. 따라서 프로그램 스텝 코드가 증가함에 따라 단계적으로 워드 라인 전압이 증가하게 된다. 본 실시예에서 액티브 로우 신호를 사용하였지만, 그에 구애받지 않음은 이 분야의 통상적인 지식을 가진 자에게 자명하다.
제 1 회로부(220a)의 저항값(R1)은 워드 라인 전압 발생 회로(190)가 활성화되기 이전에 미리 결정되며, 제 2 회로부(220b)의 저항값(R2)은 프로그램 사이클 중 프로그램 스텝 코드(STEPi)에 반응하여 변화한다. 제 1 회로부(220a)의 저항값(R1)과 제 2 회로부(220b)의 저항값(R2)의 합을 R12 이라고 한다.
계속해서 도 5를 참조하면, 제 3 회로부(220c)는 분배 전압(Vref′)을 출력하기 위한 노드(ND3)와 접지 전압 사이에 연결되어 있다. 제 3 회로부(220c)는 직렬로 연결된 3개의 저항기들(331, 332, 333)과 두 개의 저항기들(331, 332)에 각각 병렬로 연결된 2개의 퓨즈들(361, 362)을 포함한다. 제 3 회로부(220c)와 접지 전압 사이에 프로그램 인에이블 신호(PGM_EN)의 활성화 시 턴 온 되고, 비활성화시 턴 오프 되는 MOS 트랜지스터(237)가 있다. 상기 MOS 트랜지스터(237)는 프로그램 인에이블 신호(PGM_EN) 비활성화시 턴 오프되므로 누설 전류를 방지하는 역할을 한다. 상기 2개의 퓨즈들(361, 362)은 상기 2개의 퓨즈들(351, 352)과 마찬가지로 메모리 장치 제조시에 오퍼레이터에 의하여 절단/연결 된다. 이러한 구성에 따르면, 상기 퓨즈의 절단 상태 여부에 따라 제 3 회로부(220c)의 저항값(R3)이 결정된다. 상기 제 3 회로부(220c)의 저항값(R3)에 따라서 워드 라인 전압의 증가분(△Vpgm) 이 결정된다. 상기 제 3 회로부(220c)의 저항값은 워드 전압 발생 회로가 활성화되기 이전에 결정되며, R3 이라 한다.
이상에서 보듯이 제 1 회로부(220a)와 제 3 회로부(220c)는 제 2 회로부(220b)를 가운데 두고, 미러처럼 대칭 구조를 이루고 있다. 제 1 회로부는 직렬로 연결된 다수의 저항기를 가지며, 제 3 회로부는 제 1 회로부와 같은 수의 저항기를 가지며 제 1 회로부와 같은 방식으로 연결되어 있다. 상기 제 1 회로부 저항기에 병렬로 퓨즈로 구성된 스위치가 연결되어 있고, 마찬가지로 제 3 회로부 저항기에도 병렬로 퓨즈로 구성된 스위치가 연결되어 있다.
상기 제 1 회로부와 제 3 회로부의 대응하는 퓨즈들(351과 361, 352와 362)은 항상 동시에 연결되거나 절단되므로 하나의 스위치 세트로 작동한다. 퓨즈들(351과 361)을 A 스위치 세트라 칭하고, 퓨즈들(352와 362)을 B 스위치 세트라 칭한다.
따라서 상기 스위치 세트에 연결된 혹은 연결되지 않은 저항기들(311과 331, 312와 332, 313과 333)도 동시에 작동하므로 저항기 세트를 이룬다. 저항기들(311과 331)을 A 저항기 세트라 칭하고, 저항기들(312와 332)을 B 저항기 세트라 칭하며, 저항기들(313과 333)을 C 저항기 세트라 칭한다.
도 5의 전압 분배기(220)에서 분배 전압(Vref′)과 프로그램 전압(Vpgm) 및 프로그램 전압의 증가분(△Vpgm)이 어떻게 결정되는지 본다.
분배 전압(Vref′)은 제 1 회로부(220a)의 저항값(R1)과 제 2 회로부(220b)의 저항값(R2) 및 제 3 회로부(220c)의 저항값(R3)에 의해서 결정되며, 다음의 수 학식으로 표현된다.
수학식 1에서, R12는 제 1 회로부(220a)의 저항값인 R1과 제 2 회로부(220b)의 저항값인 R2의 합(R12=R1+R2)을 나타내고, R3은 제 3 회로부(220c)의 저항값을 나타낸다. 수학식 1에 의해서 결정된 분배 전압(Vref′)은 비교기(240)를 통해 기준 전압(Vref)과 비교된다. 워드 라인 전압(Vpgm)은 앞서 과정으로부터 얻어지는 다음의 수학식 2로 표현된다.
수학식 2로부터 알 수 있듯이, 워드 라인 전압(Vpgm)은 저항값 R3과 저항값 R12의 비에 의존한다. 저항값 R3은 제 3 회로부(220c)의 저항값으로 프로그램 동작이 이루어지기 전에, 예를 들어 메모리 장치 제조시에 제 3 회로부(220c)의 저항기에 연결된 스위치의 연결/절단에 의해 결정된 값이다. 제 1 회로부(220a)의 저항값(R1)과 제 2 회로부(220b)의 저항값(R2)의 합인 저항값 R12에서, 제 1 회로부(220a)의 저항값(R1)은 워드 라인 전압 발생 회로(190)가 활성화되기 이전에, 예를 들어 메모리 장치 제조시 제 1 회로부(220a)의 저항기에 연결된 스위치의 연결/절단에 의해 결정된다. 따라서, 프로그램 도중 프로그램 스텝 코드(STEPi)에 의해서 변화되는 제 2 회로부(220b)의 저항값(R2)에 의해서 저항값 R12가 변화되며, 따라 서 워드 라인 전압(Vpgm)이 변화되게 된다. 상기의 경우, 프로그램 사이클의 첫 번째 루프에서 제 2 회로부(220b)의 저항값(R2)은 제 2 회로부(220b)의 저항기(321, 322, 323)에 병렬로 연결된 스위치들(227, 228, 229)이 프로그램 스텝 코드 '000'에 의해서 모두 온 되므로 0 Ω이다. 따라서 프로그램 사이클의 첫 번째 루프에서는 제 1 회로부(220a)의 저항값(R1)이 저항값 R12가 된다.
즉 스타트 프로그램 전압(Vpgm1)을 결정짓는 것은 제 1 회로부(220a)의 저항값(R1)과 제 3 회로부(220c)의 저항값(R3)이다. 따라서 각각의 저항기 세트에 있어서 제 1 회로부의 저항기와 이와 대응하는 제 3 회로부의 저항기의 저항값들을 정비례 관계가 되도록 결정한다면, 다른 저항기 세트가 선택되어 워드 라인 전압의 증가분(△Vpgm)이 변하더라도 스타트 프로그램 전압(Vpgm1)을 항상 일정하게 유지할 수 있다. 혹은 각각의 저항기 세트에 있어서의 저항값들을 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계로 결정하면, 다른 저항기 세트가 선택되어 워드 라인 전압의 증가분(△Vpgm)이 변할 시 타겟 프로그램 전압(VpgmM)을 일정하게 유지할 수 있다. 이들은 구체적인 예를 들어 설명될 것이다.
워드 라인 전압의 증가분(△Vpgm = Vpgm2 - Vpgm1)은 다음의 수학식 3으로 표현된다.
수학식 3에서 △R 은 인접 프로그램 스텝들 사이의 저항값 R12의 변화율을 나타내는 것으로, 프로그램 사이클의 프로그램 루프 동안 일정하다. 저항값 R3은 프로그램 사이클이 시작하기 전에, 예를 들어 메모리 장치 제조시에 결정되는 값이므로, 프로그램 사이클의 프로그램 루프 동안 상기 워드 라인 전압의 증가분(△Vpgm)은 일정하다. 수학식 3에서 보듯이 제 3 회로부(220c)의 저항값 R3이 증가하면 워드 라인 전압의 증가분(△Vpgm)이 감소하며, 제 3 회로부(220c)의 저항값 R3이 감소하면 워드 라인 전압의 증가분(△Vpgm)이 증가하게 된다.
수학식 3에서 보듯이 다양한 수용자의 요구를 충족시키기 위해 △Vpgm을 변화시키기 위해서는 △R을 변경시키거나 R3를 변경하여야 한다. △R을 변경하기 위해서는 프로그램 스텝 코드를 변경하기 위한 추가 회로가 필요하며, 프로그램 스텝 코드를 변경하더라도 디폴트값의 정수 배로만 변경 가능하므로, 다양한 수용자의 요구를 충족시키기 힘들다. 따라서 △R은 고정된 값을 유지하도록 하고, 프로그램 전압의 증가분을 임의의 값으로 설정하기 위해서는 제 3 회로부(220c)의 저항값인 R3를 변화시킨다. 즉 제 3 회로부(220c)는 프로그램 전압의 증가분(△Vpgm)을 결정하는 역할을 한다.
수학식 2에서 보았듯이 스타트 프로그램 전압은 제 1 회로부(220a)와 제 3 회로부(220c)의 저항값 비에 의해서 결정된다. 제 3 회로부(220c)의 저항값이 프로그램 전압의 증가분(△Vpgm)을 결정하기 위해 고정되고 나면, 상기 제 1 회로부(220a)의 저항값에 의해 스타트 프로그램 전압을 조절할 수 있다. 따라서 제 1 회로부(220a)는 스타트 프로그램 전압을 조절하는 역할을 한다.
도 5의 상기한 각 저항기 세트에서, 제 1 회로부(220a)의 저항기의 저항값들 이 대응하는 제 3 회로부(220c)의 저항기들의 저항값과 정비례 관계를 이룬다. 예를 들어, 제 1 회로부(220a)의 저항기(311, 312, 313)의 저항값이 제 3 회로부(220c)의 저항기(331, 332, 333)의 저항값의 K 배이다. 저항기(311)의 저항값을 R311, 저항기(312)의 저항값을 R312, 저항기(313)의 저항값을 R313이라 하고, 저항기(331)의 저항값을 R331, 저항기(332)의 저항값을 R332, 저항기(333)의 저항값을 R333이라 하면, 각 저항기의 저항값은 아래와 같다.
R311 = K*R331, R312 = K*332, R313 = K*R333
이 경우 상기 스위치들(351, 352, 361, 362)의 구성에 따른 프로그램 전압의 증가분(△Vpgm)과 스타트 프로그램 전압(Vpgm1)을 표 1에서 나타내었다. Vpgm1과 △Vpgm은 수학식 2 와 수학식 3을 각각의 경우에 적용하여 구한다.
경우 |
351 |
361 |
352 |
362 |
△Vpgm |
Vpgm1 |
1 |
연결 |
연결 |
연결 |
연결 |
Vref′(△R/R333) |
Vref′(1+K) |
2 |
연결 |
연결 |
절단 |
절단 |
Vref′(△R/(R332+R333)) |
Vref′(1+K) |
3 |
절단 |
절단 |
연결 |
연결 |
Vref′(△R/(R331+R333)) |
Vref′(1+K) |
4 |
절단 |
절단 |
절단 |
절단 |
Vref′(△R/(331+332+333)) |
Vref′(1+K) |
표 1에서 보듯이 A 스위치 세트라 칭한 351과 361, B 스위치 세트라 칭한 352와 362 스위치들은 동시에 연결되거나 절단된다. 표 1에서 보듯이 스위치 세트를 경우 1에서 경우 4로 구성함에 따라 워드 라인 전압의 증가분(△Vpgm)이 점점 감소함을 볼 수 있다. 구체적인 증가분(△Vpgm)은 '제 3 회로부(220c)의 저항기의 저항값들'과 '각 저항기에 연결된 스위치를 온/오프 시키는지의 여부'에 따라 달라지므로, 프로그램 스텝 코드의 변경 없이 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 수 있다. 상기 워드 라인 전압의 증가분이 다르게 설정된 각각의 경우에 스타트 프로그램 전압(Vpgm1)은 Vref′(1+K)로 일정하다. 따라서 ISPP 프로그램 방법을 사용하는 불 휘발성 메모리 장치에서, 프로그램 스텝 코드의 변경 없이 상기 스위치 세트의 구성과 동작에 의해 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 수 있으며, 그 경우 첫 번째 프로그램 루프의 전압은 일정하게 유지된다.
도 6은 본 발명의 다른 실시예에 따른 도 4에 도시된 전압 분배기의 예시적인 회로도이다. 도 6의 경우, 워드 라인 전압의 증가분이 다르게 설정될 경우 제 m 번째 프로그램 루프의 전압인 타겟 프로그램 전압(VpgmM)이 일정하게 유지된다.
도 6을 참조하면, 전압 분배기(220′)는 제 1 회로부(220a′), 제 2 회로부(220b), 제 3 회로부(220c′) 및 방전부(220d)를 포함한다. 도 6에서 동작 원리와 제 2 회로부(220b) 및 방전부의 구성은 동일하므로 설명을 생략한다.
제 1 회로부(220a′)는 노드(ND1)와 노드(ND2) 사이에 연결되어 있다. 상기 노드(ND1)는 프로그램 전압을 입력받는 노드이며, 상기 노드(ND2)는 상기 제 1 회로부(220a′)와 상기 제 2 회로부(220b)가 연결되는 지점의 노드이다. 제 1 회로부(220a′)는 직렬로 연결된 3개의 저항기들(314, 315, 316)과 상기 두 개의 저항기들(314, 315)에 각각 병렬로 연결된 2개의 퓨즈들(351, 352)을 포함한다. 상기 2개의 퓨즈들(351, 352)은 메모리 장치 제조시에 오퍼레이터에 의하여 절단되거나 연결된다. 이러한 구성에 따르면, 상기 퓨즈들(351, 352)의 절단 상태 여부에 따라 제 1 회로부(220a′)의 저항값이 결정된다. 상기 제 1 회로부(220a′)의 저항값을 조절함으로써 스타트 프로그램 전압을 조절할 수 있다.
제 1 회로부(220a′)의 저항값은 워드 라인 전압 발생 회로(190)가 활성화되기 이전에 미리 결정되며, 제 2 회로부(220b)의 저항값은 프로그램 사이클 중 프로그램 스텝 코드(STEPi)에 반응하여 변화한다. 제 1 회로부(220a′)의 저항값(R1′)과 제 2 회로부(220b)의 저항값(R2)의 합을 R12′이라고 한다.
계속해서 도 6을 참조하면, 제 3 회로부(220c′)는 분배 전압(Vref′)을 출력하기 위한 노드(ND3)와 접지 전압 사이에 연결되어 있다. 제 3 회로부(220c′)는 직렬로 연결된 3개의 저항기들(334, 335, 336)과 두 개의 저항기들(334, 335)에 각각 병렬로 연결된 2개의 퓨즈들(361, 362)을 포함한다. 상기 2개의 퓨즈들(361, 362)은 상기 2개의 퓨즈들(351, 352)과 마찬가지로 메모리 장치 제조시에 오퍼레이터에 의하여 절단/연결 된다. 이러한 구성에 따르면, 상기 퓨즈의 절단 상태 여부에 따라 제 3 회로부(220c′)의 저항값이 결정된다. 상기 제 3 회로부(220c′)의 저항값에 따라서 워드 라인 전압의 증가분(△Vpgm)이 결정된다. 상기 제 3 회로부(220c′)의 저항값은 워드 전압 발생 회로가 활성화되기 이전에 결정되며, R3′이라 한다.
이상에서 보듯이 제 1 회로부(220a′)와 제 3 회로부(220c′)는 제 2 회로부(220b)를 가운데 두고, 미러처럼 대칭 구조를 이루고 있다. 제 1 회로부는 직렬로 연결된 다수의 저항기를 가지며, 제 3 회로부는 제 1 회로부와 같은 수의 저항기를 가지며 제 1 회로부와 같은 방식으로 연결되어 있다. 상기 제 1 회로부 저항기에 병렬로 퓨즈로 구성된 스위치가 연결되어 있고, 마찬가지로 제 3 회로부 저항기에도 병렬로 퓨즈로 구성된 스위치가 연결되어 있다.
상기 대응하는 퓨즈들(351과 361, 352와 362)은 항상 동시에 절단 되거나 연결 되므로 하나의 스위치 세트로 작동한다. 퓨즈들(351과 361)을 A 스위치 세트라 칭하고, 퓨즈들(352와 362)을 B 스위치 세트라 칭한다.
따라서 상기 스위치 세트에 연결된 혹은 연결되지 않은 저항기들(314과 334, 315와 335, 316과 336)도 동시에 작동하므로 저항기 세트를 이룬다. 저항기들(314과 334)을 A 저항기 세트라 칭하고, 저항기들(315와 335)을 B 저항기 세트라 칭하며, 저항기들(316과 336)을 C 저항기 세트라 칭한다.
상기한 각 저항기 세트에서, 제 1 회로부(220a′)의 저항기의 저항값들이 대응하는 제 3 회로부(220c′)의 저항기들의 저항값과 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계를 이룬다. 예컨대, 제 1 회로부(220a′)의 저항기(314, 315, 316)의 저항값(R314, R315, R316)과 제 3 회로부(220c′)의 저항기(R334, R335, R336)의 저항값(R334, R335, R336)이 아래와 같이 정해진다.
R314 = K*R334+(m△R)*(R334/R336)
R315 = K*R335+(m△R)*(R335/R336)
R316 = K*R336,
m은 워드 라인 전압 루프 넘버
이 경우 상기 스위치들의 구성에 따른 워드 라인 전압의 증가분(△Vpgm)과 타겟 프로그램 전압(VpgmM)을 표 2에서 나타내었다. △Vpgm 과 VpgmM 은 수학식 2 와 수학식 3을 각각의 경우에 적용하여 구한다.
경우 |
351 |
361 |
352 |
362 |
△Vpgm |
VpgmM |
1 |
연결 |
연결 |
연결 |
연결 |
Vref′(△R/R336) |
Vref′(1+K+m△R/R336) |
2 |
연결 |
연결 |
절단 |
절단 |
Vref′(△R/(R335+R336)) |
Vref′(1+K+m△R/R336) |
3 |
절단 |
절단 |
연결 |
연결 |
Vref′(△R/(R334+R336)) |
Vref′(1+K+m△R/R336) |
4 |
절단 |
절단 |
절단 |
절단 |
Vref′(△R/R334+R335+R336)) |
Vref′(1+K+m△R/R336) |
표 1에서 보듯이 A 스위치 세트라 칭한 351과 361, B 스위치 세트라 칭한 352와 362 스위치들은 동시에 연결되거나 절단된다. 표 1에서 보듯이 스위치 세트를 경우 1에서 경우 4로 구성함에 따라 워드 라인 전압의 증가분(△Vpgm)이 점점 커짐을 볼 수 있다. 구체적인 증가분은 '제 3 회로부(220c′)의 저항기의 저항값들'과 '각 저항기에 연결된 스위치를 온/오프 시키는지의 여부'에 따라 달라지므로, 프로그램 스텝 코드의 변경 없이 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 수 있다. 상기 워드 라인 전압의 증가분(△Vpgm)이 다르게 설정된 각각의 경우에 타겟 프로그램 전압(VpgmM)은 Vref′(1+K+m△R/R336)로 일정하다. 따라서 ISPP 프로그램 방법을 사용하는 불 휘발성 메모리 장치에서, 프로그램 스텝 코드의 변경 없이 상기 스위치 세트의 구성과 동작에 의해 워드 라인 전압의 증가분(△Vpgm)을 다르게 설정할 수 있으며, 그 경우 제 m 번째 프로그램 루프의 전압은 일정하게 유지된다.
도 7은 본 발명의 다른 실시예에 따른 도 4에 도시된 전압 분배기의 예시적인 회로도이다.
도 7을 참조하면, 전압 분배기(220″)는 제 1 회로부(220a″), 제 2 회로부(220b), 제 3 회로부(220c″) 및 방전부(220d)를 포함한다. 동작 원리와 방전부 (220d) 및 제 2 회로부(220b)의 구성은 도 5와 동일하므로 생략한다.
제 1 회로부(220a″)는 노드(ND1)와 노드(ND2) 사이에 연결되어 있다. 노드(ND1)은 프로그램 전압을 입력받는 노드이며, 노드(ND2)는 상기 제 1 회로부(220a″)와 상기 제 2 회로부(220b)가 연결되는 노드이다. 상기 제 1 회로부(220a″)는 병렬로 연결된 3개의 저항기들(317, 318, 319)과 상기 각각의 저항기들(317, 318, 319)에 각각 직렬로 연결된 MOS 트랜지스터들(357, 358, 359)을 포함한다. 상기 3개의 고전압 전달 방지용 MOS 트랜지스터들(357, 358, 359)은 컨트롤러(200)에 의해 제어되는 스위치 역할을 한다. 상기 3개의 스위치들(357, 358, 359)은 워드 라인 전압 발생 회로(190)가 활성화되기 이전에 오퍼레이터에 의하여 컨트롤러(200)를 통해 미리 턴 온 되거나 턴 오프 되며, 프로그램 사이클 도중 변화하지 않는다. 이러한 구성에 따르면, 상기 3개의 스위치들(357, 358, 359)의 온/오프 상태 여부에 따라 제 1 회로부(220a″)의 저항값(R1″)이 결정된다. 상기 제 1 회로부(220a″)의 저항값(R1″)에 따라 스타트 프로그램 전압(Vpgm1)을 조절할 수 있다.
계속해서 도 7을 참조하면, 제 3 회로부(220c″)는 분배 전압(Vref′)을 출력하기 위한 노드(ND3)와 접지 전압 사이에 연결되어 있다. 제 3 회로부(220c″)는 병렬로 연결된 3개의 저항기들(337, 338, 339)과 상기 각각의 저항기들(337, 338, 339)에 각각 직렬로 연결된 3개의 트랜지스터들(367, 368, 369)을 포함한다. 상기 제 3 회로부(220c″)의 3개의 저항기들(337, 338, 339)의 저항값(R337, R338, R339)은 제 1 회로부(220c″)의 대응되는 저항기(317, 318, 319)의 저항값(R317, R318, R319)과 정비례 관계를 이루거나 정비례 관계가 아닌 특정 관계를 이룬다. 이는 도 5 및 도 6에서 설명된 바와 같다. 상기 3개의 MOS 트랜지스터들(367, 368, 369)은 컨트롤러(200)에 의해 제어되며 스위치 역할을 한다. 상기 3개의 스위치들(367, 368, 369)은 워드 라인 전압 발생 회로(190)가 활성화되기 이전에, 컨트롤러(200)에 의해 온/오프 된다. 이러한 구성에 따르면, 상기 3개의 스위치들(367, 368, 369)의 온/오프 상태 여부에 따라 제 3 회로부(220c″)의 저항값(R3″)이 결정된다. 상기 제 3 회로부(220c″)의 저항값(R3″)을 변경함으로써 프로그램 스텝 코드의 변경 없이 워드 라인 전압의 증가분(△Vpgm)을 변화시킬 수 있다.
이상에서 보듯이 제 1 회로부(220a″)와 제 3 회로부(220c″)는 제 2 회로부(220b)를 가운데 두고, 미러처럼 대칭 구조를 이루고 있다. 제 1 회로부(220a″)는 병렬로 연결된 다수의 저항기를 가지며, 제 3 회로부(220c″)는 제 1 회로부(220a″)와 같은 수의 저항기를 가지며 제 1 회로부(220a″)와 같은 방식으로 연결되어 있다. 상기 제 1 회로부 저항기들(317, 318 319)에 직렬로 MOS 트랜지스터로 구성된 스위치(357, 358, 359)가 연결되어 있고, 마찬가지로 제 3 회로부 저항기(337, 338, 339)에도 직렬로 MOS 트랜지스터로 구성된 스위치(367, 368, 369)가 연결되어 있다.
상기 대응하는 스위치 역할을 하는 트랜지스터들(357과 367, 358과 368, 359와 369)은 도면에 도시된 바와 같이 연결되어 항상 동시에 턴 온 되거나 턴 오프 되므로 하나의 스위치 세트로 작동한다. 스위치들(357과 367)을 A 스위치 세트라 칭하고, 스위치들(358과 368)을 B 스위치 세트라 칭하고, 스위치들(359와 369)을 C 스위치 세트라 칭한다.
따라서 상기 스위치 세트에 연결된 저항기들(317과 337, 318과 338, 319와 339)도 동시에 작동하므로 저항기 세트를 이룬다. 저항기들(317과 337)을 A 저항기 세트라 칭하고, 저항기들(318과 338)을 B 저항기 세트라 칭하며, 저항기들(319와 339)을 C 저항기 세트라 칭한다.
본 실시예의 구체적인 경우로, 제 1 회로부(220a″)의 저항기(317, 318, 319)의 저항값들(R317, R318, R319)이 대응하는 제 3 회로부(220c″)의 저항기들(337, 338, 339)의 저항값(R337, R338, R339)과 정비례 관계를 이루는 경우를 본다. 즉 1 회로부(220a″)의 저항기(317, 318, 319)의 저항값들(R317, R318, R319)이 제 3 회로부(220c″)의 저항기들(337, 338, 339)의 저항값(R337, R338, R339)의 K 배이다. 그리고 저항기(337)의 저항값(R337)이 저항기(338)의 저항값(R338)보다 크며, 저항기(338)의 저항값(R338)이 저항기(339)의 저항값(R339)보다 큰 경우를 보자.
R317 = K*R337, R318 = K*R338, R319 = K*R339
R337 > R338 > R339
이 경우 스위치 세트의 구성에 따른 프로그램 전압의 변화분(△Vpgm)과 스타트 프로그램 전압(Vpgm1)을 표 3에서 나타내었다. Vpgm1과 △Vpgm은 수학식 2와 수학식 3을 각각의 경우에 적용하여 구한다. 스위치 세트의 스위치들은 항상 동시에 턴 온 되거나 턴 오프 되므로 스위치 세트로 스위치들의 상태를 나타낸다.
경우 |
A 스위치세트 |
B 스위치세트 |
C 스위치세트 |
△Vpgm |
Vpgm1 |
1 |
턴 온 |
턴 오프 |
턴 오프 |
Vref′(△R/R337) |
Vref′(1+K) |
2 |
턴 오프 |
턴 온 |
턴 오프 |
Vref′(△R/R338) |
Vref′(1+K) |
3 |
턴 오프 |
턴 오프 |
턴 온 |
Vref′(△R/R339) |
Vref′(1+K) |
4 |
턴 온 |
턴 온 |
턴 오프 |
Vref′(△R/(R337∥R338)) |
Vref′(1+K) |
5 |
턴 온 |
턴 오프 |
턴 온 |
Vref′(△R/(R337∥R339)) |
Vref′(1+K) |
6 |
턴 오프 |
턴 온 |
턴 온 |
Vref′(△R/(R338∥R339)) |
Vref′(1+K) |
7 |
턴 온 |
턴 온 |
턴 온 |
Vref′(△R/(R337∥R338∥R339)) |
Vref′(1+K) |
상기 표에서 "∥" 기호는 저항기들의 병렬 저항 값을 나타낸다.
표 3의 경우, A 스위치 세트와 B 스위치 세트와 C 스위치 세트가 모두 턴 오프 되는 경우에는 전압 분배기가 작동하지 않으므로 나타내지 않았다.
표 3을 보면 경우 1에서 경우 7로 갈수록 즉 턴 온 되는 스위치가 많을수록, 워드 라인 전압의 증가분(△Vpgm)의 분모항이 감소한다. 따라서 워드 라인 전압의 증가분(△Vpgm)이 커진다. 각각의 경우, 스타트 프로그램 전압 (Vpgm1)은 Vref′(1+K)로 일정하다. 즉 스타트 프로그램 전압(Vpgm1)을 일정하게 유지하면서, 워드 라인 전압의 증가분(△Vpgm)을 제 3 회로부(220c″)의 적절한 저항값을 선택함에 따라 증가시킬 수 있다. 본 예에서 스타트 프로그램 전압(Vpgm1)을 일정하게 유지하면서, 워드 라인 전압의 변화분(△Vpgm)을 증가시키는 경우를 보았지만, 타겟 프로그램 전압(VpgmM)을 일정하게 유지하면서 워드 라인 전압의 변화분(△Vpgm)을 증가시키는 경우도 상기의 설명들로 인해 이 분야의 통상적인 지식을 가진 자에게 자명하다.
상기 실시예들에서 저항기들의 숫자는 각 회로부에서 3개로 한정하였지만, 그에 구애받지 않고, 다양하게 변형할 수 있음은 이 분야의 통상적인 지식을 가진 자에게 자명하다.
도 8a, 8b, 9a 및 9b는 본 발명의 실시예에 따른 워드 라인 전압 변화를 나타낸 도면들이다. 이 도면들에서, 프로그램 전압의 증가분이 △Vpgm일 경우의 스타트 프로그램 전압과 타겟 프로그램 전압은 Vpgm1과 VpgmM으로 나타내었고, 프로그램 전압의 증가분이 △Vpgm과 다른 경우의 스타트 프로그램 전압과 타겟 프로그램 전압은 첨자를 사용하여 나타내었다.
도 8a와 도 8b는 첫 번째 프로그램 루프의 전압을 일정하게 유지하면서 워드 라인 전압의 증가분을 다르게 설정하는 경우의 워드 라인 전압 변화를 나타낸 도면이다.
도 8a에서 점선으로 나타내어진 전압은 프로그램 전압의 증가분(△Vpgm)을 변화시키지 않았을 경우의 워드 라인 전압 변화를 나타낸 것이고, 실선으로 나타내어진 전압은 프로그램 전압의 증가분을 (△Vpgm)/K(K는 1보다 큰 실수)로 작게 설정하였을 경우의 워드 라인 전압 변화를 나타낸 것이다. 프로그램 전압의 증가분이 작아짐으로 인하여, 프로그램된 메모리 셀의 문턱 전압 분포 범위가 좁아지게 된다. 또한, 도 8a에서 보듯이 프로그램 전압의 증가분이 (△Vpgm)/K일 경우의 스타트 프로그램 전압 Vpgm1′이 Vpgm1과 같은 값으로 고정되어 있으므로, 언더 프로그램의 문제가 발생하지 않는다.
도 8b에서 점선으로 나타내어진 전압은 프로그램 전압의 증가분(△Vpgm)을 변화시키지 않았을 경우의 워드 라인 전압 변화를 나타낸 것이고, 실선으로 나타내어진 전압은 프로그램 전압의 증가분을 K(△Vpgm)(K는 1보다 큰 실수)로 크게 설정하였을 경우의 워드 라인 전압 변화를 나타낸 것이다. 프로그램 전압의 증가분이 커짐으로 인하여, 메모리 셀을 빠른 시간에 프로그램 할 수 있다. 또한, 도 8a에서 보듯이 프로그램 전압의 증가분이 K(△Vpgm)일 경우의 스타트 프로그램 전압 Vpgm1″이 Vpgm1과 같은 값으로 고정되어 있으므로, 오버 프로그램의 문제가 감소한다.
도 9a와 도 9b는 타겟 프로그램 전압을 일정하게 유지하면서 워드 라인 전압의 증가분을 다르게 설정하는 경우의 워드 라인 전압 변화를 나타낸 도면이다.
도 9a에서 점선으로 나타내어진 전압은 프로그램 전압의 증가분(△Vpgm)을 변화시키지 않았을 경우의 워드 라인 전압 변화를 나타낸 것이고, 실선으로 나타내어진 전압은 프로그램 전압의 증가분을 (△Vpgm)/K(K는 1보다 큰 실수)로 작게 설정하였을 경우의 워드 라인 전압 변화를 나타낸 것이다. 프로그램 전압의 증가분이 작아짐으로 인하여, 프로그램된 메모리 셀의 문턱 전압 분포도가 향상된다. 또한, 도 8a에서 보듯이 프로그램 전압의 증가분이 (△Vpgm)/K일 경우의 타겟 프로그램 전압 VpgmM*이 VpgmM과 같은 값으로 고정되어 있으므로, 언더 프로그램의 문제가 발생하지 않는다.
도 9b에서 점선으로 나타내어진 전압은 프로그램 전압의 증가분(△Vpgm)을 변화시키지 않았을 경우의 워드 라인 전압 변화를 나타낸 것이고, 실선으로 나타내어진 전압은 프로그램 전압의 증가분을 K*(△Vpgm)(K는 1보다 큰 실수)로 크게 설정하였을 경우의 워드 라인 전압 변화를 나타낸 것이다. 프로그램 전압의 증가분이 커짐으로 인하여, 메모리 셀을 빠른 시간에 프로그램 할 수 있다. 또한, 도 9a에서 보듯이 프로그램 전압의 증가분이 K*(△Vpgm)일 경우의 타겟 프로그램 전압 VpgmM** Vpgm1과 같은 값으로 고정되어 있으므로, 오버 프로그램의 문제가 발생하지 않는다.
본 발명에 따른 불 휘발성 메모리 장치(100)의 동작이 참조 도면들에 의거하여 이하 상세히 설명될 것이다. 잘 알려진 바와 같이, NAND형 플래시 메모리 장치와 같은 불 휘발성 메모리 장치의 경우, 프로그램 사이클은 복수의 프로그램 루프들로 이루어진다. 각 프로그램 루프는 프로그램 구간과 프로그램 검증 구간으로 이루어진다. 프로그램 동작이 수행되기 이전에, 프로그램될 데이터가 감지 증폭 및 래치 회로(130)에 로드된다. 이후, 프로그램 명령이 불 휘발성 메모리 장치(100)에 제공됨에 따라, 프로그램 동작이 수행된다. 프로그램 동작이 수행되기 이전, 예를 들어 메모리 장치 제조시에 오퍼레이터에 의하여 각각의 스위치 세트가 미리 연결되거나 차단된다. 각각의 스위치 세트는 퓨즈로 구성되거나, 컨트롤러에 의하여 제어되는 트랜지스터로 구성된다. 어느 경우에나 스위치 세트는 프로그램 이전에 미리 설정된다. 즉 불 휘발성 메모리 장치(100)의 전압 분배기(220)의 제 1 회로부(220a)의 저항값과 제 3 회로부(220c)의 저항값은 프로그램 이전에 미리 결정되며, 프로그램 사이클 도중 변화되지 않는다.
제어 로직(160)은 프로그램 명령의 입력에 응답하여 프로그램 인에이블 신호 (PGM_EN)를 활성화하며, 워드 라인 전압 발생 회로(190)는 프로그램 인에이블 신호(PGM_EN)의 활성화에 따라 워드 라인 전압(Vpgm)을 발생하기 시작한다. 여기서, 첫 번째 프로그램 루프 동안 프로그램 스텝 코드(STEP0)가 컨트롤러(200)를 통해 활성화된다. 컨트롤러 (200)는 제어 로직(160)과 루프 카운터 (170) 및 디코더 (180)를 포함한다. 프로그램 전압(Vpgm)은 수학식 2에 의해서 결정될 것이다. 워드 라인 전압(Vpgm)이 첫 번째 프로그램 루프의 원하는 전압 레벨에 도달하면, 잘 알려진 방법에 따라 메모리 셀들이 프로그램될 것이다.
첫 번째 프로그램 루프의 프로그램 동작이 종료되면, 프로그램 검증 동작이 수행된다. 프로그램 검증 동작시 감지 증폭 및 래치 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽고 읽혀진 데이터를 패스/페일 체크 회로(150)로 출력한다. 패스/페일 체크 회로(150)는 감지 증폭 및 래치 회로(130)로부터의 데이터 값들이 동일한 데이터 즉, 패스 데이터 값을 갖는 지의 여부를 판별한다. 만약 데이터 값들 중 하나라도 패스 데이터 값을 갖지 않으면, 제어 로직(160)은 카운트-업 신호 (CNT_UP)를 활성화한다. 루프 카운터(170)는 카운트-업 신호 (CNT_UP)의 활성화에 응답하여 카운트-업 동작을 수행한다. 카운트-업된 값은 다음의 프로그램 루프를 나타낸다. 카운트된 값은 디코더(180)에 의해서 디코딩되며, 그 결과 프로그램 스텝 코드(STEP1)가 활성화된다. 상기 프로그램 스텝 코드(STEP1)에 의해 상기 전압 분배기(220)의 제 2 회로부(220b)의 저항값이 증가한다. 따라서 이 단계의 워드 라인 전압(Vpgm)은 바로 이전의 프로그램 루프의 워드 라인 전압(Vpgm)보다 정해진 증가분(△Vpgm)만큼 증가한다. 앞서 설명된 프로그램 동작은 감지 증폭 및 래치 회로 (130)로부터의 데이터 값들이 모두 패스 데이터 값을 가질 때까지 반복될 것이다.
요약하면, 워드 라인 전압 발생 회로를 활성화하기 전, 예를 들어 메모리 장치 제조시에 스위치 세트의 제어를 통해 프로그램 스텝 코드의 변화 없이 워드 라인 전압의 증가분(△Vpgm)을 임의의 다른 값으로 설정할 수 있다. 또한, 스위치 세트와 연결된 저항기 세트의 저항값을 각 저항기 세트에서 저항기들의 저항값 사이에 정비례 관계가 되도록 선정하면, 워드 라인 전압의 증가분(△Vpgm)을 변경시킬 경우, 스타트 프로그램 전압(Vpgm1)을 일정하게 유지할 수 있다. 구체적으로 워드 라인 전압의 증가분(△Vpgm)을 작게 함으로써 프로그램된 메모리 셀의 문턱 전압 산포도를 향상시키며, 이 경우 스타트 프로그램 전압(Vpgm1)을 일정하게 유지함으로써 언더 프로그램을 방지한다. 워드 라인 전압의 증가분(△Vpgm)을 크게 설정함으로써 프로그램 스피드를 향상시키며, 이 경우 스타트 프로그램 전압(Vpgm1)을 일정하게 유지함으로써 오버 프로그램을 방지한다.
또는 워드 라인 전압의 증가분(△Vpgm)을 다른 값으로 설정할 경우, 타겟 프로그램 전압(VpgmM)을 일정하게 유지할 수 있다. 구체적인 상황은 각 저항기 세트에서 각 저항기 사이의 저항값을 정비례 관계가 아닌 제 m 번째 프로그램 루프의 'm'을 변수로 하는 함수 관계를 가지도록 한다는 점을 제외하고는 스타트 프로그램 전압(Vpgm1)을 일정하게 유지할 경우와 동일하므로 생략한다. 타겟 프로그램 전압을 일정하게 유지함으로써 워드 라인 전압의 증가분을 다르게 설정할 경우 나타나는 언더 프로그램이나 오버 프로그램의 문제를 해결할 수 있다. 특히 원 비트 데이터를 메모리 셀에 저장하고 할 경우에는, 프로그램되었는지 안 되었는지 여부가 중요하므로 워드 라인 전압의 증가분을 변경할 경우 스타트 프로그램을 일정하게 유지하는 것이 유용하다. n- 비트 데이터를 저장할 경우 프로그램된 메모리 셀의 문턱 전압이 특정 범위에 들어야 하므로 타겟 프로그램 전압을 일정하게 유지하는 것이 유용하다.
비록 본 발명이 바람직한 실시예를 참조하여 기술되었지만, 본 발명의 기술적 사상을 벗어나지 않은 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.