KR100733954B1 - 향상된 스캔 구조를 갖는 플래시 메모리 장치 - Google Patents

향상된 스캔 구조를 갖는 플래시 메모리 장치 Download PDF

Info

Publication number
KR100733954B1
KR100733954B1 KR1020060054029A KR20060054029A KR100733954B1 KR 100733954 B1 KR100733954 B1 KR 100733954B1 KR 1020060054029 A KR1020060054029 A KR 1020060054029A KR 20060054029 A KR20060054029 A KR 20060054029A KR 100733954 B1 KR100733954 B1 KR 100733954B1
Authority
KR
South Korea
Prior art keywords
scan
data
output
latch
program
Prior art date
Application number
KR1020060054029A
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 KR1020060054029A priority Critical patent/KR100733954B1/ko
Priority to US11/762,797 priority patent/US7489565B2/en
Application granted granted Critical
Publication of KR100733954B1 publication Critical patent/KR100733954B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

여기에 제공되는 플래시 메모리 장치는 메모리 셀 어레이와; 그리고 상기 메모리 셀 어레이에 저장될 프로그램 데이터를 저장하도록 구성된 멀티-버퍼 블록을 포함한다. 상기 멀티-버퍼 블록은 적어도 2-워드 데이터를 각각 저장하도록 구성되는 복수 개의 버퍼 회로들을 포함한다. 상기 버퍼 회로들 각각은 각각이 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 저장하도록 구성된 복수 개의 레지스터들과; 그리고 상기 레지스터들에 각각 대응하며, 제 1 스캔 구간 동안 상기 2-워드 데이터 중 제 1 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 그리고 제 2 스캔 구간 동안 상기 제 1 워드 데이터의 프로그램 데이터 수를 근거로 하여 상기 2-워드 데이터 중 제 2 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 구성된 스캔 로직들을 포함한다.

Description

