KR100733954B1 - 향상된 스캔 구조를 갖는 플래시 메모리 장치 - Google Patents
향상된 스캔 구조를 갖는 플래시 메모리 장치 Download PDFInfo
- 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
Links
- 239000000872 buffer Substances 0.000 claims abstract description 139
- 230000015654 memory Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 14
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 11
- 230000004913 activation Effects 0.000 description 8
- 208000033361 autosomal recessive with axonal neuropathy 2 spinocerebellar ataxia Diseases 0.000 description 7
- 101100524516 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA2 gene Proteins 0.000 description 5
- 101100510617 Caenorhabditis elegans sel-8 gene Proteins 0.000 description 3
- 208000035405 autosomal recessive with axonal neuropathy spinocerebellar ataxia Diseases 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits 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
도 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)
- 메모리 셀 어레이와; 그리고상기 메모리 셀 어레이에 저장될 프로그램 데이터를 저장하도록 구성된 멀티-버퍼 블록을 포함하며,상기 멀티-버퍼 블록은 적어도 2-워드 데이터를 각각 저장하도록 구성되는 복수 개의 버퍼 회로들을 포함하며,상기 버퍼 회로들 각각은 각각이 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 저장하도록 구성된 복수 개의 레지스터들과; 그리고 상기 레지스터들에 각각 대응하며, 제 1 스캔 구간 동안 상기 2-워드 데이터 중 제 1 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 그리고 제 2 스캔 구간 동안 상기 제 1 워드 데이터의 프로그램 데이터 수를 근거로 하여 상기 2-워드 데이터 중 제 2 워드 데이터의 프로그램 데이터 수를 스캐닝하도록 구성된 스캔 로직들을 포함하는 플래시 메모리 장치.
- 제 1 항에 있어서,상기 각 레지스터는상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과;상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출력을 래치하는 제 1 스캔 래치와;상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와;대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 래치의 출력을 래치하는 제 1 출력 래치와; 그리고상기 대응하는 스캔 로직에 의해서 제어되며, 상기 제 2 스캔 래치의 출력을 래치하는 제 2 출력 래치를 포함하는 플래시 메모리 장치.
- 제 2 항에 있어서,상기 스캔 로직들 각각은 상기 제 1 스캔 개시 신호에 응답하여 동작하며, 상기 제 1 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력하는 플래시 메모리 장치.
- 제 3 항에 있어서,상기 스캔 로직들 각각은 상기 제 2 스캔 개시 신호에 응답하여 동작하며, 상기 제 2 스캔 래치의 출력에 따라 이전 스캔 로직의 출력을 증가시키고, 프로그램 데이터 비트 수로서 상기 증가된 값을 다음의 스캔 로직으로 출력하는 플래시 메모리 장치.
- 제 4 항에 있어서,제어 로직과; 그리고상기 제어 로직에 의해서 제어되며, 상기 레지스터들 각각의 제 1 및 제 2 출력 래치들의 출력들에 응답하여 상기 메모리 셀 어레이의 비트 라인들을 구동하도록 구성된 기입 드라이버 블록을 더 포함하는 플래시 메모리 장치.
- 제 5 항에 있어서,상기 멀티-버퍼 블록은 상기 저장된 프로그램 데이터의 데이터 스캔 동작이 완료된 후 상기 버퍼 회로들 중 최종 버퍼 회로의 출력에 응답하여 제 1 및 제 2 플래그 신호들을 발생하는 신호 발생 회로를 더 포함하는 플래시 메모리 장치.
- 제 6 항에 있어서,상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함함을 나타내는 상기 제 1 플래그 신호에 응답하여 상기 기입 드라이버 블록을 제어하는 플래시 메모리 장치.
- 제 6 항에 있어서,상기 제어 로직은 상기 저장된 프로그램 데이터가 적어도 하나의 프로그램 데이터 비트를 포함하지 않음을 나타내는 상기 제 2 플래그 신호에 응답하여 프로그램 동작을 종료시키는 플래시 메모리 장치.
- 제 2 항에 있어서,상기 각 레지스터는상기 2-워드 데이터 중 2개의 대응하는 데이터 비트들을 각각 래치하는 제 1 및 제 2 입력 래치들과;상기 제 1 스캔 구간을 알리는 제 1 스캔 개시 신호에 응답하여 상기 제 1 입력 래치의 출력을 래치하는 제 1 스캔 래치와;상기 제 2 스캔 구간을 알리는 제 2 스캔 개시 신호에 응답하여 상기 제 2 입력 래치의 출력을 래치하는 제 2 스캔 래치와; 그리고대응하는 스캔 로직에 의해서 제어되며, 상기 제 1 스캔 구간에서 상기 제 1 스캔 래치의 출력을 래치하고 상기 제 2 스캔 구간에서 상기 제 2 스캔 래치의 출력을 래치하는 출력 래치를 포함하는 플래시 메모리 장치.
- 제 9 항에 있어서,상기 제 1 스캔 구간 동안 상기 출력 래치의 출력을 래치하는 입력 래치와;프로그램 구간 동안 상기 입력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버와; 그리고상기 프로그램 구간 동안 상기 출력 래치의 출력에 응답하여 대응하는 비트 라인을 구동하는 기입 드라이버를 더 포함하는 플래시 메모리 장치.
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)
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)
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)
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 | 삼성전자주식회사 | 비트 스캐닝 프로그램을 수행하는 불휘발성 메모리 장치 |
-
2006
- 2006-06-15 KR KR1020060054029A patent/KR100733954B1/ko not_active IP Right Cessation
-
2007
- 2007-06-14 US US11/762,797 patent/US7489565B2/en not_active Expired - Fee Related
Patent Citations (5)
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 |