상술한 제반 목적들을 달성하기 위한 본 발명의 특징에 따르면, 플래시 메모리 장치는 증가형 스텝 펄스 프로그래밍 방식에 따라 워드 라인 전압을 발생하도록 구성된 워드 라인 전압 발생 회로와; 그리고 선택된 메모리 셀들에 저장될 데이터 비트들 중 프로그램 데이터 비트 수에 따라 상기 워드 라인 전압의 증가분/단위 프로그램 시간이 가변되도록 상기 워드 라인 전압 발생 회로를 제어하도록 구성된 워드 라인 전압 제어 회로를 포함한다.
예시적인 실시예에 있어서, 상기 워드 라인 전압의 증가분은 상기 프로그램 데이터 비트 수가 많을수록/적을수록 감소/증가하는 반면에, 상기 워드 라인 전압의 단위 프로그램 시간은 상기 프로그램 데이터 비트 수가 많을수록/적을수록 증가/감소된다.
예시적인 실시예에 있어서, 상기 워드 라인 전압은 상기 프로그램 데이터 비트 수에 따라 결정된 증가분만큼 매 프로그램 루프에서 단계적으로 증가한다.
예시적인 실시예에 있어서, 상기 워드 라인 전압의 단위 프로그램 시간은 상기 워드 라인 전압의 증가분이 유지되는 시간이다.
예시적인 실시예에 있어서, 상기 워드 라인 전압 제어 회로는 상기 선택된 메모리 셀들에 저장될 데이터 비트들로부터 상기 프로그램 데이터 비트 수를 산출하도록 구성된 비트 카운터 회로와; 그리고 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 증가분/단위 프로그램 시간을 제어하도록 구성된 프로그램 제어 회로를 포함한다.
예시적인 실시예에 있어서, 매 프로그램 루프의 프로그램 검증 구간 동안 상기 선택된 메모리 셀들의 데이터 상태들을 감지하도록 구성된 감지 증폭 회로와; 그리고 상기 감지된 데이터 상태들에 응답하여 프로그램 패스/페일을 점검하도록 구성된 패스/페일 점검 회로가 더 제공된다. 상기 프로그램 제어 회로는 패스/페일 점검 회로의 점검 결과에 따라 다음의 프로그램 루프를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는, 상기 매 프로그램 루프시, 상기 감지된 데이터 상태들로부터 프로그램 데이터 비트 수를 산출하도록 상기 비트 카운터 회로를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는 상기 매 프로그램 루프시 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 증가분/단위 프로그램 시간이 가변되도록 상기 워드 라인 전압 발생 회로를 제어한다.
본 발명의 다른 특징에 따르면, 행들과 열들로 배열된 메모리 셀들을 포함하는 플래시 메모리 장치는 선택된 메모리 셀들에 저장된 데이터 비트들로부터 프로 그램 데이터 비트 수를 산출하도록 구성된 비트 카운터 회로와; 증가형 스텝 펄스 프로그래밍 방식에 따라 워드 라인 전압을 발생하도록 구성된 워드 라인 전압 발생 회로와; 그리고 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 증가분이 가변되도록 상기 워드 라인 전압 발생 회로를 제어하도록 구성된 프로그램 제어 회로를 포함한다.
예시적인 실시예에 있어서, 상기 워드 라인 전압은 상기 프로그램 데이터 비트 수에 따라 결정된 증가분만큼 매 프로그램 루프에서 단계적으로 증가한다.
예시적인 실시예에 있어서, 매 프로그램 루프의 프로그램 검증 구간 동안 상기 선택된 메모리 셀들의 데이터 상태들을 감지하도록 구성된 감지 증폭 회로와; 그리고 상기 감지된 데이터 상태들에 응답하여 프로그램 패스/페일을 점검하도록 구성된 패스/페일 점검 회로가 더 제공된다. 상기 프로그램 제어 회로는 패스/페일 점검 회로의 점검 결과에 따라 다음의 프로그램 루프를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는, 상기 매 프로그램 루프시, 상기 감지된 데이터 상태들로부터 프로그램 데이터 비트 수를 산출하도록 상기 비트 카운터 회로를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는 상기 매 프로그램 루프시 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 증가분이 가변되도록 상기 워드 라인 전압 발생 회로를 제어한다.
본 발명의 또 다른 특징에 따르면, 행들과 열들로 배열된 메모리 셀들을 포함하는 플래시 메모리 장치는 선택된 메모리 셀들에 저장된 데이터 비트들로부터 프로그램 데이터 비트 수를 산출하도록 구성된 비트 카운터 회로와; 증가형 스텝 펄스 프로그래밍 방식에 따라 워드 라인 전압을 발생하도록 구성된 워드 라인 전압 발생 회로와; 그리고 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 단위 프로그램 시간이 가변되도록 상기 워드 라인 전압 발생 회로를 제어하도록 구성된 프로그램 제어 회로를 포함한다.
예시적인 실시예에 있어서, 상기 워드 라인 전압은 소정의 증가분만큼 매 프로그램 루프에서 단계적으로 증가한다.
예시적인 실시예에 있어서, 상기 워드 라인 전압의 단위 프로그램 시간은 상기 워드 라인 전압의 증가분이 유지되는 시간이다.
예시적인 실시예에 있어서, 매 프로그램 루프의 프로그램 검증 구간 동안 상기 선택된 메모리 셀들의 데이터 상태들을 감지하도록 구성된 감지 증폭 회로와; 그리고 상기 감지된 데이터 상태들에 응답하여 프로그램 패스/페일을 점검하도록 구성된 패스/페일 점검 회로가 더 제공된다. 상기 프로그램 제어 회로는 패스/페일 점검 회로의 점검 결과에 따라 다음의 프로그램 루프를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는, 상기 매 프로그램 루프시, 상기 감지된 데이터 상태들로부터 프로그램 데이터 비트 수를 산출하도록 상기 비트 카운터 회로를 제어한다.
예시적인 실시예에 있어서, 상기 프로그램 제어 회로는 상기 매 프로그램 루프시 상기 비트 카운터 회로의 산출 결과에 따라 상기 워드 라인 전압의 단위 프로그램 시간이 가변되도록 상기 워드 라인 전압 발생 회로를 제어한다.
본 발명의 또 다른 특징에 따르면, 행들과 열들의 매트릭스 형태로 배열된 메모리 셀들을 포함하는 플래시 메모리 장치의 워드 라인 전압 제어 방법이 제공되며, 이 방법은 선택된 메모리 셀들에 저장된 데이터 비트들로부터 프로그램 데이터 비트 수를 산출하는 단계와; 상기 산출된 프로그램 데이터 비트 수에 따라 워드 라인 전압의 증가분/단위 프로그램 시간을 가변적으로 결정하는 단계와; 그리고 상기 결정된 증가분/단위 프로그램 시간에 의거하여, 매 프로그램 루프에서 증가형 스텝 펄스 프로그래밍 방식을 이용하여 워드 라인 전압을 생성하는 단계를 포함한다.
이하, 본 발명의 예시적인 실시예들이 참조 도면들에 의거하여 상세히 설명될 것이다.
도 1은 본 발명의 제 1 실시예에 따른 불 휘발성 메모리 장치를 개략적으로 보여주는 블록도이다. 본 발명에 따른 불 휘발성 메모리 장치는 노어 플래시 메모리 장치이다. 하지만, 본 발명이 다른 메모리 장치들 (예를 들면, MROM, PROM, FRAM, NAND형 플래시 메모리 장치, 등)에 적용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 1을 참조하면, 본 발명에 따른 노어 플래시 메모리 장치 (100)는 워드 라인들과 비트 라인들의 매트릭스 형태로 배열된 불 휘발성 메모리 셀들로 구성된 메모리 셀 어레이 (110)를 포함한다. 일예로서, 불 휘발성 메모리 셀은 부유 게이트 트랜지스터 (floating gate transistor)를 포함한다. 행 선택 회로 (120)는 행 어드레스 (RA)에 응답하여 워드 라인들 중 적어도 하나를 선택하고, 선택된 워드 라인으로 워드 라인 전압 (VWL)을 공급한다. 워드 라인 전압 발생 회로 (130)는 프로 그램 제어 회로 (200)에 의해서 제어되며, 선택된 워드 라인으로 공급될 워드 라인 전압 (VWL)을 발생한다. 특히, 본 발명에 따른 워드 라인 전압 발생 회로 (130)는, 프로그램 동작시, 증가형 스텝 펄스 프로그래밍 (incremental step pulse programming: ISPP) 방식을 사용하여 워드 라인 전압 (VWL)을 발생하도록 구성된다. ISPP 방식에 따르면, 워드 라인 전압 (VWL)은 매 프로그램 루프의 프로그램 구간 내에서 최소 전압 (예를 들면, 2V)에서 최대 전압 (예를 들면, 9V)까지 단계적으로 증가된다. 워드 라인 전압 (VWL)의 증가분은 프로그램 데이터 비트 수에 따라 가변되도록 프로그램 제어 회로 (200)에 의해서 제어되며, 이는 이하 상세히 설명될 것이다. 뿐만 아니라, 매 프로그램 루프의 프로그램 구간 동안, 워드 라인 전압 (VWL)의 증가분이 유지되는 시간 (이하, 단위 프로그램 시간이라 칭함)은 프로그램 데이터 비트 수에 따라 가변되도록 프로그램 제어 회로 (200)에 의해서 제어되며, 이는 이하 상세히 설명될 것이다.
열 선택 회로 (140)는 열 어드레스 (CA)에 응답하여 메모리 셀 어레이 (110)의 비트 라인들을 소정 단위 (예를 들면, x8, x16, x32, 등)로 선택한다. 기입 드라이버 회로 (150)는, 프로그램 동작시, 데이터 입력 회로 (160)를 통해 전달되는 데이터 값들을 임시 저장하고, 저장된 데이터 값들에 따라 선택된 비트 라인들을 비트 라인 전압으로 구동한다. 감지 증폭 회로 (170)는, 읽기/검증 동작시, 열 선택 회로 (140)에 의해서 선택된 비트 라인들을 통해 메모리 셀들의 상태들 (즉, 프로그램 또는 소거 상태들)을 감지한다. 패스/페일 점검 회로 (180)는, 검증 동작시, 감지 증폭 회로 (170)에 의해서 감지된 메모리 셀들의 상태들에 응답하여 프로 그램 패스/페일을 판별하고, 판별 결과를 프로그램 제어 회로 (200)로 출력한다. 메모리 셀들의 감지된 상태들은 기입 드라이버 회로 (150)에 반영되며, 그 결과 프로그램된 메모리 셀들은 더 이상 프로그램되지 않는다. 예를 들면, 메모리 셀에 프로그램될 데이터 값이 '0'이라 가정하자. 만약 메모리 셀의 감지된 상태가 소거 상태를 나타내는 '1'이면, 기입 드라이버 회로 (150)에 임시 저장된 데이터 값은 계속해서 '0'로 유지된다. 이는 다음의 프로그램 루프에서 메모리 셀이 프로그램됨을 의미한다. 즉, 메모리 셀에 대응하는 비트 라인으로 비트 라인 전압이 공급된다. 만약 메모리 셀의 감지된 상태가 프로그램 상태를 나타내는 '0'이면, 기입 드라이버 회로 (150)에 임시 저장된 데이터 값은 '0'에서 '1'로 변화된다. 이는 다음의 프로그램 루프에서 메모리 셀이 프로그램 금지됨을 의미한다. 즉, 메모리 셀에 대응하는 비트 라인으로 비트 라인 전압의 공급이 차단된다.
프로그램 동작시, 데이터 입력 회로 (160)를 통해 입력된 데이터 비트들은 기입 드라이버 회로 (150) 뿐만 아니라 비트 카운터 회로 (190)로 전달된다. 비트 카운터 회로 (190)는 데이터 입력 회로 (160)를 통해 입력된 데이터 비트들로부터 프로그램 데이터 비트 수를 산출한다. 비트 카운터 회로 (190)에 의해서 산출된 프로그램 데이터 비트 수는 프로그램 제어 회로 (200)로 출력된다. 프로그램 제어 회로 (200)는 프로그램 루프들의 전반적인 동작을 제어하도록 구성된다. 프로그램 제어 회로 (200)는 비트 카운터 회로 (190)로부터 전달된 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 증가분이 기준값으로 유지되도록 또는 기준값보다 증가되도록 워드 라인 전압 발생 회로 (130)를 제어한다. 또는, 프로그램 제어 회로 (200)는 비트 카운터 회로 (190)로부터 전달된 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 단위 프로그램 시간이 기준값으로 유지되도록 또는 기준값보다 감소되도록 워드 라인 전압 발생 회로 (130)를 제어한다.
여기서, 증가분/단위 프로그램 시간에 대한 기준값은 데이터 입력 회로 (160)를 통해 입력된 데이터 비트들이 모두 프로그램 데이터 비트들일 때 필요한 증가분/단위 프로그램 시간이다.
도 2a 내지 도 2c는 본 발명에 따른 노어 플래시 메모리 장치의 프로그램 동자을 설명하기 위한 워드 라인 전압 변화를 보여주는 도면들이다. 이하, 본 발명의 제 1 실시예에 따른 노어 플래시 메모리 장치의 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다. 프로그램 동작을 설명하기에 앞서, 예시적인 실시예에 따르면, 본 발명의 노어 플래시 메모리 장치 (100)는 프로그램 데이터 비트 수가 8보다 큰 지의 여부, 프로그램 데이터 비트 수가 8보다 작고 4보다 큰 지의 여부, 또는 프로그램 데이터 비트 수가 4와 같거나 작은 지의 여부에 따라 워드 라인 전압 (VWL)의 증가분을 상이하게 제어하도록 구성된다. 하지만, 프로그램 데이터 비트 수의 구분이 여기에 제시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
노어 플래시 메모리 장치가 프로그램 동작 모드에 진입하면, 프로그램하고자 하는 워드 데이터는 데이터 입력 회로 (160)를 통해 기입 드라이버 회로 (160)에 임시 저장된다. 이와 동시에, 비트 카운터 (190)는 프로그램하고자 하는 워드 데이터로부터 프로그램 데이터 비트 수를 산출한다. 만약 산출된 프로그램 데이터 비트 수가 8보다 크면, 도 2a에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)이 0.5V의 증가분 (△V)만큼 단계적으로 증가되도록 워드 라인 전압 발생 회로 (130)를 제어한다. 산출된 프로그램 데이터 비트 수가 8보다 작고 4보다 큰 경우, 도 2b에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)이 1V의 증가분 (△V)만큼 단계적으로 증가되도록 워드 라인 전압 발생 회로 (130)를 제어한다. 만약 산출된 프로그램 데이터 비트 수가 4와 같거나 작으면, 도 2c에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)이 2V의 증가분 (△V)만큼 단계적으로 증가되도록 워드 라인 전압 발생 회로 (130)를 제어한다. 도 2a 내지 도 2c에 도시된 바와 같이, 워드 라인 전압 (VWL)의 증가분은 프로그램 데이터 비트 수에 따라 가변되는 반면에, 단위 프로그램 시간 (t)은 일정하게 유지된다.
앞서 설명된 과정에 따라서 워드 라인 전압 발생 회로 (130)에서 생성된 워드 라인 전압 (VWL)은 행 선택 회로 (120)를 통해 선택된 워드 라인으로 공급될 것이다. 이와 동시에, 기입 드라이버 회로 (150)는 열 선택 회로 (140)에 의해서 선택된 비트 라인들을 입력된 데이터 값들에 따라 비트 라인 전압으로 구동한다. 앞서 설명된 바와 같이, 입력된 데이터 비트가 프로그램 데이터 비트인 경우, 비트 라인으로 비트 라인 전압이 공급된다. 이에 반해서, 입력된 데이터 비트가 프로그램 금지 데이터 비트인 경우, 비트 라인으로 비트 라인 전압이 공급되지 않는다. 선택된 워드 라인으로 워드 라인 전압 (VWL)이 공급되고 선택된 비트 라인(들)으로 비트 라인 전압이 공급됨에 따라, 각 메모리 셀은 바이어스 조건에 따라 프로그램되기 시작한다. 이후, 프로그램 루프의 프로그램 구간이 종료되면, 프로그램 제어 회로 (200)는 프로그램 검증 구간 동안 프로그램된 메모리 셀들의 문턱 전압들이 원하는 문턱 전압까지 이동되었는 지의 여부를 검출한다. 이러한 동작은, 앞서 설명된 바와 같이, 감지 증폭 회로 (170) 및 패스/페일 점검 회로 (180)를 통해 이루어지며, 그것에 대한 설명은 그러므로 생략된다.
현재의 프로그램 루프가 프로그램 패스로서 판별되면, 프로그램 동작 모드는 종료된다. 이에 반해서, 현재의 프로그램 루프가 프로그램 페일로 판별되면, 프로그램 제어 회로 (200)는 앞서 설명된 것과 동일한 바이어스 조건 (도 2a 내지 도 2c 중 어느 하나) 하에서 프로그램 동작이 수행되게 한다. 즉, 본 발명의 제 1 실시예에 따른 노어 플래시 메모리 장치의 경우, 최초로 결정된 바이어스 조건은 프로그램 동작 모드가 종료될 때까지 유지된다.
이 실시예에 있어서, 비트 카운터 회로 (190)와 프로그램 제어 회로 (200)는 선택된 메모리 셀들에 저장될 데이터 비트들 중 프로그램 데이터 비트 수에 따라 워드 라인 전압의 증가분/단위 프로그램 시간이 가변되도록 워드 라인 전압 발생 회로를 제어하도록 구성된 워드 라인 전압 제어 회로를 구성한다.
앞서 언급된 바와 같이, 비트 라인 전압 및 워드 라인 전압이 입력된 데이터 비트들이 모두 프로그램 데이터 비트들일 때 원활한 프로그램 동작을 보장하도록 설정되기 때문에, 프로그램 데이터 비트 수가 적을수록 동일한 비트 라인 전압 조건에서 워드 라인 전압의 증가분을 크게 설정하는 것이 가능하다. 프로그램 데이터 비트 수가 8보다 클 때 결정된 도 2a의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 16t이다. 이에 반해서, 프로그램 데이터 비트 수가 8보다 작을 때 결정된 도 2b의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 8t이다. 또한, 프로그램 데이터 비트 수가 4 또는 그 보다 작을 때 결정된 도 2c의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 4t이다. 따라서, 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 증가분을 가변적으로 제어함으로써 프로그램 데이터 비트 수에 따라 매 프로그램 루프의 프로그램 시간 (또는 전체 프로그램)을 줄이는 것이 가능하다.
도 3a 내지 도 3c는 본 발명에 따른 노어 플래시 메모리 장치의 프로그램 동작을 설명하기 위한 워드 라인 전압의 단위 프로그램 시간 변화를 보여주는 도면들이다. 이하, 본 발명의 제 1 실시예에 따른 노어 플래시 메모리 장치의 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
프로그램 동작을 설명하기에 앞서, 예시적인 실시예에 따르면, 본 발명의 노어 플래시 메모리 장치 (100)는 프로그램 데이터 비트 수가 8보다 큰 지의 여부, 프로그램 데이터 비트 수가 8보다 작고 4보다 큰 지의 여부, 또는 프로그램 데이터 비트 수가 4와 같거나 작은 지의 여부에 따라 워드 라인 전압 (VWL)의 단위 프로그램 시간을 상이하게 제어하도록 구성된다. 하지만, 프로그램 데이터 비트 수의 구분이 여기에 제시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
노어 플래시 메모리 장치가 프로그램 동작 모드에 진입하면, 프로그램하고자 하는 워드 데이터는 데이터 입력 회로 (160)를 통해 기입 드라이버 회로 (150)에 임시 저장된다. 이와 동시에, 비트 카운터 (190)는 프로그램하고자 하는 워드 데이터로부터 프로그램 데이터 비트 수를 산출한다. 만약 산출된 프로그램 데이터 비트 수가 8보다 크면, 도 3a에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)의 단위 프로그램 시간이 t가 되도록 워드 라인 전압 발생 회로 (130)를 제어한다. 산출된 프로그램 데이터 비트 수가 8보다 작고 4보다 큰 경우, 도 3b에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)의 단위 프로그램 시간이 t보다 짧아지도록 (또는 t' (여기서, t>t')가 되도록) 워드 라인 전압 발생 회로 (130)를 제어한다. 만약 산출된 프로그램 데이터 비트 수가 4와 같거나 작으면, 도 3c에 도시된 바와 같이, 프로그램 제어 회로 (200)는 프로그램 구간 동안 워드 라인 전압 (VWL)의 단위 프로그램 시간이 t'보다 짧아지도록 (또는 t" (여기서, t"<t'<t)가 되도록) 워드 라인 전압 발생 회로 (130)를 제어한다. 도 3a 내지 도 3c에 도시된 바와 같이, 워드 라인 전압 (VWL)의 단위 프로그램 시간은 프로그램 데이터 비트 수에 따라 가변되는 반면에, 워드 라인 전압 (VWL)의 증가분 (△V)은 일정하게 유지된다.
앞서 설명된 과정에 따라서 워드 라인 전압 발생 회로 (130)에서 생성된 워드 라인 전압 (VWL)은 행 선택 회로 (120)를 통해 선택된 워드 라인으로 공급될 것이다. 이와 동시에, 기입 드라이버 회로 (150)는 열 선택 회로 (140)에 의해서 선택된 비트 라인들을 입력된 데이터 값들에 따라 비트 라인 전압으로 구동한다. 앞서 설명된 바와 같이, 입력된 데이터 비트가 프로그램 데이터 비트인 경우, 비트 라인으로 비트 라인 전압이 공급된다. 이에 반해서, 입력된 데이터 비트가 프로그램 금지 데이터 비트인 경우, 비트 라인으로 비트 라인 전압이 공급되지 않는다. 선택된 워드 라인으로 워드 라인 전압 (VWL)이 공급되고 선택된 비트 라인(들)으로 비트 라인 전압이 공급됨에 따라, 각 메모리 셀은 바이어스 조건에 따라 프로그램되기 시작한다. 이후, 프로그램 루프의 프로그램 구간이 종료되면, 프로그램 제어 회로 (200)는 프로그램 검증 구간 동안 프로그램된 메모리 셀들의 문턱 전압들이 원하는 문턱 전압까지 이동되었는 지의 여부를 검출한다. 이러한 동작은, 앞서 설명된 바와 같이, 감지 증폭 회로 (170) 및 패스/페일 점검 회로 (180)를 통해 이루어지며, 그것에 대한 설명은 그러므로 생략된다.
현재의 프로그램 루프가 프로그램 패스로서 판별되면, 프로그램 동작 모드는 종료된다. 이에 반해서, 현재의 프로그램 루프가 프로그램 페일로 판별되면, 프로그램 제어 회로 (200)는 앞서 설명된 것과 동일한 바이어스 조건 (도 3a 내지 도 3c 중 어느 하나) 하에서 프로그램 동작이 수행되게 한다. 즉, 본 발명의 제 1 실시예에 따른 노어 플래시 메모리 장치의 경우, 최초로 결정된 바이어스 조건은 프로그램 동작 모드가 종료될 때까지 유지된다.
앞서 언급된 바와 같이, 비트 라인 전압 및 워드 라인 전압이 입력된 데이터 비트들이 모두 프로그램 데이터 비트들일 때 원활한 프로그램 동작을 보장하도록 설정되기 때문에, 프로그램 데이터 비트 수가 적을수록 동일한 비트 라인 전압 조건에서 워드 라인 전압의 단위 프로그램 시간을 짧게 설정하는 것이 가능하다. 프 로그램 데이터 비트 수가 8보다 클 때 결정된 도 3a의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 16t이다. 이에 반해서, 프로그램 데이터 비트 수가 8보다 작을 때 결정된 도 3b의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 16t' (t>t')이다. 또한, 프로그램 데이터 비트 수가 4 또는 그 보다 작을 때 결정된 도 3c의 바이어스 조건에 따라 프로그램 동작을 수행하는 경우, 매 프로그램 루프의 프로그램 시간은 16t" (t>t'>t")이다. 따라서, 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 단위 프로그램 시간을 가변적으로 제어함으로써 프로그램 데이터 비트 수에 따라 매 프로그램 루프의 프로그램 시간 (또는 전체 프로그램)을 줄이는 것이 가능하다.
도 4는 본 발명의 제 2 실시예에 따른 노어 플래시 메모리 장치를 보여주는 블록도이다.
도 4를 참조하면, 본 발명에 따른 노어 플래시 메모리 장치 (300)는 워드 라인들과 비트 라인들의 매트릭스 형태로 배열된 불 휘발성 메모리 셀들로 구성된 메모리 셀 어레이 (310)를 포함한다. 일예로서, 불 휘발성 메모리 셀은 부유 게이트 트랜지스터 (floating gate transistor)를 포함한다. 행 선택 회로 (320)는 행 어드레스 (RA)에 응답하여 워드 라인들 중 적어도 하나를 선택하고, 선택된 워드 라인으로 워드 라인 전압 (VWL)을 공급한다. 워드 라인 전압 발생 회로 (330)는 프로그램 제어 회로 (400)에 의해서 제어되며, 선택된 워드 라인으로 공급될 워드 라인 전압 (VWL)을 발생한다. 특히, 본 발명에 따른 워드 라인 전압 발생 회로 (330)는, 프로그램 동작시, 증가형 스텝 펄스 프로그래밍 (incremental step pulse programming: ISPP) 방식을 사용하여 워드 라인 전압 (VWL)을 발생하도록 구성된다. ISPP 방식에 따르면, 워드 라인 전압 (VWL)은 매 프로그램 루프의 프로그램 구간 내에서 최소 전압에서 최대 전압까지 단계적으로 증가된다. 워드 라인 전압 (VWL)의 증가분은 프로그램 데이터 비트 수에 따라 가변되도록 프로그램 제어 회로 (400)에 의해서 제어된다. 뿐만 아니라, 매 프로그램 루프의 프로그램 구간 동안, 워드 라인 전압 (VWL)의 증가분이 유지되는 단위 프로그램 시간은 프로그램 데이터 비트 수에 따라 가변되도록 프로그램 제어 회로 (400)에 의해서 제어된다.
계속해서, 열 선택 회로 (440)는 열 어드레스 (CA)에 응답하여 메모리 셀 어레이 (310)의 비트 라인들을 소정 단위 (예를 들면, x8, x16, x32, 등)로 선택한다. 기입 드라이버 회로 (350)는, 프로그램 동작시, 데이터 입력 회로 (360)를 통해 전달되는 데이터 값들을 임시 저장하고, 저장된 데이터 값들에 따라 선택된 비트 라인들을 비트 라인 전압으로 구동한다. 감지 증폭 회로 (370)는, 읽기/검증 동작시, 열 선택 회로 (340)에 의해서 선택된 비트 라인들을 통해 메모리 셀들의 상태들 (즉, 프로그램 또는 소거 상태들)을 감지한다. 패스/페일 점검 회로 (380)는, 검증 동작시, 감지 증폭 회로 (370)에 의해서 감지된 메모리 셀들의 상태들에 응답하여 프로그램 패스/페일을 판별하고, 판별 결과를 프로그램 제어 회로 (400)로 출력한다. 메모리 셀들의 감지된 상태들은 기입 드라이버 회로 (350)에 반영되며, 그 결과 프로그램된 메모리 셀들은 더 이상 프로그램되지 않는다. 예를 들면, 메모리 셀에 프로그램될 데이터 값이 '0'이라 가정하자. 만약 메모리 셀의 감지된 상태가 소거 상태를 나타내는 '1'이면, 기입 드라이버 회로 (350)에 임시 저장된 데이터 값은 계속해서 '0'로 유지된다. 이는 다음의 프로그램 루프에서 메모리 셀이 프로그램됨을 의미한다. 즉, 메모리 셀에 대응하는 비트 라인으로 비트 라인 전압이 공급된다. 만약 메모리 셀의 감지된 상태가 프로그램 상태를 나타내는 '0'이면, 기입 드라이버 회로 (350)에 임시 저장된 데이터 값은 '0'에서 '1'로 변화된다. 이는 다음의 프로그램 루프에서 메모리 셀이 프로그램 금지됨을 의미한다. 즉, 메모리 셀에 대응하는 비트 라인으로 비트 라인 전압의 공급이 차단된다.
프로그램 동작시, 데이터 입력 회로 (360)를 통해 입력된 데이터 비트들은 기입 드라이버 회로 (350) 뿐만 아니라 비트 카운터 회로 (390)로 전달된다. 비트 카운터 회로 (390)는 데이터 입력 회로 (360)를 통해 입력된 데이터 비트들로부터 프로그램 데이터 비트 수를 산출한다. 비트 카운터 회로 (390)에 의해서 산출된 프로그램 데이터 비트 수는 프로그램 제어 회로 (400)로 출력된다. 뿐만 아니라, 비트 카운터 회로 (390)는 프로그램 검증 동작시 프로그램 제어 회로 (400)의 제어에 응답하여 패스/페일 점검 회로 (380)로부터 감지된 데이터 값들을 입력받고, 입력된 데이터 값들로부터 프로그램 데이터 비트 수를 산출한다. 그렇게 산출된 프로그램 데이터 비트 수는 프로그램 제어 회로 (400)로 전달된다.
프로그램 제어 회로 (400)는 프로그램 루프들의 전반적인 동작을 제어하도록 구성된다. 프로그램 제어 회로 (400)는 비트 카운터 회로 (390)로부터 전달된 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 증가분이 기준값으로 유지되도록 또는 기준값보다 증가되도록 워드 라인 전압 발생 회로 (330)를 제어한다. 또는, 프로그램 제어 회로 (400)는 비트 카운터 회로 (390)로부터 전달된 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 단위 프로그램 시간이 기준값으로 유지되도록 또는 기준값보다 감소되도록 워드 라인 전압 발생 회로 (330)를 제어한다. 특히, 본 발명의 제 2 실시예에 따른 프로그램 제어 회로 (400)는 매 프로그램 루프마다 비트 카운터 회로 (390)에서 제공되는 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 증가분/단위 프로그램 시간이 가변되도록 워드 라인 전압 발생 회로 (330)를 제어한다. 다시 말해서, 초기에 결정된 워드 라인 전압 (VWL)의 증가분/단위 프로그램 시간이 계속해서 유지되는 것이 아니라, 프로그램 동작에 따라 감소되는 프로그램 데이터 비트 수를 고려하여 증가분/단위 프로그램 시간이 프로그램 루프의 진행에 따라 가변된다.
이상의 설명으로부터 알 수 있듯이, 본 발명의 제 2 실시예에 따른 노어 플래시 메모리 장치 (300)는 프로그램 데이터 비트 수에 따라 워드 라인 전압 (VWL)의 증가분/단위 프로그램 시간이 초기에 설정된 값으로 유지되는 것이 아니라 프로그램 루프의 진행에 따라 연속적으로 가변된다는 점을 제외하면 도 1에 도시된 것과 실질적으로 동일하다. 워드 라인 전압의 증가분/단위 프로그램 시간의 가변 여부는 매 프로그램 검증 동작시 패스/페일 점검 회로 (380)를 통해 비트 카운터 회로 (390)로 제공되는 읽혀진 데이터 값들에 따라 판별된다. 즉, 비트 카운터 회로 (390)는 매 프로그램 검증 구간마다 패스/페일 점검 회로 (380)로부터 읽혀진 데이터 값들을 입력받고, 입력된 데이터 값들로부터 프로그램 데이터 비트 수를 산출한다. 그렇게 산출된 프로그램 데이터 비트 수는 프로그램 제어 회로 (400)로 공급되 며, 프로그램 제어 회로 (400)는 입력된 프로그램 데이터 비트 수에 따라 워드 라인 전압의 증가분/단위 프로그램 시간을 재설정한다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.