향상된 스캔 구조를 갖는 플래시 메모리 장치{FLASH MEMORY DEVICE WITH IMPROVED SCAN STRUCTURE}
도 1은 본 발명에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 멀티-버퍼 블록(600)을 개략적으로 보여주는 블록도이다.
도 3은 도 2에 도시된 2-워드 버퍼 회로(600_0)를 개략적으로 보여주는 블록도이다.
도 4는 도 3에 도시된 버퍼들 중 임의 버퍼(BUF0)를 보여주는 블록도이다.
도 5는 본 발명에 따른 플래시 메모리 장치의 프로그램 데이터 스캔 동작을 설명하기 위한 타이밍도이다.
도 6은 본 발명에 따른 플래시 메모리 장치의 프로그램 동작을 설명하기 위한 흐름도이다.
도 7은 본 발명의 다른 실시예에 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
* 도면의 주요 부분에 대한 부호 설명*
100 : 메모리 셀 어레이 200 : 어드레스 버퍼 블록
300 : 행 디코더 블록 400 : 열 디코더 블록
500 : 제어 로직 블록 600 : 멀티-버퍼 블록
700 : 기입 드라이버 블록 800 : 비트 라인 전압 발생 블록
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 플래시 메모리 장치에 관한 것이다.
반도체 메모리는, 일반적으로, 위성에서 소비자 전자 기술까지의 범위에 속하는 마이크로프로세서를 기반으로 한 응용 및 컴퓨터과 같은 디지털 로직 설계의 가장 필수적인 마이크로 전자 소자이다. 그러므로, 높은 집적도 및 빠른 속도를 위한 축소 (scaling)를 통해 얻어지는 프로세스 향상 및 기술 개발을 포함한 반도체 메모리의 제조 기술의 진보는 다른 디지털 로직 계열의 성능 기준을 확립하는 데 도움이 된다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 불 휘발성 반도체 메모리 장치로 나뉘어진다. 휘발성 반도체 메모리 장치에 있어서, 로직 정보는 스태틱 랜덤 액세스 메모리의 경우 쌍안정 플립-플롭의 로직 상태를 설정함으로써 또는 다이나믹 랜덤 액세스 메모리의 경우 커패시터의 충전을 통해 저장된다. 휘발성 반도체 메모리 장치의 경우, 전원이 인가되는 동안 데이터가 저장되고 읽혀지며, 전원이 차단될 때 데이터는 소실된다.
MROM, PROM, EPROM, EEPROM 등과 같은 불 휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 불 휘발성 메모리 데이터 저장 상태는 사용되는 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 불 휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 그리고 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로코드의 저장을 위해서 사용된다. 단일 칩에서 휘발성 및 불 휘발성 메모리 저장 모드들의 조합이 빠르고 재프로그램 가능한 불 휘발성 메모리를 요구하는 시스템에서 불 휘발성 RAM (nvRAM)과 같은 장치들에서 또한 사용 가능하다. 게다가, 응용 지향 업무를 위한 성능을 최적화시키기 위해 몇몇 추가적인 로직 회로를 포함하는 특정 메모리 구조가 개발되어 오고 있다.
불 휘발성 반도체 메모리 장치에 있어서, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 않아서 일반 사용자들이 기억 내용을 새롭게 하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시 EEPROM (이하, 플래시 메모리라 칭함)은 기존의 EEPROM에 비해 집적도가 높아 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 메모리들 중에서도 낸드 플래시 메모리는 노어 플래시 메모리에 비해 집적도가 매우 높다.
일반적으로, 노어 플래시 메모리는 코드 및 프로그램 데이터를 저장하는 데 사용되고 있다. 노어 플래시 메모리를 포함한 전자 장치가 점차적으로 대용량 코드 및 프로그램 데이터를 필요로 함에 따라, 노어 플래시 메모리의 프로그램 시간이 증가한다. 다시 말해서, 매 프로그램 동작을 위해서 데이터, 어드레스 그리고 명령을 노어 플래시 메모리에 제공해야 하기 때문에, 코드 및 프로그램 데이터의 용량 증가는 결국 긴 프로그램 시간을 초래하게 된다. 이러한 단점은 매 프로그램 동작을 위한 데이터, 어드레스 그리고 명령을 제공하는 대신에 대용량의 데이터를 노어 플래시 메모리의 버퍼 내에 저장함으로써 해소될 수 있다. 즉, 대용량의 데이터가 노어 플래시 메모리의 버퍼 내에 로드되고, 그 다음에 로드된 데이터는 외부 명령없이 동시 프로그램 단위(예를 들면, x4, x8, x16, 등)로 프로그램될 것이다.
하지만, 프로그램 데이터를 임시 저장하기 위한 버퍼의 크기는 코드 및 프로그램 데이터의 용량 증가에 비례해서 증가될 것이다. 이는 노어 플래시 메모리의 레이아웃 면적이 증가됨을 의미한다. 따라서, 코드 및 프로그램 데이터의 용량이 증가하더라도, 버퍼 크기의 증가를 최소할 수 있는 기술이 요구되고 있다.
본 발명의 목적은 레이아웃 면적을 최소할 수 있는 플래시 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 플래시 메모리 장치에 로드된 프로그램 데이터를 스캔닝하는 방법을 제공하는 것이다.
본 발명의 실시예들에 따른 플래시 메모리 장치는 메모리 셀 어레이와; 그리고 상기 메모리 셀 어레이에 저장될 프로그램 데이터를 저장하도록 구성된 멀티-버퍼 블록을 포함하며, 상기 멀티-버퍼 블록은 적어도 2-워드 데이터를 각각 저장하 도록 구성되는 복수 개의 버퍼 회로들을 포함하며, 상기 버퍼 회로들 각각은 각각이 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 저장하도록 구성된 복수 개의 레지스터들과; 그리고 상기 레지스터들에 각각 대응하며, 제 1 스캔 구간 동안 상기 2-워드 데이터 중 제 1 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 그리고 제 2 스캔 구간 동안 상기 제 1 워드 데이터의 프로그램 데이터 수를 근거로 하여 상기 2-워드 데이터 중 제 2 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 구성된 스캔 로직들을 포함한다.
예시적인 실시예에 있어서, 상기 각 레지스터는 상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과; 상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출력을 래치하는 제 1 스캔 래치와; 상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와; 대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 래치의 출력을 래치하는 제 1 출력 래치와; 그리고 상기 대응하는 스캔 로직에 의해서 제어되며, 상기 제 2 스캔 래치의 출력을 래치하는 제 2 출력 래치를 포함한다.
예시적인 실시예에 있어서, 상기 스캔 로직들 각각은 상기 제 1 스캔 개시 신호에 응답하여 동작하며, 상기 제 1 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력한다.
예시적인 실시예에 있어서, 상기 스캔 로직들 각각은 상기 제 2 스캔 개시 신호에 응답하여 동작하며, 상기 제 2 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력한다.
예시적인 실시예에 있어서, 플래시 메모리 장치는 제어 로직과; 그리고 상기 제어 로직에 의해서 제어되며, 상기 레지스터들 각각의 제 1 및 제 2 출력 래치들의 출력들에 응답하여 상기 메모리 셀 어레이의 비트 라인들을 구동하도록 구성된 기입 드라이버 블록을 더 포함한다.
예시적인 실시예에 있어서, 상기 멀티-버퍼 블록은 상기 저장된 프로그램 데이터의 데이터 스캔 동작이 완료된 후 상기 버퍼 회로들 중 최종 버퍼 회로의 출력에 응답하여 제 1 및 제 2 플래그 신호들을 발생하는 신호 발생 회로를 더 포함한다.
예시적인 실시예에 있어서, 상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함함을 나타내는 상기 제 1 플래그 신호에 응답하여 상기 기입 드라이버 블록을 제어한다.
예시적인 실시예에 있어서, 상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하지 않음을 나타내는 상기 제 2 플래그 신호에 응답하여 프로그램 동작을 종료시킨다.
예시적인 실시예에 있어서, 상기 각 레지스터는 상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과; 상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출 력을 래치하는 제 1 스캔 래치와; 상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와; 그리고 대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 구간에서 상기 제 1 스캔 래치의 출력을 래치하고 상기 제 2 스캔 구간에서 상기 제 2 스캔 래치의 출력을 래치하는 출력 래치를 포함한다.
예시적인 실시예에 있어서, 플래시 메모리 장치는 상기 제 1 스캔 구간 동안 상기 출력 래치의 출력을 래치하는 입력 래치와; 프로그램 구간 동안 상기 입력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버와; 그리고 상기 프로그램 구간 동안 상기 출력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버를 더 포함한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 불 휘발성 메모리 장치로서 노어 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목 적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
본 발명에 있어서, "멀티-워드 데이터"라는 용어는 복수의 워드 데이터를 나타낸다. 예를 들면, 2-워드 데이터는 2개의 워드 데이터로 이루어질 것이다. 즉, 2-워드 데이터는 32개의 데이터 비트들로 이루어질 것이다.
도 1은 본 발명에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다. 본 발명에 따른 플래시 메모리 장치는 노어 플래시 메모리 장치이다. 하지만, 본 발명이 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자에게 자명하다. 본 발명에 따른 플래시 메모리 장치는 외부(예를 들면, 호스트)로부터 제공되는 대용량 데이터(예를 들면, N개의 워드 데이터)를 입력받고, 동시 프로그램 단위(예를 들면, M개의 메모리 셀들(M은 4 또는 그 보다 큰 정수)을 동시에 프로그램함)만큼 대용량 데이터로부터 프로그램 데이터를 스캔닝하고, 스캔된 프로그램 데이터를 프로그램하도록 구현될 것이다. 이는 이후 상세히 설명될 것이다.
도 1에 도시된 바와 같이, 본 발명에 따른 플래시 메모리 장치(1000)는 메모리 셀 어레이(100), 어드레스 버퍼 블록(200), 행 디코더 블록(300), 열 디코더 블록(400), 제어 로직 블록(500), 멀티-버퍼 블록(600), 기입 드라이버 블록(700), 그리고 비트 라인 전압 발생 블록(800)을 포함한다.
메모리 셀 어레이(100)는, 비록 도면에는 도시되지 않았지만, 행들과 열들로 배열된 메모리 셀들을 포함하며, 각 메모리 셀은 잘 알려진 플로팅 게이트 트랜지 스터(floating gate transistor)로 구성될 것이다. 어드레스 버퍼 블록(200)은 제어 로직 블록(500)에 의해서 제어되며, 데이터 로드 구간 동안 외부로부터 제공되는 외부 어드레스를 로드 어드레스(LADD)로서 멀티-버퍼 블록(600)으로 출력한다. 어드레스 버퍼 블록(200)은 제어 로직 블록(500)에 의해서 제어되며, 데이터 로드 구간 동안 외부로부터 제공되는 행 및 열 어드레스들을 행 디코더 블록(300) 및 열 디코더 블록(400)으로 각각 출력한다. 행 디코더 블록(300)은 어드레스 버퍼 블록(200)으로부터 출력되는 행 어드레스(RA)를 디코딩하고 디코딩 결과에 따라 행들 중 적어도 하나의 행을 선택한다. 열 디코더 블록(400)은 어드레스 버퍼 블록(200)으로부터 출력되는 열 어드레스(CA)를 디코딩하고 디코딩 결과에 따라 열들 중 일부를 선택한다.
제어 로직 블록(500)은 본 발명에 따른 플래시 메모리 장치(1000)의 전반적인 동작들을 제어하도록 구성된다. 예를 들면, 제어 로직 블록(500)은 본 발명에 따른 플래시 메모리 장치(1000)의 프로그램 동작, 읽기 동작, 소거 동작, 등을 제어하도록 구성된다. 멀티-버퍼 블록(600)은 제어 로직 블록(500)에 의해서 제어되며, 외부(예를 들면, 호스트)로부터 제공되는 데이터를 임시 저장한다. 멀티-버퍼 블록(600)은 N개의 워드 데이터를 저장하기에 충분한 버퍼 크기를 가진다. 이후 상세히 설명되는 바와 같이, 멀티-버퍼 블록(600)은 복수 개의 2-워드 버퍼 회로들을 포함한다. 각 2-워드 버퍼 회로는 어드레스 버퍼 블록(200)으로부터 출력되는 로드 어드레스(LADD)에 의해서 선택되며, 선택된 2-워드 버퍼 회로에는 데이터 로드 구간 동안 2-워드 데이터가 저장될 것이다. 멀티-버퍼 블록(600)은 저장된 데이터로 부터 프로그램 데이터 비트들의 갯수를 스캔닝하도록 구성될 것이다. 멀티-버퍼 블록(600)은 스캔 결과로서 플래그 신호들(F_SCAN_OK1, F_SCAN_OK2)을 제어 로직 블록(500)으로 출력할 것이다. 플래그 신호(F_SCAN_OK1)는 로드된 데이터가 프로그램 데이터 비트를 포함하는 지의 여부를 나타내며, 플래그 신호(F_SCAN_OK2)는 로드된 데이터가 프로그램 데이터 비트를 포함하지 않음을 나타낸다.
예를 들면, 플래그 신호(F_SCAN_OK1)가 펄스로 생성될 때, 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK1)의 활성화에 응답하여 잘 알려진 프로그램 동작을 제어할 것이다. 플래그 신호(F_SCAN_OK1)는 로드된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함할 때 활성화될 것이다. 플래그 신호(F_SCAN_OK1)는 로드된 데이터가 프로그램 데이터 비트를 포함하지 않을 때 활성화되지 않는다. 플래그 신호(F_SCAN_OK2)가 펄스로 생성될 때, 즉, 로드된 데이터가 프로그램 데이터 비트를 포함하지 않을 때, 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK2)의 활성화에 응답하여 프로그램 동작을 종료시킨다. 로드된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함할 때, 플래그 신호(F_SCAN_OK2)는 활성화되지 않는다.
비트 라인 전압 발생 블록(800) (도면에는 "VBL GEN."으로 표기됨)은 제어 로직 블록(500)의 제어에 따라 비트 라인 전압(VBL)을 발생한다. 기입 드라이버 회로(700)는 제어 로직 블록(500)에 의해서 제어되며, 멀티-버퍼 블록(600)으로부터의 데이터에 따라 열 디코더 회로(400)에 의해서 선택된 비트 라인들을 비트 라인 전압(VBL)으로 선택적으로 구동한다. 예를 들면, 프로그램 데이터가 전달될 때, 기입 드라이버 블록(700)은 비트 라인을 비트 라인 전압(VBL)으로 구동할 것이다. 프 로그램 금지 데이터가 전달될 때, 기입 드라이버 블록(700)은 비트 라인을 접지 전압으로 구동할 것이다.
도 2는 도 1에 도시된 멀티-버퍼 블록(600)을 개략적으로 보여주는 블록도이다.
설명의 편의상, 본 발명에 따른 멀티-버퍼 블록(600)이 16-워드 데이터를 임시 저장하도록 구성된다고 가장하자. 하지만, 본 발명이 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자에게 자명하다. 예를 들면, 본 발명에 따른 멀티-버퍼 블록(600)은 32-워드 데이터, 64-워드 데이터, 128-워드 데이터, 등을 임시 저장하도록 구성될 수 있다.
도 2를 참조하면, 본 발명에 따른 멀티-버퍼 블록(600)은 16-워드 데이터를 저장하기 위해서 8개의 2-워드 버퍼 회로들(600_0∼600_7)을 포함한다. 2-워드 버퍼 회로들(600_0∼600_7) 각각은 2-워드 데이터 즉, 32개의 데이터 비트들을 저장하도록 구성될 것이다. 예를 들면, 2-워드 버퍼 회로(600_0)는 로드 어드레스(LADD)가 0번째 워드 데이터의 입력을 나타낼 때 0번째 워드 데이터(DIN)를 래치하도록 그리고 로드 어드레스(LADD)가 8번째 워드 데이터의 입력을 나타낼 때 8번째 워드 데이터(DIN)를 래치하도록 구성될 것이다. 2-워드 버퍼 회로(600_1)는 로드 어드레스(LADD)가 1번째 워드 데이터의 입력을 나타낼 때 1번째 워드 데이터(DIN)를 래치하도록 그리고 로드 어드레스(LADD)가 9번째 워드 데이터의 입력을 나타낼 때 9번째 워드 데이터(DIN)를 래치하도록 구성될 것이다. 앞서 설명된 것과 마찬가지로, 나머지 2-워드 버퍼 회로들(600_2∼600_7)은 2번째 및 10번째 워드 데 이터, 3번째 및 11번째 워드 데이터, 4번째 및 12번째 워드 데이터, 5번째 및 13번째 워드 데이터, 6번째 및 14번째 워드 데이터, 그리고 7번째 및 15번째 워드 데이터를 각각 래치하도록 구성될 것이다. 결과적으로, 2-워드 버퍼 회로들(600_0∼600_7) 각각은 2-워드 데이터 즉, 32개의 데이터 비트들을 저장할 것이다.
계속해서 도 2를 참조하면, 본 발명에 따른 멀티-버퍼 블록(600)은 멀티플렉서(610)와 플래그 신호 발생 회로(620)를 더 포함한다. 멀티플렉서(610)는 제 1 및 제 2 스캔 구간들을 각각 나타내며 도 1의 제어 로직 블록(500)으로부터 제공되는 스캔 개시 신호들(SCAN1, SCAN2)에 응답하여 동작한다. 예를 들면, 제 1 스캔 개시 신호(SCAN1)가 활성화되는 동안, 멀티플렉서(610)는 이전의 스캔 데이터(PRE_SCAN_NUM)로서 0의 값을 2-워드 버퍼 회로(600_0)로 출력한다. 제 2 스캔 개시 신호(SCAN1)가 활성화되는 동안, 멀티플렉서(610)는 이전의 스캔 데이터(PRE_SCAN_NUM)로서 2-워드 버퍼 회로(600_7)의 출력값(SCN)을 2-워드 버퍼 회로(600_0)로 출력할 것이다. 플래그 신호 발생 회로(620)는 로드된 멀티-워드 데이터의 스캔 동작이 종료된 후 (즉, F_SCAN 신호가 비활성화될 때) 2-워드 버퍼 회로(600_7)의 출력값(SCN)에 따라 플래그 신호들(F_SCAN_OK1, F_SCAN_OK2)을 선택적으로 활성화시킨다. 앞서 언급된 바와 같이, 플래그 신호(F_SCAN_OK1)는 2-워드 버퍼 회로들(600_0∼600_7)에 저장된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하는 지의 여부를 나타내며, 스캔 결과로서 제어 로직 블록(500)으로 전달될 것이다. 예를 들면, 2-워드 버퍼 회로들(600_0∼600_7)에 저장된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함할 때, 플래그 신호 발생 회로(620)는 플래 그 신호(F_SCAN_OK1)를 활성화시키고, 플래그 신호(F_SCAN_OK2)를 비활성화시킨다. 2-워드 버퍼 회로들(600_0∼600_7)에 저장된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하지 않을 때, 플래그 신호 발생 회로(620)는 플래그 신호(F_SCAN_OK1)를 비활성화시키고, 플래그 신호(F_SCAN_OK2)를 활성화시킨다. 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK1, F_SCAN_OK2)에 응답하여 프로그램 동작을 제어할 것이다. 2-워드 버퍼 회로들(600_0∼600_7)에 저장된 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하지 않을 때, 플래그 신호 발생 회로(620)는 플래그 신호(F_SCAN_OK2)를 비활성화시킨다. 이에 따라, 앞서 언급된 바와 같이, 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK2)의 비활성화에 응답하여 프로그램 동작을 종료시킨다.
이상의 설명으로부터 알 수 있듯이, 본 발명에 따른 멀티-버퍼 블록(600)은 16-워드 데이터를 저장하도록 구성된다. 본 발명에 따른 멀티-버퍼 블록(600)은 제 1 스캔 구간 동안 8개의 2-워드 버퍼 회로들에 저장된 8-워드 데이터에 대한 스캔닝 동작을 수행하도록 그리고 제 2 스캔 구간 동안 8개의 2-워드 버퍼 회로들에 저장된 나머지 8-워드 데이터에 대한 스캔닝 동작을 수행하도록 구성된다.
도 3은 도 2에 도시된 2-워드 버퍼 회로(600_0)를 개략적으로 보여주는 블록도이다.
도 3을 참조하면, 본 발명에 따른 2-워드 버퍼 회로(600_0)는 16개의 버퍼들(BUF0∼BUF15)을 포함하며, 각 버퍼(BUF0∼BUF15)는 스캔 로직(635)과 레지스터(640)를 포함한다. 버퍼들(BUF0∼BUF15)의 구성 요소들은 동일하게 동작하며 동 일한 참조 번호들로 표기될 것이다. 각 버퍼에 있어서, 레지스터(640)는 2개의 워드 데이터 중 대응하는 데이터 비트들을 저장하도록 구성된다. 예를 들면, 버퍼(BUF0)의 레지스터(640)는 0번째 워드 데이터 중 0번째 데이터 비트(D0<0>)와 8번째 워드 데이터 중 0번째 데이터 비트(D0<8>)를 래치하도록 구성될 것이다. 버퍼(BUF1)의 레지스터(640)는 0번째 워드 데이터 중 1번째 데이터 비트(D1<0>)와 8번째 워드 데이터 중 1번째 데이터 비트(D1<8>)를 래치하도록 구성될 것이다.
각 버퍼에 있어서, 스캔 로직(635)은 제 1 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 데이터일 때 이전 버퍼로부터 출력되는 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력한다. 이에 반해서, 스캔 로직(635)은 제 1 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 금지 데이터일 때 이전 버퍼로부터 출력되는 스캔 데이터(PRE_SCAN_NUM)의 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력한다. 마찬가지로, 스캔 로직(635)은 제 2 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 데이터일 때 이전 버퍼로부터 출력되는 스캔 데이터(PRE_SCAN_NUM)를 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력한다. 이에 반해서, 스캔 로직(635)은 제 2 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 금지 데이터일 때 이전 버퍼로부터 출력되는 스캔 데이터(PRE_SCAN_NUM)의 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력한다.
예를 들면, 버퍼(BUF0)의 스캔 로직(635)은 제 1 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터(D0<0>)가 프로그램 데이터일 때 도 2의 멀티플렉서(610)로부터 출력되는 값(즉, PRE_SCAN_NUM=0)을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼(BUF1)로 출력한다. 이에 반해서, 버퍼(BUF0)의 스캔 로직(635)은 제 1 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터(D0<0>)가 프로그램 금지 데이터일 때 도 2의 멀티플렉서(610)로부터 출력되는 값(즉, PRE_SCAN_NUM=0)을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼(BUF1)로 출력한다. 스캔 로직(635)은 제 2 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 데이터일 때 도 2의 멀티플렉서(610)로부터 출력되는 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼(BUF1)로 출력한다. 이에 반해서, 스캔 로직(635)은 제 2 스캔 구간 동안 대응하는 레지스터(640)에 저장된 데이터가 프로그램 금지 데이터일 때 도 2의 멀티플렉서(610)로부터 출력되는 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼(BUF1)로 출력한다. 나머지 버퍼들 역시 앞서 언급된 것과 실질적으로 동일하게 동작하며, 그것에 대한 설명은 그러므로 생략될 것이다.
멀티-버퍼 블록(600)에 있어서, 각 2-워드 버퍼 회로의 스캔 로직들(635)은 제 1 및 제 2 스캔 구간들 각각에서 레지스터들(640)에 저장된 데이터로부터 프로그램 데이터 비트들의 수를 계산하기 위한 스캔 데이터 체인을 구성할 것이다. 스캔 데이터 체인은 제 1 스캔 구간 동안 8-워드 데이터(D<0>∼D<7>)에 대한 스캔 동작을 수행하고, 제 2 스캔 구간 동안 나머지 8-워드 데이터(D<8>∼D<15>)에 대한 스캔 동작을 수행할 것이다. 하나의 스캔 로직(635)을 통해 2-워드 데이터의 스캐 닝 동작을 수행함으로써 멀티-버퍼 블록(600)의 점유 면적을 줄이는 것이 가능하다.
도 4는 도 3에 도시된 버퍼들 중 임의 버퍼(BUF0)를 보여주는 블록도이다.
도 4를 참조하면, 2-워드 버퍼 회로(600_0)에 속하는 버퍼(BUF0)는 도 1의 제어 로직 블록(500)에 의해서 제어되며, 스캔 로직(635)과 레지스터(640)를 포함한다. 레지스터(640)는 디코더(630), 2개의 입력 래치들(631, 632), 2개의 스캔 래치들(633, 634), 그리고 2개의 출력 래치들(636, 637)을 포함한다. 앞서 언급된 바와 같이, 2-워드 버퍼 회로는 2개의 워드 데이터를 래치하도록 구성된다. 도시의 편의상, 도 4에 도시된 2-워드 버퍼 회로에 속하는 버퍼들 중 하나의 버퍼(BUF0)에는 0번째 워드 데이터 중 하나의 데이터 비트(D0<0>) 그리고 8번째 워드 데이터 중 하나의 데이터 비트(D0<8>)를 래치하기 위한 구성만이 도시되어 있다.
디코더(630)는 데이터 로드 구간 동안 입력된 로드 어드레스(LADD)를 디코딩하여 선택 신호들(SEL0, SEL8)을 발생한다. 예를 들면, 디코더(630)는 로드 어드레스(LADD)가 0번째 워드 데이터의 입력을 나타낼 때 선택 신호(SEL0)를 활성화시킨다. 디코더(630)는 로드 어드레스(LADD)가 8번째 워드 데이터의 입력을 나타낼 때 선택 신호(SEL8)를 활성화시킨다. 입력 래치(631)는 선택 신호(SEL0)에 응답하여 0번째 워드 데이터 중 하나의 데이터 비트(D0<0>)를 래치하도록 구성되며, 입력 래치(632)는 선택 신호(SEL8)에 응답하여 8번째 워드 데이터 중 하나의 데이터 비트(D0<8>)를 래치하도록 구성된다. 스캔 래치(633)는 제 1 스캔 구간을 나타내는 스캔 개시 신호(SCAN1)에 응답하여 입력 래치(631)의 출력을 래치하고, 스캔 래 치(634)는 제 2 스캔 구간을 나타내는 스캔 개시 신호(SCAN2)에 응답하여 입력 래치(632)의 출력을 래치한다. 스캔 구간 동안, 스캔 래치들(633, 634)에 의해서 래치된 데이터는 출력 래치들(636, 637)로 각각 전달될 것이다.
이 실시예에 있어서, 스캔 래치들(633, 634)은 스캔 구간 동안 출력 래치들(636, 637)과 전기적으로 연결되고 프로그램 구간 동안 출력 래치들(636, 637)과 전기적으로 절연될 것이다. 출력 래치들(636, 637)은 스캔 구간의 초기에 초기화 신호(LAT_RST)에 의해서 초기화될 것이다.
스캔 로직(635)은 스캔 개시 신호들(SCAN1, SCAN2)에 응답하여 동작하며, 프로그램 데이터 비트 수를 계산하도록 구성될 것이다. 스캔 개시 신호(SCAN1)의 활성화 구간 동안(즉, 제 1 스캔 구간 동안), 스캔 로직(635)은 스캔 래치(633)의 출력 및 이전 버퍼의 스캔 로직(635)의 출력(PRE_SCAN_NUM)을 입력받고 입력된 값들을 가산하도록 구성된다. 예를 들면, 스캔 로직(635)은 스캔 래치(633)의 출력이 프로그램 데이터인 경우 이전 버퍼의 스캔 로직(635)으로부터 출력된 값(PRE_SCAN_NUM)을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 출력할 것이다. 스캔 로직(635)은 스캔 래치(633)의 출력이 프로그램 금지 데이터인 경우 이전 버퍼의 스캔 로직(635)으로부터 출력된 값(PRE_SCAN_NUM)을 증가없이 스캔 데이터(CUR_SCAN_NUM)로서 출력할 것이다. 앞서 언급된 것과 마찬가지로, 스캔 개시 신호(SCAN2)의 활성화 구간 동안(즉, 제 2 스캔 구간 동안), 스캔 로직(635)은 스캔 래치(634)의 출력 및 이전 버퍼의 스캔 로직(635)의 출력(PRE_SCAN_NUM)을 입력받고 입력된 값들을 선택적으로 가산하도록 구성된다.
스캔 로직(635)은 스캔 래치들(633, 634)의 출력들 및 이전 버퍼로부터의 스캔 데이터(PRE_SCAN_NUM)에 따라 출력 래치들(636, 637)을 각각 제어한다. 예를 들면, 제 1 스캔 구간 동안, 스캔 로직(635)은 스캔 래치(633)의 출력이 프로그램 데이터이고 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작을 때, 스캔 로직(635)은 출력 래치(636)의 데이터가 기입 드라이버 블록(700)의 대응하는 기입 드라이버(WD)로 전달되도록 출력 래치(636)를 제어한다. 이러한 경우, 스캔 동작이 종료되고 프로그램 동작이 수행되기 이전에, 스캔 래치(633)는 출력 래치(636)의 출력 데이터에 의해서 초기화된다. 이는 다음의 스캔 구간에서 스캔 래치(633)의 프로그램 데이터 값을 배제하기 위한 것이다. 제 1 스캔 구간 동안, 스캔 로직(635)은 스캔 래치(633)의 출력이 프로그램 데이터이고 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수와 같거나 클 때, 스캔 로직(635)은 출력 래치(636)의 데이터가 기입 드라이버 블록(700)의 대응하는 기입 드라이버(WD)로 전달되지 않도록 출력 래치(636)를 제어한다. 이러한 경우, 스캔 동작이 종료되고 프로그램 동작이 수행되기 이전에, 스캔 래치(633)는 출력 래치(636)로부터의 데이터에 의해서 초기화되지 않는다. 제 1 스캔 구간 동안, 스캔 로직(635)은 스캔 래치(633)의 출력이 프로그램 금지 데이터일 때, 스캔 로직(635)은 출력 래치(636)의 데이터가 기입 드라이버 블록(700)의 대응하는 기입 드라이버(WD)로 전달되지 않도록 출력 래치(636)를 제어한다. 이러한 경우, 스캔 동작이 종료되고 프로그램 동작이 수행되기 이전에, 스캔 래치(633)는 출력 래치(636)로부터의 데이터에 의해서 초기화되지 않는다. 이는 다음의 스캔 구간에서 스캔 래 치(633)의 프로그램 데이터 값을 반영하기 위한 것이다. 제 2 스캔 구간 동안, 스캔 로직(635)은 제 1 스캔 구간과 동일하게 동작하며, 그것에 대한 설명은 그러므로 생략될 것이다.
도 5는 본 발명에 따른 플래시 메모리 장치의 프로그램 데이터 스캔 동작을 설명하기 위한 타이밍도이다. 이하, 본 발명에 따른 플래시 메모리 장치의 프로그램 데이터 스캔 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
프로그램 데이터 스캔 동작을 설명하기에 앞서, 프로그램 데이터로서 복수 개의, 예를 들면, 16개의 워드 데이터가 제어 로직 블록(500)의 제어하에 멀티-버퍼 블록(600)에 로드될 것이다. 멀티-버퍼 블록(600)에 데이터를 로드하기 위해서는, 앞서 언급된 바와 같이, 입력되는 데이터를 저장하고자 하는 어드레스 정보(LADD)가 제공될 것이다. 입력된 데이터는 어드레스 정보에 따라 2-워드 버퍼 회로에 저장될 것이다. 일단 16개의 워드 데이터가 멀티-버퍼 블록(600)에 로드되면, 로드된 데이터는 정해진 프로그램 단위 즉, 동시 프로그램 단위(예를 들면, 4-비트)로 메모리 셀 어레이(100)에 프로그램될 것이다. 동시 프로그램 단위로 프로그램 동작을 수행하기 위해서 로드된 데이터에 포함된 프로그램 데이터 비트들의 수를 확인하기 위한 프로그램 데이터 스캔 동작이 수행될 것이다. 프로그램 데이터 스캔 동작은 정해진 스캔 구간 동안 수행되며, 본 발명의 스캔 구간은 제 1 스캔 구간과 제 2 스캔 구간으로 나눠질 것이다. 이는 이하 좀 더 구체적으로 설명될 것이다.
먼저, 스캔 동작이 개시되면, 제어 로직 블록(500)은 초기화 신호(LAT_RST) 를 활성화시키며, 2-워드 버퍼 회로들(600_0∼600_7) 내의 레지스터들(640)은 초기화 신호(LAT_RST)에 의해서 초기화된다. 도 5에서, "F_SCAN" 신호는 스캔 구간을 나타내는 신호로, 제어 로직 블록(500) 내에서 사용되는 플래그 신호이다. 일단 레지스터 초기화 동작이 완료되면, 도 5에 도시된 바와 같이, 제어 로직 블록(500)은 제 1 스캔 개시 신호(SCAN1)를 하이로 활성화시킨다. 제 1 스캔 개시 신호(SCAN1)가 활성화됨에 따라, 각 2-워드 버퍼 회로의 입력 래치(631)에 저장된 데이터 비트는 대응하는 스캔 래치(633)로 전달될 것이다. 앞서 언급된 바와 같이, 스캔 구간 동안 스캔 래치(633)와 출력 래치(636)가 전기적으로 연결되기 때문에, 스캔 래치(633)의 데이터는 출력 래치(636)로 전달될 것이다.
제 1 스캔 구간 동안 즉, 제 1 스캔 개시 신호(SCAN1)의 활성화 구간 동안, 각 2-워드 버퍼 회로(600_0∼600_7)의 스캔 로직들(635) 각각은 이전의 스캔 데이터(PRE_SCAN_NUM)와 스캔 래치(633)의 출력에 따라 현재의 스캔 데이터(CUR_SCAN_NUM)를 동시에 출력할 것이다. 각 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작은 경우 스캔 래치(633)의 데이터에 따라 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시킨다. 예를 들면, 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작고 스캔 래치(633)의 데이터가 프로그램 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다. 이때, 출력 래치(636)의 데이터(즉, 프로그램 데이터)는 대응하는 기입 드라이버(WD)로 전달된다. 이후 설명되 는 바와 같이, 스캔 래치(633)는 프로그램 동작 이전의 초기화 구간 동안 출력 래치(636)로부터의 데이터에 의해서 초기화된다.
만약 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작고 스캔 래치(633)의 데이터가 프로그램 금지 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 변경없이 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다. 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수와 같거나 크고 스캔 래치(633)의 데이터가 프로그램 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다. 이러한 경우, 출력 래치의 출력은 스캔 로직의 제어에 따라 기입 드라이버로 전달되지 않는다. 프로그램 비트 수와 같은 스캔 데이터의 값을 입력받는 버퍼는 스캔 래치의 출력에 따라 증가된 스캔 데이터를 출력할 것이다. 이때, 그러한 버퍼 및 다음의 버퍼들에 있어서, 출력 래치의 출력은 스캔 로직의 제어에 따라 프로그램 금지 데이터로 설정될 것이다.
상술한 바와 같은 방식으로 제 1 스캔 구간 동안 8개의 워드 데이터(D<0>∼D<7>)에 대한 스캔 동작이 수행될 것이다. 마지막 2-워드 버퍼 회로(600_7)로부터 출력된 스캔 데이터(SCN)는 멀티플렉서(610)로 전달된다. 스캔 데이터(SCN)는 제 1 스캔 구간 동안 스캔된 프로그램 데이터 비트 수를 나타낸다. 일단 제 1 스캔 구간이 종료되면, 제어 로직 블록(600)은 제 2 스캔 개시 신호(SCAN2)를 하이로 활성화시킨다. 제 2 스캔 개시 신호(SCAN2)가 하이로 활성화됨에 따라, 2-워드 버퍼 회 로(600_0)의 버퍼(BUF0)에는 멀티플렉서(610)를 통해 스캔 데이터(SCN)가 제공될 것이다.
제 2 스캔 개시 신호(SCAN2)의 활성화 구간 동안, 각 2-워드 버퍼 회로(600_0∼600_7)의 스캔 로직들(635) 각각은 이전의 스캔 데이터(PRE_SCAN_NUM)와 스캔 래치(634)의 출력에 따라 현재의 스캔 데이터(CUR_SCAN_NUM)를 동시에 출력할 것이다. 각 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작은 경우 스캔 래치(634)의 데이터에 따라 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시킨다. 예를 들면, 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작고 스캔 래치(634)의 데이터가 프로그램 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다. 이때, 출력 래치(637)의 데이터(즉, 프로그램 데이터)는 대응하는 기입 드라이버(WD)로 전달된다.
만약 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작고 스캔 래치(634)의 데이터가 프로그램 금지 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 변경없이 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다. 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수와 같거나 크고 스캔 래치(634)의 데이터가 프로그램 데이터이면, 스캔 로직(635)은 이전의 스캔 데이터(PRE_SCAN_NUM)의 값을 1만큼 증가시키고, 증가된 값을 스캔 데이터(CUR_SCAN_NUM)로서 다음의 버퍼로 출력할 것이다.
상술한 바와 같은 방식으로 제 2 스캔 구간 동안 나머지 8개의 워드 데이터(D<8>∼D<15>)에 대한 스캔 동작이 수행될 것이다. 제 2 스캔 구간 동안 마지막 2-워드 버퍼 회로(600_7)로부터 출력된 스캔 데이터(SCN)는 플래그 신호 발생 회로(620)로 전달된다. 이때, 스캔 데이터(SCN)는 제 1 및 제 2 스캔 구간들 동안 스캔된 프로그램 데이터 비트 수를 나타낸다. 플래그 신호 발생 회로(620)는, 스캔 동작이 종료될 때(또는, F_SCAN 신호가 하이-로우 천이를 가질 때), 스캔 데이터(SCN)에 따라 플래그 신호들(F_SCAN_OK1, F_SCAN_OK2)을 선택적으로 발생할 것이다. 예를 들면, 멀티-버퍼 블록(600)에 저장된 데이터에 적어도 하나의 프로그램 데이터 비트가 존재할 때, 플래그 신호 발생 회로(620)는 플래그 신호(F_SCAN_OK1)를 활성화시킨다. 이때, 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK1)의 활성화에 응답하여 프로그램 인에이블 신호(PGMEN)를 하이로 활성화시킨다. 이는 기입 드라이버 블록(700)이 멀티-비트 블록(600)으로부터 출력되는 데이터에 따라 비트 라인들을 비트 라인 전압(VBL)으로 선택적으로 구동하게 한다. 이에 반해서, 멀티-버퍼 블록(600)에 저장된 데이터에 적어도 하나의 프로그램 데이터 비트가 존재하지 않을 때, 플래그 신호 발생 회로(620)는 플래그 신호(F_SCAN_OK1)를 비활성화시키고 플래그 신호(F_SCAN_OK2)를 활성화시킨다(도 5에서, 점선으로 표기됨). 제어 로직 블록(500)은 플래그 신호(F_SCAN_OK2)의 활성화에 응답하여 프로그램 동작을 종료시킨다.
도 5에 도시된 바와 같이, 스캔 동작이 종료되고 프로그램 동작이 수행되기 이전에 리세트 동작이 수행된다. 리세트 구간 동안, 멀티-버퍼 블록(600)의 스캔 래치들(633, 634)이 앞서 설명된 바와 같은 방식으로 선택적으로 초기화될 것이다. 다시 말해서, 스캔 래치(633/634)의 출력이 프로그램 데이터이고 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수보다 작을 때, 스캔 래치(633/634)는 초기화 구간 동안 출력 래치(636/637)의 출력 데이터에 의해서 초기화된다. 이는 다음의 스캔 구간에서 스캔 래치(633/634)의 프로그램 데이터 값을 배제하기 위한 것이다. 스캔 래치(633/634)의 출력이 프로그램 데이터이고 이전의 스캔 데이터(PRE_SCAN_NUM)의 값이 동시 프로그램 비트 수와 같거나 클 때, 스캔 래치(633/634)는 출력 래치(636/637)로부터의 데이터에 의해서 초기화되지 않는다. 스캔 로직(635)은 스캔 래치(633/634)의 출력이 프로그램 금지 데이터일 때, 스캔 래치(633/634)는 출력 래치(636/637)로부터의 데이터에 의해서 초기화되지 않는다.
도 6은 본 발명에 따른 플래시 메모리 장치의 프로그램 동작을 설명하기 위한 흐름도이다.
도 6을 참조하면, 먼저, 프로그램 데이터가 멀티-버퍼 블록(600)에 로드된다(S100). 일단 멀티-버퍼 블록(600)에 데이터가 로드되면, 도 5에서 설명된 것과 동일한 방식으로 로드된 데이터에 대한 스캔 동작이 수행된다(S200). 스캔된 프로그램 데이터 비트들이 선택된 메모리 셀들에 프로그램될 것이다(S300). 일단 스캔된 프로그램 데이터 비트들에 대한 프로그램 동작이 완료되면, 모든 데이터가 프로그램되었는 지의 여부가 판별될 것이다(S400). 모든 데이터가 프로그램되면, 프로그램 절차는 종료될 것이다. 만약 모두 데이터가 프로그램되지 않으면, 절차는 S200 단계로 진행할 것이다. 프로그램 동작이 수행된 후 스캔 동작이 수행되거나, 프로그램 동작이 수행되는 동안 스캔 동작이 수행될 수 있음은 이 분야의 통상적인 지식을 습득한 자에게 자명하다.
멀티-버퍼 블록(600)과 기입 드라이버 블록(700)를 전기적으로 연결하기 위한 데이터 버스 라인들은 멀티-버퍼 블록(600)에 저장되는 프로그램 데이터 비트들의 수와 동일하게 결정될 것이다. 예를 들면, 16-워드 데이터가 멀티-버퍼 블록(600)에 저장되는 경우, 멀티-버퍼 블록(600)과 기입 드라이버 블록(700) 사이의 데이터 버스는 16-워드 데이터 즉, 256개의 라인들로 구성될 것이다. 이에 반해서, 도 7에 도시된 바와 같이, 레지스터(640)의 출력 래치(637)를 기입 드라이버(WD)의 입력 래치로 사용함으로써 데이터 버스 라인들을 반으로 줄일 수 있다. 이러한 경우, 레지스터(640)의 출력 래치(636)는 다른 기입 드라이버(WD)의 입력 래치로서 사용되며, 기입 드라이버 블록(700)의 래치(637)는 제 1 스캔 구간 동안 레지스터(636)로부터 출력되는 데이터를 래치하도록 구성될 것이다. 이러한 점을 제외하면, 도 7에 도시된 버퍼(BUF0) 및 기입 드라이버 블록(700)은 앞서 언급된 것과 실질적으로 동일하게 동작하며, 그것에 대한 설명은 그러므로 생략될 것이다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
상술한 바와 같이, 하나의 스캔 로직을 통해 2-워드 데이터의 스캔 동작을 수행함으로써 멀티-버퍼 블록의 레이아웃 면적을 최소할 수 있다.

Claims (10)

  1. 메모리 셀 어레이와; 그리고
    상기 메모리 셀 어레이에 저장될 프로그램 데이터를 저장하도록 구성된 멀티-버퍼 블록을 포함하며,
    상기 멀티-버퍼 블록은 적어도 2-워드 데이터를 각각 저장하도록 구성되는 복수 개의 버퍼 회로들을 포함하며,
    상기 버퍼 회로들 각각은 각각이 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 저장하도록 구성된 복수 개의 레지스터들과; 그리고 상기 레지스터들에 각각 대응하며, 제 1 스캔 구간 동안 상기 2-워드 데이터 중 제 1 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 그리고 제 2 스캔 구간 동안 상기 제 1 워드 데이터의 프로그램 데이터 수를 근거로 하여 상기 2-워드 데이터 중 제 2 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 구성된 스캔 로직들을 포함하는 플래시 메모리 장치.
  2. 제 1 항에 있어서,
    상기 각 레지스터는
    상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과;
    상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출력을 래치하는 제 1 스캔 래치와;
    상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와;
    대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 래치의 출력을 래치하는 제 1 출력 래치와; 그리고
    상기 대응하는 스캔 로직에 의해서 제어되며, 상기 제 2 스캔 래치의 출력을 래치하는 제 2 출력 래치를 포함하는 플래시 메모리 장치.
  3. 제 2 항에 있어서,
    상기 스캔 로직들 각각은 상기 제 1 스캔 개시 신호에 응답하여 동작하며, 상기 제 1 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력하는 플래시 메모리 장치.
  4. 제 3 항에 있어서,
    상기 스캔 로직들 각각은 상기 제 2 스캔 개시 신호에 응답하여 동작하며, 상기 제 2 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력하는 플래시 메모리 장치.
  5. 제 4 항에 있어서,
    제어 로직과; 그리고
    상기 제어 로직에 의해서 제어되며, 상기 레지스터들 각각의 제 1 및 제 2 출력 래치들의 출력들에 응답하여 상기 메모리 셀 어레이의 비트 라인들을 구동하도록 구성된 기입 드라이버 블록을 더 포함하는 플래시 메모리 장치.
  6. 제 5 항에 있어서,
    상기 멀티-버퍼 블록은 상기 저장된 프로그램 데이터의 데이터 스캔 동작이 완료된 후 상기 버퍼 회로들 중 최종 버퍼 회로의 출력에 응답하여 제 1 및 제 2 플래그 신호들을 발생하는 신호 발생 회로를 더 포함하는 플래시 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함함을 나타내는 상기 제 1 플래그 신호에 응답하여 상기 기입 드라이버 블록을 제어하는 플래시 메모리 장치.
  8. 제 6 항에 있어서,
    상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하지 않음을 나타내는 상기 제 2 플래그 신호에 응답하여 프로그램 동작을 종료시키는 플래시 메모리 장치.
  9. 제 2 항에 있어서,
    상기 각 레지스터는
    상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과;
    상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출력을 래치하는 제 1 스캔 래치와;
    상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와; 그리고
    대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 구간에서 상기 제 1 스캔 래치의 출력을 래치하고 상기 제 2 스캔 구간에서 상기 제 2 스캔 래치의 출력을 래치하는 출력 래치를 포함하는 플래시 메모리 장치.
  10. 제 9 항에 있어서,
    상기 제 1 스캔 구간 동안 상기 출력 래치의 출력을 래치하는 입력 래치와;
    프로그램 구간 동안 상기 입력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버와; 그리고
    상기 프로그램 구간 동안 상기 출력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버를 더 포함하는 플래시 메모리 장치.
KR1020060054029A 2006-06-15 2006-06-15 향상된 스캔 구조를 갖는 플래시 메모리 장치 KR100733954B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060054029A KR100733954B1 (ko) 2006-06-15 2006-06-15 향상된 스캔 구조를 갖는 플래시 메모리 장치
US11/762,797 US7489565B2 (en) 2006-06-15 2007-06-14 Flash memory device including multi-buffer block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060054029A KR100733954B1 (ko) 2006-06-15 2006-06-15 향상된 스캔 구조를 갖는 플래시 메모리 장치

Publications (1)

Publication Number Publication Date
KR100733954B1 true KR100733954B1 (ko) 2007-06-29

Family

ID=38373808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060054029A KR100733954B1 (ko) 2006-06-15 2006-06-15 향상된 스캔 구조를 갖는 플래시 메모리 장치

Country Status (2)

Country Link
US (1) US7489565B2 (ko)
KR (1) KR100733954B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090017270A (ko) * 2007-08-14 2009-02-18 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
KR20110104294A (ko) * 2010-03-16 2011-09-22 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20140071641A (ko) * 2012-12-04 2014-06-12 에스케이하이닉스 주식회사 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR20170091832A (ko) * 2016-02-01 2017-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI671756B (zh) * 2018-11-13 2019-09-11 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010045596A (ko) * 1999-11-05 2001-06-05 윤종용 연속적인 읽기 동작을 지원하는 동기형 마스크 롬 장치
JP2003107133A (ja) 2001-09-28 2003-04-09 Toshiba Corp 半導体集積回路
KR20040102599A (ko) * 2003-05-28 2004-12-08 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
KR20060028983A (ko) * 2004-09-30 2006-04-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20060054572A (ko) * 2004-11-15 2006-05-23 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자의 읽기 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159571A (en) * 1987-12-29 1992-10-27 Hitachi, Ltd. Semiconductor memory with a circuit for testing characteristics of flip-flops including selectively applied power supply voltages
JP2001084787A (ja) * 1999-09-09 2001-03-30 Oki Electric Ind Co Ltd 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ
JP2004326893A (ja) 2003-04-23 2004-11-18 Renesas Technology Corp 試験回路装置
KR100536613B1 (ko) * 2004-04-09 2005-12-14 삼성전자주식회사 프로그램 시간을 단축할 수 있는 노어형 플래시 메모리장치 및 그것의 프로그램 방법
KR100626379B1 (ko) 2004-07-05 2006-09-20 삼성전자주식회사 비트 스캐닝 프로그램을 수행하는 불휘발성 메모리 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010045596A (ko) * 1999-11-05 2001-06-05 윤종용 연속적인 읽기 동작을 지원하는 동기형 마스크 롬 장치
JP2003107133A (ja) 2001-09-28 2003-04-09 Toshiba Corp 半導体集積回路
KR20040102599A (ko) * 2003-05-28 2004-12-08 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
KR20060028983A (ko) * 2004-09-30 2006-04-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20060054572A (ko) * 2004-11-15 2006-05-23 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자의 읽기 방법

Also Published As

Publication number Publication date
US20070297229A1 (en) 2007-12-27
US7489565B2 (en) 2009-02-10

Similar Documents

Publication Publication Date Title
KR100634458B1 (ko) 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
EP1860662B1 (en) Decoder circuit for use in a non-volatile semiconductor memory device
US6836434B2 (en) Mode selection in a flash memory device
KR100648286B1 (ko) 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
KR100466980B1 (ko) 낸드 플래시 메모리 장치
US7307883B2 (en) Non-volatile semiconductor memory device
JP4017177B2 (ja) メモリ装置
US7386657B2 (en) Random access interface in a serial memory device
KR100634457B1 (ko) 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
KR100729353B1 (ko) 통합된 레귤레이터/펌프 구조를 갖는 플래시 메모리 장치
JP2003203493A (ja) Nandフラッシュメモリ装置
JPH09180477A (ja) 不揮発性半導体メモリ装置とその読出及びプログラム方法
JP2007004961A (ja) マルチレベルセルフラッシュメモリのアクセス方法及び装置
KR100733954B1 (ko) 향상된 스캔 구조를 갖는 플래시 메모리 장치
KR100632947B1 (ko) 불 휘발성 메모리 장치 및 그것의 프로그램 방법
US6510090B1 (en) Semiconductor memory device
CN110782931B (zh) 用于非易失静态随机存取存储器架构的扩展写入模式
KR100648291B1 (ko) 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
KR100669349B1 (ko) 플래시 메모리 장치 및 그것의 읽기 방법
KR100888482B1 (ko) 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 쓰기 방법
KR100242453B1 (ko) 반도체 장치
KR100632941B1 (ko) 불 휘발성 반도체 메모리 장치 및 그것의 멀티-블록 소거방법
US6845040B2 (en) Nonvolatile memory
KR100288417B1 (ko) 동기형 반도체 기억 장치
US7477569B2 (en) Semiconductor memory device capable of performing page mode operation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee