KR20020086746A - Synchronous flash memory with concurrent write and read operation - Google Patents

Synchronous flash memory with concurrent write and read operation Download PDF

Info

Publication number
KR20020086746A
KR20020086746A KR1020027013090A KR20027013090A KR20020086746A KR 20020086746 A KR20020086746 A KR 20020086746A KR 1020027013090 A KR1020027013090 A KR 1020027013090A KR 20027013090 A KR20027013090 A KR 20027013090A KR 20020086746 A KR20020086746 A KR 20020086746A
Authority
KR
South Korea
Prior art keywords
data
read
memory
write
bank
Prior art date
Application number
KR1020027013090A
Other languages
Korean (ko)
Other versions
KR100438634B1 (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
Priority claimed from US09/628,184 external-priority patent/US6851026B1/en
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20020086746A publication Critical patent/KR20020086746A/en
Application granted granted Critical
Publication of KR100438634B1 publication Critical patent/KR100438634B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/26Sensing or reading circuits; Data output 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • 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/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Abstract

동기식 플래시 메모리는 비휘발성 메모리 셀 어레이를 포함한다. 메모리 어레이는 행렬로 배열되어 있으며, 또한, 어드레서블 블럭으로 배열될 수 있다. 데이터 통신 커넥션은 프로세서 또는 다른 메모리 컨트롤러와 같은 외부 디바이스들(과)의 양방향 데이터 통신을 위해 사용된다. 기록 래치는 데이터 통신 커넥션에 제공된 데이터를 래치하기 위해 데이터 버퍼 및 메모리 어레이 사이에 결합되어 있다. 메모리는 데이터는 제2 메모리 어레이 블럭과 같은 제2 로케이션으로부터 판독되는 동안, 메모리 어레이 블럭과 같은 하나의 로케이션에 데이터를 기록할 수 있다. 기록 및 판독 동작은 어레이 블럭의 커먼 어드레서블 행에 수행된다.Synchronous flash memory includes an array of nonvolatile memory cells. The memory array is arranged in a matrix, and can also be arranged in addressable blocks. The data communication connection is used for bidirectional data communication with external devices such as a processor or other memory controller. The write latch is coupled between the data buffer and the memory array to latch data provided to the data communication connection. The memory may write data to one location, such as a memory array block, while the data is read from a second location, such as a second memory array block. Write and read operations are performed on the common addressable rows of the array block.

Description

기록 및 판독 동작을 동시에 행하는 동기식 플래시 메모리{SYNCHRONOUS FLASH MEMORY WITH CONCURRENT WRITE AND READ OPERATION}SYNCHRONOUS FLASH MEMORY WITH CONCURRENT WRITE AND READ OPERATION}

메모리 디바이스는 컴퓨터의 내부 기억 영역들로 통상 제공된다. 메모리라는 용어는 집적 회로 칩들의 형태로 되어 있는 데이터 스토리지와 관계된다. 몇몇 상이한 타입의 메모리들이 있다. 한가지 타입은 RAM(randon-access memory)이다. 이는 통상 컴퓨터 환경에서 메인 메모리로 사용된다. RAM은 판독 및 기록 메모리와 관련된다; 즉, RAM에 데이터를 기록할 수도 있고 RAM으로부터 데이터를 판독할 수도 있다. 이는 ROM과 대조되는 것으로, ROM에서는 데이터 판독만을 허용한다. 대부분의 RAM은 휘발성인데, 이는 내용을 유지하기 위해 고정적인 전기의 흐름(steady flow)이 필요함을 의미한다. 전력이 턴 오프되자 마자, RAM의 데이터는 무엇이었던 간에 손실된다.The memory device is typically provided with internal storage areas of the computer. The term memory relates to data storage in the form of integrated circuit chips. There are several different types of memories. One type is random-access memory (RAM). It is usually used as main memory in computer environment. RAM is associated with read and write memory; That is, data may be written to or read from the RAM. This is in contrast to ROM, which only allows reading data. Most RAM is volatile, which means that a steady flow of electricity is required to maintain its contents. As soon as power is turned off, whatever data in RAM is lost.

컴퓨터들은 거의 항상 컴퓨터를 가동하기 위한 명령들을 보유하는 소량의 판독 전용 메모리(ROM)를 포함한다. RAM과 달리, ROM에는 기록될 수 없다. EEPROM(electrically erasable programmable read-only memory)은 전기 전하에 노출시킴으로써 소거될 수 있는 특정 타입의 비휘발성 ROM이다. 다른 타입들의 ROM처럼, EEPROM은 전형적으로 RAM만큼 빠르지 않다. EEPROM은 전기적으로 절연된 게이트들(플로팅 게이트들)을 갖는 다수의 메모리 셀들을 포함한다. 데이터는 플로팅 게이트들의 전하 형태로 메모리 셀들에 저장된다. 전하는 각각 프로그래밍 및 소거 동작들에 의해 플로팅 게이트들에 전송되거나 플로팅 게이트들로부터 제거된다.Computers almost always contain a small amount of read-only memory (ROM) that holds instructions for running the computer. Unlike RAM, it cannot be written to ROM. Electrically erasable programmable read-only memory (EEPROM) is a specific type of nonvolatile ROM that can be erased by exposure to electrical charge. Like other types of ROM, EEPROM is typically not as fast as RAM. The EEPROM includes a plurality of memory cells having electrically insulated gates (floating gates). Data is stored in memory cells in the form of charges in floating gates. Charge is transferred to or removed from the floating gates by programming and erase operations, respectively.

비휘발성 메모리의 또 다른 타입은 플래시 메모리이다. 플래시 메모리는 한번에 한 바이트 대신 블럭들로 소거 및 재프로그램될 수 있는 일종의 EEPROM이다. 다수의 현대 PCS는 플래시 메모리 칩에 저장된 BIOS를 가짐으로써 필요한 경우 쉽게 갱신될 수 있다. BIOS는 종종 플래시 BIOS라고도 한다. 플래시 메모리는 또한 모뎀에서 인기가 있는데 표준화되어서 모뎀 제조자가 새로운 프로토콜들을 지원할 수 있기 때문이다.Another type of nonvolatile memory is flash memory. Flash memory is a type of EEPROM that can be erased and reprogrammed in blocks instead of one byte at a time. Many modern PCS have a BIOS stored on a flash memory chip that can be easily updated when needed. The BIOS is often referred to as the flash BIOS. Flash memory is also popular in modems because it is standardized so that modem manufacturers can support new protocols.

전형적인 플래시 메모리는 행 및 열 방식으로 배치된 다수의 메모리 셀들을 포함하는 메모리 어레이를 포함한다. 각각의 메모리 셀들은 전하를 보유할 수 있는 플로팅 게이트 전계 효과 트랜지스터를 포함한다. 셀들은 통상 블럭들로 그룹화된다. 블럭 내의 각각의 셀들은 플로팅 게이트를 충전함으로써 임의의 방식으로 전기적으로 프로그램될 수 있다. 전하는 블럭 소거 동작에 의해 플로팅 게이트로부터 제거될 수 있다. 셀 데이터는 플로팅 게이트의 전하의 존재 또는 부재에 의해 결정된다.Typical flash memory includes a memory array comprising a plurality of memory cells arranged in a row and column fashion. Each memory cell includes a floating gate field effect transistor capable of retaining charge. Cells are typically grouped into blocks. Each of the cells in the block can be electrically programmed in any manner by charging the floating gate. Charge can be removed from the floating gate by a block erase operation. Cell data is determined by the presence or absence of charge in the floating gate.

동기 DRAM(SDRAM)은 종래의 DRAM 메모리 보다 훨씬 높은 클록 속도들로 운영될 수 있는 일종의 DRAM이다. SDRAM은 CPU 버스와 동기화되고 종래의 FPM(Fast Page Mode) RAM 보다 약 3배 더 빠르게, 또한 고속 EDO(Extended Data Ouput) DRAM 및 BEDO(Burst Extended Data Output) DRAM 보다 대략 2배 더 빠르게 100 MHZ로 운영될 수 있다. SDRAM은 신속하게 액세스될 있지만, 휘발성이다. 다수의 컴퓨터 시스템들은 SDRAM을 사용해서 동작하도록 설계되지만, 비휘발성 메모리를 사용하는 것이 더 유익하다.Synchronous DRAM (SDRAM) is a type of DRAM that can operate at much higher clock speeds than conventional DRAM memory. SDRAM is synchronized to the CPU bus and is approximately 3 times faster than conventional fast page mode (FPM) RAM, and 100 MHZ approximately 2 times faster than high-speed Extended Data Ouput (EDO) DRAM and Burst Extended Data Output (BEDO) DRAM. Can be operated. SDRAM is quickly accessed, but volatile. Many computer systems are designed to operate using SDRAM, but it is more beneficial to use nonvolatile memory.

상술된 이유들로 인해, 또한 본 명세서를 판독하고 이해할 때 본 기술 분야에 숙련된 자들에게 명백해질 후술된 다른 이유들로 인해, 본 기술 분야에서는 SDRAM 동작과 유사한 방식으로 동작할 수 있는 비휘발성 메모리 디바이스가 필요하다. 특히, 동시의 판독 및 기록 동작을 동시에 허락하는 동기 비휘발성 메모리가 필요하다.For the reasons described above, and for other reasons described below that will be apparent to those skilled in the art upon reading and understanding the specification, non-volatile memory that can operate in a manner similar to SDRAM operation in the art. You need a device. In particular, there is a need for a synchronous nonvolatile memory that allows simultaneous read and write operations simultaneously.

<요약><Summary>

메모리 디바이스들과 관련된 상술된 문제점들 및 다른 문제점들은 본 발명에 의해 다루어질 것이고 이하의 명세서를 판독 및 연구함으로써 이해될 것이다.The above and other problems associated with memory devices will be addressed by the present invention and will be understood by reading and studying the following specification.

일 실시예에서, 비휘발성 메모리는 어드레서블 블럭으로 배열된 비휘발성 메모리 셀 어레이, 및 상기 어레이에 결합된 판독/기록 회로를 포함한다. 판독/기록 회로는 제1 어드레서블 블럭에 제1 데이터를 기록하고, 동시에 제2 어드레서블 블럭으로부터 제2 데이터를 판독한다. 메모리는 메모리 어레이에 기록하기 이전에 제1 데이터를 저장하기 위한 래치를 포함할 수 있다.In one embodiment, the nonvolatile memory includes an array of nonvolatile memory cells arranged in addressable blocks, and a read / write circuit coupled to the array. The read / write circuit writes the first data in the first addressable block and simultaneously reads the second data from the second addressable block. The memory may include a latch for storing the first data prior to writing to the memory array.

다른 실시예에서, 비휘발성 메모리 동작 방법은 비휘발성 메모리의 메모리어레이내의 제1 로케이션에 제1 데이터를 기록하는 과정; 및 거의 동시에 비휘발성 메모리의 메모리 어레이내의 제2 로케이션으로부터 제2 데이터를 판독하는 과정을 포함한다.In another embodiment, a method of operating a nonvolatile memory includes writing first data to a first location within a memory array of the nonvolatile memory; And reading the second data from the second location in the memory array of the nonvolatile memory at about the same time.

또 다른 실시예에서 제공된 메모리 디바이스 동작 방법은 외부적으로 공급된 제1 데이터를 수신하는 과정, 기록 래치 내에 제1 데이터를 저장하는 과정, 기록 래치로부터의 제1 데이터를 메모리의 메모리 어레이내의 제1 로케이션에 기록하는 과정, 및 거의 동시에 메모리의 메모리 어레이내의 제2 로케이션으로부터 제2 데이터를 판독하는 과정을 포함한다.In another embodiment, a method of operating a memory device provided includes receiving first externally supplied data, storing first data in a write latch, and first data from the write latch in a first memory array of a memory. Writing to the location, and reading the second data from the second location in the memory array of the memory at about the same time.

또 다른 실시예에서, 비휘발성 메모리 디바이스 동작 방법은 메모리에 결합된 제1 외부 프로세서로부터 제1 데이터를 수신하는 과정, 기록 래치 내에 제1 데이터를 저장하는 과정, 기록 래치로부터의 제1 데이터를 비휘발성 메모리 디바이스의 메모리 어레이내의 제1 로케이션에 기록하는 과정을 포함한다. 이 방법은 또한 거의 동시에 비휘발성 메모리 디바이스의 메모리 어레이내의 제2 로케이션으로부터 제2 데이터를 판독하고, 메모리 디바이스에 결합된 제2 외부 프로세서에 제2 데이터를 출력한다.In yet another embodiment, a method of operating a nonvolatile memory device includes receiving first data from a first external processor coupled to a memory, storing the first data in a write latch, and deleting the first data from the write latch. Writing to a first location within the memory array of the volatile memory device. The method also reads second data from a second location in the memory array of the nonvolatile memory device at about the same time and outputs the second data to a second external processor coupled to the memory device.

본 발명은 일반적으로 비휘발성 메모리 디바이스들에 관한 것으로 특히 동기 비휘발성 플래시 메모리에 관한 것이다.The present invention relates generally to nonvolatile memory devices and in particular to synchronous nonvolatile flash memory.

도 1A는 본 발명의 동기식 플래시 메모리의 블럭도이다.1A is a block diagram of a synchronous flash memory of the present invention.

도 1B는 본 발명의 한 실시예의 집적 회로 핀 인터커넥트 도면이다.1B is an integrated circuit pin interconnect diagram of one embodiment of the present invention.

도 1C는 본 발명의 한 실시예의 집적 회로 인터커넥트 범프 그리드 어레이 도면이다.1C is a diagram of an integrated circuit interconnect bump grid array of one embodiment of the present invention.

도 2A 및 도 2B는 본 발명의 한 실시예의 모드 레지스터를 도시한 도면이다.2A and 2B show a mode register of one embodiment of the present invention.

도 3은 1, 2 및 3 클록 사이클들의 CAS 레이턴시를 갖는 판독 동작들을 도시한 도면이다.3 is a diagram illustrating read operations with CAS latency of one, two and three clock cycles.

도 4는 본 발명의 한 실시예의 메모리 뱅크의 특정 행을 활성화하는 도면이다.4 is a diagram for activating a specific row of a memory bank of one embodiment of the present invention.

도 5는 액티브 커맨드 및 판독 또는 기록 커맨드 간의 타이밍을 도시한 도면이다.5 shows timing between an active command and a read or write command.

도 6은 판독 커맨드를 도시한 도면이다.6 shows a read command.

도 7은 본 발명의 한 실시예의 연속 판독 버스트들의 타이밍을 도시한 도면이다.7 illustrates timing of successive read bursts in one embodiment of the invention.

도 8은 본 발명의 한 실시예의 페이지 내의 임의 판독 액세스들을 도시한 도면이다.Figure 8 illustrates random read accesses within a page of one embodiment of the present invention.

도 9는 기록 동작이 이어지는 판독 동작을 도시한 도면이다.9 is a diagram showing a read operation followed by a write operation.

도 10은 본 발명의 한 실시예에 따른 버스트 종료 커맨드를 사용해서 종료되는 판독 버스트 동작을 도시한 도면이다.10 is a diagram illustrating a read burst operation that is terminated using a burst end command according to an embodiment of the present invention.

도 11은 기록 커맨드를 도시한 도면이다.11 is a diagram showing a write command.

도 12는 판독 동작이 이어지는 기록을 도시한 도면이다.12 is a diagram showing a recording followed by a read operation.

도 13은 본 발명의 한 실시예의 파워-다운 동작을 도시한 도면이다.13 is a diagram illustrating a power-down operation of one embodiment of the present invention.

도 14는 버스트 판독 중의 클록 중단 동작을 도시한 도면이다.14 is a diagram illustrating a clock interrupt operation during burst reading.

도 15는 2개의 부트 섹터들을 갖는 메모리의 한 실시예의 메모리 어드레스맵을 도시한 도면이다.FIG. 15 is a diagram illustrating a memory address map of one embodiment of a memory having two boot sectors. FIG.

도 16은 본 발명의 한 실시예에 따른 셀프-타이밍 기록 시퀀스의 플로우챠트이다.16 is a flowchart of a self-timing recording sequence, in accordance with an embodiment of the present invention.

도 17은 본 발명의 한 실시예에 따른 완전한 기록 상태-체크 시퀀스의 플로우챠트이다.17 is a flowchart of a complete write state-check sequence in accordance with an embodiment of the present invention.

도 18은 본 발명의 한 실시예에 따른 셀프-타이밍(self-timed) 블럭 소거 시퀀스의 플로우챠트이다.18 is a flowchart of a self-timed block erase sequence in accordance with an embodiment of the present invention.

도 19는 본 발명의 한 실시예에 따른 완전한 블럭 소거 상태-체크 시퀀스의 플로우챠트이다.19 is a flowchart of a complete block erase state-check sequence in accordance with an embodiment of the present invention.

도 20은 본 발명의 한 실시예에 따른 블럭 보호 시퀀스의 플로우챠트이다.20 is a flowchart of a block protection sequence in accordance with an embodiment of the present invention.

도 21은 본 발명의 한 실시예에 따른 완전한 블럭 상태-체크 시퀀스의 플로우챠트이다.21 is a flowchart of a complete block state-check sequence in accordance with an embodiment of the present invention.

도 22는 본 발명의 한 실시예에 따른 디바이스 보호 시퀀스의 플로우챠트이다.22 is a flowchart of a device protection sequence in accordance with an embodiment of the present invention.

도 23은 본 발명의 한 실시예에 따른 디바이스 비보호(unprotect) 시퀀스의 플로우챠트이다.23 is a flowchart of a device unprotected sequence, according to one embodiment of the invention.

도 24는 초기화 및 로드 모드 레지스터 동작의 타이밍을 도시한 도면이다.24 is a diagram illustrating timing of initialization and load mode register operations.

도 25는 클록 중단 모드 동작의 타이밍을 도시한 도면이다.25 is a diagram illustrating timing of a clock interrupt mode operation.

도 26은 버스트 판독 동작의 타이밍을 도시한 도면이다.Fig. 26 is a diagram showing the timing of the burst read operation.

도 27은 교체 뱅크 판독 액세스들의 타이밍을 도시한 도면이다.27 is a diagram illustrating timing of replacement bank read accesses.

도 28은 전 페이지 버스트 판독 동작의 타이밍을 도시한 도면이다.Fig. 28 is a diagram showing the timing of all page burst read operations.

도 29는 데이터 마스크 신호를 사용하는 버스트 판독 동작의 타이밍을 도시한 도면이다.29 is a diagram showing timing of a burst read operation using a data mask signal.

도 30은 상이한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍을 도시한 도면이다.30 is a diagram showing the timing of a write operation followed by reading from different banks.

도 31은 동일한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍을 도시한 도면이다.31 is a diagram showing the timing of a write operation followed by a read of the same bank.

도 32는 본 발명의 메모리 시스템을 도시한 도면이다.32 is a diagram showing a memory system of the present invention.

도 33은 본 발명의 다수-프로세서 시스템을 도시한 도면이다.Figure 33 illustrates a multi-processor system of the present invention.

본 발명의 실시예들의 이하의 상세한 설명에서, 그 일부를 형성하며, 본 발명이 구현될 수도 있는 특정 실시예들이 일례로 도시되어 있는 첨부된 도면들이 참조된다. 본 실시예들은 본 기술 분야에 숙련된 자들이 본 발명을 구현할 수 있도록 충분히 상세하게 기술되며, 다른 실시예들이 사용될 수도 있으며 논리적이고 기계적이며 전기적인 변경들이 본 발명의 원리 및 범위 내에서 이루어질 수도 있음을 알 것이다. 따라서, 이하의 상세한 설명은 제한된 의미가 아니며, 본 발명의 범위는 청구항들에 의해서만 한정된다.In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which form a part thereof and in which are shown by way of illustration specific embodiments in which the invention may be implemented. The embodiments are described in sufficient detail to enable those skilled in the art to implement the invention, other embodiments may be used, and logical, mechanical, and electrical changes may be made within the spirit and scope of the invention. Will know. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is limited only by the claims.

이하의 상세한 설명은 2개의 주요 섹션들로 나뉘어진다. 제1 섹션은 SDRAM 메모리와의 호환성에 대해 상세히 기술한 인터페이스 기능 기술(Interface Functional Description)이다. 제2 주요 섹션은 플래시 아키텍처 기능 커맨드들을기술한 기능 기술(Functional Description)이다.The following detailed description is divided into two main sections. The first section is the Interface Functional Description detailing the compatibility with SDRAM memory. The second main section is the Functional Description, which describes the flash architecture function commands.

인터페이스 기능 기술Interface function technology

도 1A를 참조하면, 본 발명의 한 실시예의 블럭도가 도시되어 있다. 메모리 디바이스(100)는 비휘발성 플래시 메모리 셀 어레이(102)를 포함한다. 어레이는 다수의 어드레서블 뱅크들로 배치된다. 한 실시예에서, 메모리는 메모리 뱅크들(104, 106, 108 및 110)을 포함한다. 각각의 메모리 뱅크는 메모리 셀들의 어드레서블 섹터들을 포함한다. 메모리에 저장된 데이터는 어드레스 레지스터(112)에 의해 수신된 외부 제공 로케이션 어드레스들을 사용해서 액세스될 수 있다. 어드레스들은 행 어드레스 멀티플렉스 회로(114)를 사용해서 디코딩된다. 어드레스들은 또한 뱅크 제어 논리(116) 및 행 어드레스 래치 및 디코드 회로(118)를 사용해서 디코드된다. 메모리의 적합한 열에 액세스하기 위해, 열 어드레스 카운터 및 래치 회로(120)는 수신된 어드레스들을 열 디코드 회로(122)에 결합한다. 회로(124)는 입출력 게이팅, 데이터 마스크 논리, 판독 데이터 래치 회로 및 기록 드라이버 회로를 제공한다. 데이터는 데이터 입력 레지스터들(126)을 통해 입력되고 데이터 출력 레지스터들(128)을 통해 출력된다. 커맨드 실행 논리(130)는 메모리 디바이스의 기본 동작들을 제어하기 위해 제공된다. 상태 기계(132)도 또한 메모리 어레이들 및 셀들에서 실행되는 특정 동작들을 제어하기 위해 제공된다. 상태 레지스터(134) 및 식별 레지스터(136)도 또한 데이터를 출력하기 위해 제공될 수 있다.1A, a block diagram of one embodiment of the present invention is shown. The memory device 100 includes a nonvolatile flash memory cell array 102. The array is arranged in a plurality of addressable banks. In one embodiment, the memory includes memory banks 104, 106, 108 and 110. Each memory bank includes addressable sectors of memory cells. Data stored in memory can be accessed using externally provided location addresses received by address register 112. The addresses are decoded using the row address multiplex circuit 114. The addresses are also decoded using the bank control logic 116 and the row address latch and decode circuit 118. To access a suitable column of memory, the column address counter and latch circuit 120 couples the received addresses to the column decode circuit 122. Circuit 124 provides input / output gating, data mask logic, read data latch circuits, and write driver circuits. Data is input through data input registers 126 and output through data output registers 128. Command execution logic 130 is provided to control the basic operations of the memory device. State machine 132 is also provided to control certain operations executed in memory arrays and cells. Status register 134 and identification register 136 may also be provided for outputting data.

도 1B는 본 발명의 한 실시예의 인터커넥트 핀 할당을 도시한 도면이다. 메모리 팩키지(150)는 54개의 인터커넥트 핀들을 갖는다. 핀 구성은 유효 SDRAM 팩키지들과 거의 유사하다. 본 발명에 특정한 2개의 인터커넥트들은 RP#(152) 및 Vccp(154)이다. 본 발명이 SDRAM과 동일하게 나타나는 인터커넥트 라벨들을 공유할 수도 있지만, 인터커넥트들에 제공된 신호들의 기능은 본 명세서에 기술되고 본 명세서에 기술되지 않는 한 SDRAM과 동일하지 않다. 도 1C는 도 1C의 핀 커넥션들 대신 범프 커넥션들을 갖는 메모리 팩키지(160)의 한 실시예를 도시한 것이다. 따라서, 본 발명은 특정 팩키지 구성으로만 제한되지 않는다.1B is a diagram illustrating interconnect pin assignment in one embodiment of the present invention. Memory package 150 has 54 interconnect pins. The pin configuration is very similar to the effective SDRAM packages. Two interconnects specific to the present invention are RP # 152 and Vccp 154. Although the present invention may share interconnect labels that appear identical to SDRAM, the functionality of the signals provided to the interconnects is not the same as SDRAM unless described herein and described herein. FIG. 1C illustrates one embodiment of a memory package 160 with bump connections instead of the pin connections of FIG. 1C. Thus, the present invention is not limited to any particular package configuration.

메모리 디바이스의 동작 특징들을 기술하기에 앞서, 인터커넥트 핀들 및 각각의 신호들이 보다 상세한 설명된다. 입력 클록 커넥션은 클록 신호(CLK)를 제공하는데 사용된다. 클록 신호는 시스템 클록에 의해 구동될 수 있으며, 모든 동기식 플래시 메모리 입력 신호들은 CLK의 포지티브 에지에서 샘플링된다. CLK는 또한 내부 버스트 카운터를 증가시키고 출력 레지스터를 제어한다.Prior to describing the operating features of the memory device, the interconnect pins and respective signals are described in more detail. The input clock connection is used to provide a clock signal CLK. The clock signal can be driven by the system clock, and all synchronous flash memory input signals are sampled at the positive edge of CLK. CLK also increments the internal burst counter and controls the output register.

입력 클록 인에이블(CKE) 커넥션은 CLK 신호 입력을 활성화(HIGH 상태) 및 비활성화(LOW 상태)하는데 사용된다. 클록 입력을 비활성화해서, POWER-DOWN 및 STANDBY 동작(모든 메모리 뱅크들이 유휴 상태임), ACTIVE POWER-DWON(메모리 행이 다른 뱅크에서 ACTIVE함) 또는 CLOCK SUSPEND 동작(버스트/액세스 진행중)을 제공한다. CKE는 디바이스가 파워-다운 모드들이 된 후를 제외하고 동기적이며, 동일한 모드에서 빠져 나올 때까지 CKE는 비동기적이 된다. CLK를 포함해서 입력 버퍼들은 로우 예비 전력을 제공하기 위해 파워-다운 모드 동안 디스에이블된다. 파워-다운 모드들(RP# 딥(deep) 파워-다운이 아님)이 요구되지 않는 시스템들에서 CKE는HIGH가 될 수도 있다.The input clock enable (CKE) connection is used to activate (HIGH state) and deactivate (LOW state) the CLK signal input. By disabling the clock input, it provides POWER-DOWN and STANDBY operations (all memory banks are idle), ACTIVE POWER-DWON (memory rows are ACTIVE in other banks), or CLOCK SUSPEND operation (burst / access in progress). The CKE is synchronous except after the device is in power-down modes, and the CKE is asynchronous until it exits the same mode. Input buffers, including CLK, are disabled during power-down mode to provide low reserve power. In systems where power-down modes (not RP # deep power-down) are not required, the CKE may be HIGH.

칩 선택(CS#) 입력 커넥션은 커맨드 실행 논리에 제공된 커맨드 디코더를 인에이블(LOW 등록) 및 디스에이블(HIGH 등록)하는 신호를 제공한다. 모든 커맨드들은 CS#가 HIGH로 등록될 때 마스킹된다. 또한, CS#는 시스템의 외부 뱅크 선택을 위해 다수의 뱅크들을 제공하며, CS#는 커맨드 코드의 일부라 생각될 수 있지만; 반드시 그럴 필요는 없다.The chip select (CS #) input connection provides a signal to enable (LOW register) and disable (HIGH register) the command decoder provided to the command execution logic. All commands are masked when CS # is registered as HIGH. In addition, CS # provides multiple banks for selecting an external bank of the system, and CS # may be considered part of the command code; It doesn't have to be.

RAS#, CAS# 및 WE#(CAS#, CS#와 함께)를 위한 입력 커맨드 입력 커넥션들은 상세히 후술된 바와 같이 메모리에 의해 실행되는 커맨드를 정의한다. 입출력 마스크(DQM) 커넥션들은 기록 액세스를 위해 입력 마스크 신호들을 제공하고 판독 액세스를 위해 출력 인에이블 신호를 제공하는데 사용된다. 입력 데이터는 DQM이 WRITE 사이클 동안 HIGH로 샘플링될 때 마스킹된다. READ 사이클 동안 DQM이 HIGH로 샘플링될 때 (2-클록 레이턴시 후) 출력 버퍼들은 하이 임피던스(High-Z) 상태가 된다. DQML은 데이터 커넥션들 DQ0-DQ7에 대응하고, DQMH는 데이터 커넥션들 DQ8-DQ15에 대응한다. DQML 및 DQMH는 DQM으로 기술될 때 동일한 상태로 간주된다.Input Commands for RAS #, CAS # and WE # (along with CAS #, CS #) Input connections define commands executed by the memory as described in detail below. Input / output mask (DQM) connections are used to provide input mask signals for write access and output enable signals for read access. Input data is masked when the DQM is sampled HIGH during the WRITE cycle. When the DQM is sampled HIGH during the READ cycle (after a 2-clock latency), the output buffers are in high impedance (High-Z) state. DQML corresponds to data connections DQ0-DQ7 and DQMH corresponds to data connections DQ8-DQ15. DQML and DQMH are considered to be in the same state when described as DQM.

어드레스 입력들(133)은 주로 어드레스 신호들을 제공하는데 사용된다. 본 실시예에서, 메모리는 12개의 라인들(A0-A11)을 갖는다. 다른 신호들이 후술된 바와 같이 어드레스 커넥션들을 통해 제공될 수 있다. 어드레스 입력들은 각각의 메모리 뱅크의 하나의 로케이션을 선택하기 위해 ACTIVE 커맨드(행-어드레스 A0-A11) 및 READ/WRITE 커맨드(열-어드레스 A0-A7) 동안 샘플링된다. 어드레스 입력들은또한 후술된 LOAD COMMAND REGISTER 동작 중에 연산 코드(OpCode)를 제공하는데 사용된다. 어드레스 라인들(A0-A11)은 또한 LOAD MODE REGISTER 동작 중에 모드 세팅들을 입력하는데 사용된다.Address inputs 133 are mainly used to provide address signals. In this embodiment, the memory has twelve lines A0-A11. Other signals may be provided over address connections as described below. Address inputs are sampled during the ACTIVE command (row-address A0-A11) and READ / WRITE command (column-address A0-A7) to select one location of each memory bank. The address inputs are also used to provide an opcode during the LOAD COMMAND REGISTER operation described below. Address lines A0-A11 are also used to enter the mode settings during the LOAD MODE REGISTER operation.

입력 리셋/파워-다운(RP#) 커넥션(140)은 리셋 및 파워-다운 동작을 위해 사용된다. 초기 디바이스 파워-업 때, 실행 가능 커맨드를 발행하기에 앞서, 내부 디바이스 초기화를 위한 한 실시예에서 RP#가 LOW에서 HIGH로 전이된 후 100 ㎲ 지연이 요구된다. RP# 신호는 상태 레지스터를 클리어하고, 내부 상태 기계(ISM)(132)를 어레이 판독 모드로 설정하고, LOW일 때 디바이스가 딥(deep) 파워-다운 모드가 되게 한다. 파워-다운 중에, CS#(142)를 포함해서 모든 입력 커넥션들은 "Don't Care"가 되고 모든 출력들은 High-Z 상태가 된다. RP# 신호가 VHH 전압(5V)과 동일할 때, WRITE 및 ERASE 동안 모든 보호 모드들이 무시된다. RP# 신호는 또한 VHH가 될 때 디바이스 보호 비트가 1(보호)로 설정되게 하고, 16 비트 레지스터의 블럭 보호 비트들이 로케이션들 0 및 15에서 0(비보호)으로 설정되게 한다. 보호 비트들은 보다 상세히 후술된다. 모든 다른 동작 모드들 동안 RP#는 HIGH로 홀드된다.Input reset / power-down (RP #) connection 140 is used for reset and power-down operations. At initial device power-up, a 100 ms delay is required after RP # transitions from LOW to HIGH in one embodiment for internal device initialization prior to issuing an executable command. The RP # signal clears the status register, sets the internal state machine (ISM) 132 to array read mode, and puts the device into deep power-down mode when low. During power-down, all input connections, including CS # 142, become "Don't Care" and all outputs are in High-Z state. When the RP # signal is equal to the VHH voltage (5V), all protection modes are ignored during WRITE and ERASE. The RP # signal also causes the device protection bit to be set to 1 (protected) when going to VHH and the block protection bits of the 16 bit register to be set to 0 (unprotected) at locations 0 and 15. The guard bits are described in more detail below. During all other modes of operation, RP # is held high.

뱅크 어드레스 입력 커넥션들, BA0 및 BA1은 ACTIVE, READ, WRITE, 또는 BLOCK PROTECT 커맨드가 적용되는 뱅크를 정의한다. DQ0-DQ15 커넥션들(143)은 양방향 데이터 통신을 위해 사용되는 데이터 버스 커넥션들이다. 도 1B를 참조하면, VCCQ 커넥션은 잡음 면역성(noise immunity)을 향상시키기 위해 DQ 커넥션들에 절연 전력을 제공하는데 사용된다. 한 실시예에서, VCCQ = Vcc 또는 1.8V ± 0.15V이다. VSSQ 커넥션은 향상된 잡음 면역성을 위해 DQ에 절연 접지를 제공하는데 사용된다. VCC 커넥션은 3V와 같은 전원을 제공한다. 접지 커넥션은 Vss 커넥션을 통해 제공된다. 다른 선택적 전압은 VCCP 커넥션(144)을 통해 제공된다. VCCP 커넥션은 외부적으로 VCC가 될 수 있고, 디바이스 초기화, WRITE 및 ERASE 동작 중에 전류를 공급한다. 즉, 메모리 디바이스 기록 또는 소거는 VCCP 전압을 사용해서 실행될 수 있으며, 다른 모든 동작들은 VCC 전압으로 실행될 수 있다. Vccp 커넥션은 고전압 스위치/펌프 회로(145)에 결합된다.Bank address input connections, BA0 and BA1, define the bank to which the ACTIVE, READ, WRITE, or BLOCK PROTECT command is applied. DQ0-DQ15 connections 143 are data bus connections used for bidirectional data communication. 1B, the VCCQ connection is used to provide isolated power to the DQ connections to improve noise immunity. In one embodiment, VCCQ = Vcc or 1.8V ± 0.15V. The VSSQ connection is used to provide isolated ground to the DQ for improved noise immunity. The VCC connection provides a 3V power supply. Ground connection is provided via the Vss connection. Another optional voltage is provided over the VCCP connection 144. The VCCP connection can be externally a VCC, supplying current during device initialization, WRITE, and ERASE operations. That is, writing or erasing the memory device can be performed using the VCCP voltage, and all other operations can be performed with the VCC voltage. The Vccp connection is coupled to the high voltage switch / pump circuit 145.

이하의 섹션들은 동기식 플래시 메모리의 동작에 대해 보다 상세히 기술한다. 본 발명의 한 실시예는 16 비트들로 4,194,304 워드들로 조직화된 67,108,864 비트들을 포함하는 비휘발성, 전기적 섹터-소거 가능 (플래시), 프로그램 가능 판독 전용 메모리이다. 다른 밀도들(population densities)도 예상되며, 본 발명은 본 일례의 밀도로만 제한되지 않는다. 각각의 메모리 뱅크는 4개의 독립 소거 가능 블럭들(총 16)로 조직화된다. 크리티컬 펌웨어가 우연한 소거 또는 겹쳐 쓰기로부터 보호됨을 보장하기 위해, 메모리는 16개의 256K-워드 하드웨어 및 소프트웨어 잠금 가능 블럭들을 포함할 수 있다. 메모리의 4-뱅크 아키텍처는 동시 동작들을 지원한다.The following sections describe in more detail the operation of the synchronous flash memory. One embodiment of the invention is a nonvolatile, electrically sector-erasable (flash), programmable read only memory comprising 67,108,864 bits organized into 4,194,304 words in 16 bits. Other population densities are also contemplated, and the invention is not limited to the density of this example. Each memory bank is organized into four independent erasable blocks (16 in total). To ensure that the critical firmware is protected from accidental erase or overwrite, the memory may include sixteen 256K-word hardware and software lockable blocks. The four-bank architecture of memory supports concurrent operations.

임의의 뱅크에 대한 판독 액세스가 임의의 다른 뱅크에 대한 배경 WRITE 또는 ERASE 동작과 동시에 발생할 수 있다. 동기식 플래시 메모리는 동기 인터페이스를 갖는다(모든 신호들은 클록 신호, CLK의 포지티브 에지에서 등록된다). 메모리에 대한 판독 액세스들은 버스트 지향적일 수 있다. 즉, 메모리 액세스는 선택된 로케이션에서 시작되어 프로그램된 시퀀스로 프로그램된 수의 로케이션들에 대해 계속된다. 판독 액세스들은 ACTIVE 커맨드의 등록으로부터 시작해서 READ 커맨드에 대해 이어진다. ACTIVE 커맨드와 동시에 등록된 어드레스 비트들은 액세스될 뱅크 및 행을 선택하는데 사용된다. READ 커맨드와 동시에 등록된 어드레스 비트들은 버스트 액세스를 위한 개시 열 로케이션 및 뱅크를 선택하는데 사용된다.Read access to any bank may occur concurrently with background WRITE or ERASE operations for any other bank. The synchronous flash memory has a synchronous interface (all signals are registered at the positive edge of the clock signal, CLK). Read accesses to the memory may be burst oriented. That is, memory access starts at the selected location and continues for the programmed number of locations in the programmed sequence. Read accesses start with the registration of the ACTIVE command and follow for the READ command. Address bits registered at the same time as the ACTIVE command are used to select the bank and row to be accessed. Address bits registered at the same time as the READ command are used to select the starting column location and bank for burst access.

동기식 플래시 메모리는 1, 2, 4 또는 8 로케이션들의 프로그램 가능 판독 버스트 길이들 또는 전 페이지 동안 버스트 종료 옵션을 제공한다. 또한, 동기식 플래시 메모리는 고속 동작을 달성하기 위해 내부 파이프라인 아키텍처를 사용한다.Synchronous flash memory provides an option for burst termination during programmable page burst lengths of 1, 2, 4 or 8 locations or for all pages. In addition, synchronous flash memory uses an internal pipeline architecture to achieve high speed operation.

동기식 플래시 메모리는 3 볼트로 동작하는 시스템과 같은 저전력 메모리 시스템들에서 동작할 수 있다. 딥 파워-다운 모드가 전력 절약 예비 모드와 함께 제공된다. 모든 입력들 및 출력들은 저 전압 트랜지스터-트랜지스터 논리(LVTTL) 호환 가능하다. 동기식 플래시 메모리는 자동 열 어드레스 생성으로 높은 데이터 전송 속도로 데이터를 동기 버스트하는 기능 및 버스트 액세스 중에 각각의 클록 사이클에서 열 어드레스들을 임의로 변경하는 기능을 포함해서 플래시 동작 성능을 상당히 진보시킨다.Synchronous flash memory can operate in low power memory systems such as a system operating at 3 volts. Deep power-down mode is provided with power-saving redundancy mode. All inputs and outputs are low voltage transistor-transistor logic (LVTTL) compatible. Synchronous flash memory significantly advances flash operation performance, including the ability to synchronous burst data at high data transfer rates with automatic column address generation and the random change of column addresses in each clock cycle during burst access.

일반적으로, 동기식 플래시 메모리는 저 전압으로 동작하고 동기 인터페이스를 포함하는 멀티-뱅크 DRAM과 유사하게 구성된다. 각각의 뱅크들은 행 및 열로 조직화된다. 정상 동작에 앞서, 동기식 플래시 메모리는 초기화된다. 이하의 섹션들은 디바이스 초기화, 레지스터 정의, 커맨드 기술 및 디바이스 동작에 관한 상세한 정보를 제공한다.In general, a synchronous flash memory is constructed similar to a multi-bank DRAM that operates at a low voltage and includes a synchronous interface. Each bank is organized into rows and columns. Prior to normal operation, the synchronous flash memory is initialized. The following sections provide detailed information about device initialization, register definitions, command descriptions, and device operation.

동기 플래시는 선정된 방식으로 파워 업 및 초기화된다. 전력이 VCC, VCCQ 및 VCCP에 (동시에) 인가되고, 클록 신호가 안정적이 된 후, RP#(140)는 LOW 상태에서 HIGH 상태가 된다. RP#가 HIGH로 전이된 후에 내부 디바이스 초기화를 완료하기 위해 100㎲ 지연과 같은 지연이 필요하다. 지연 시간이 경과된 후에, 메모리는 어레이 판독 모드가 되고 모드 레지스터 프로그래밍 또는 실행 가능 커맨드를 대기한다. 비휘발성 모드 레지스터(147)(NVMode 레지스터)의 초기 프로그래밍 후에, 내용은 초기화 중에 자동으로 휘발성 모드 레지스터(148)에 로드된다. 디바이스는 프로그램된 상태로 파워 업하게 되며 동작 커맨드들을 발행하기에 앞서 비휘발성 모드 레지스터(147)의 재로딩을 요구하지 않는다. 이는 보다 상세히 후술된다.The synchronous flash is powered up and initialized in a predetermined manner. After power is applied (at the same time) to VCC, VCCQ and VCCP, and the clock signal is stable, RP # 140 goes from a LOW state to a HIGH state. After RP # transitions to HIGH, a delay such as a 100ms delay is required to complete internal device initialization. After the delay time has elapsed, the memory enters array read mode and waits for a mode register programming or executable command. After initial programming of nonvolatile mode register 147 (NVMode register), the contents are automatically loaded into volatile mode register 148 during initialization. The device powers up in its programmed state and does not require reloading of the nonvolatile mode register 147 prior to issuing operational commands. This is described in more detail below.

모드 레지스터(148)는 동기식 플래시 메모리의 특정 동작 모드를 정의하는데 사용된다. 정의는 도 2A 및 도 2B에 도시된 바와 같이 버스트 길이, 버스트 타입, CAS 레이턴시 및 동작 모드의 선택을 포함한다. 모드 레지스터는 LOAD MODE REGISTER 커맨드를 통해 프로그램되고 재프로그램될 때까지 저장된 정보를 보유한다. 모드 레지스터의 내용은 NVMode 레지스터(147)에 복사될 수도 있다. NVMode 레지스터 세팅은 초기화 중에 모드 레지스터(148)를 자동으로 로드한다. ERASE NVMODE REGISTER 및 WRITE NVMODE REGISTER 커맨드 시퀀스들이 상세히 후술된다. 본 기술 분야에 숙련된 자들은 SDRAM이 각각의 초기화 동작 중에 모드 레지스터가 외부적으로 반드시 로드될 것을 요구함을 알 것이다. 본 발명은 디폴트 모드가 NV모드 레지스터(147)에 저장되게 한다. 그 후 NV 모드 레지스터의 내용은 메모리 동작 중에 액세스를 위해 휘발성 모드 레지스터(148)에 복사된다.The mode register 148 is used to define a particular mode of operation of the synchronous flash memory. The definition includes selection of burst length, burst type, CAS latency and operating mode as shown in FIGS. 2A and 2B. The mode register holds the stored information until programmed and reprogrammed with the LOAD MODE REGISTER command. The contents of the mode register may be copied to the NVMode register 147. The NVMode register setting automatically loads the mode register 148 during initialization. The ERASE NVMODE REGISTER and WRITE NVMODE REGISTER command sequences are described in detail below. Those skilled in the art will appreciate that the SDRAM requires that the mode register be externally loaded during each initialization operation. The present invention allows the default mode to be stored in the NV mode register 147. The contents of the NV mode register are then copied to the volatile mode register 148 for access during memory operation.

본 실시예에서 모드 레지스터 비트들 M0-M2는 버스트 길이를 명시하고, M3는 버스트 타입(순차적 또는 인터리빙), M4-M6은 CAS 레이턴시를 명시하고, M7 및 M8은 동작 모드를 명시하고, M9는 1로 설정되며, M10 및 M11은 예약된다. WRITE 버스트들이 현재 구현되지 않기 때문에, M9는 논리 1로 설정되고 기록 액세스들은 싱글 로케이션(논-버스트) 액세스들이다. 모드 레지스터는 모든 뱅크들이 유휴 상태일 때 로드되어야만 하고, 컨트롤러는 차후 동작을 개시하기 전에 지정된 시간을 대기해야만 한다.In this embodiment, the mode register bits M0-M2 specify the burst length, M3 specifies the burst type (sequential or interleaving), M4-M6 specifies the CAS latency, M7 and M8 specify the operating mode, and M9 It is set to 1 and M10 and M11 are reserved. Since WRITE bursts are not currently implemented, M9 is set to logic 1 and write accesses are single location (non-burst) accesses. The mode register must be loaded when all banks are idle, and the controller must wait a specified time before starting further operation.

표 1에 도시된 바와 같이, 동기식 플래시 메모리에 대한 판독 액세스들이 버스트 지향적일 수 있으며, 버스트 길이는 프로그램될 수 있다. 버스트 길이는 소정의 READ 커맨드를 위해 자동으로 액세스될 수 있는 열 로케이션들의 최대 수를 결정한다. 1, 2, 4 또는 8 로케이션들의 버스트 길이들은 순차적 인터리빙 버스트 타입들에 유용하고, 전 페이지 버스트는 순차적 타입에 유용하다. 전 페이지 버스트는 임의의 버스트 길이들을 생성하기 위해 BURST TERMINATE 커맨드와 함께 사용될 수 있다. 즉, 버스트는 맞춤 길이 버스트들을 제공하도록 선택적으로 종료될 수 있다. READ 커맨드가 발행될 때, 버스트 길이와 동일한 열들의 블럭이 효율적으로 선택된다. 상기 버스트에 대한 모든 액세스들은 상기 블럭 내에서 발생하는데, 이는 버스트가 경계에 도달한 경우 블럭 내에서 순환(wrap)하게 됨을 의미한다. 버스트 길이가 2로 설정될 때 A1-A7에 의해, 버스트 길이가 4로 설정될 때A2-A7에 의해, 버스트 길이가 8로 설정될 때 A3-A7에 의해 블럭은 고유하게 선택된다. 나머지 (최하위) 어드레스 비트(들)는 블럭 내의 개시 로케이션을 선택하는데 사용된다. 전 페이지 버스트들은 경계에 도달되면 페이지 내에서 순환한다.As shown in Table 1, read accesses to synchronous flash memory can be burst oriented and the burst length can be programmed. The burst length determines the maximum number of column locations that can be automatically accessed for a given READ command. Burst lengths of 1, 2, 4 or 8 locations are useful for sequential interleaving burst types, and all page bursts are useful for sequential type. A full page burst can be used with the BURST TERMINATE command to generate arbitrary burst lengths. That is, the burst can optionally end to provide custom length bursts. When a READ command is issued, a block of columns equal to the burst length is selected efficiently. All accesses to the burst occur within the block, which means that if the burst reaches a boundary, it will wrap within the block. The block is uniquely selected by A1-A7 when the burst length is set to 2, by A2-A7 when the burst length is set by 4 and by A3-A7 when the burst length is set by 8. The remaining (lowest) address bit (s) is used to select a starting location within the block. All page bursts cycle within the page when the boundary is reached.

소정의 버스트 내의 액세스들은 순차적이거나 또는 인터리빙되도록 프로그램될 수도 있는데; 이는 버스트 타입과 관련되며 비트 M3를 통해 선택된다. 표 1에 도시된 바와 같이 버스트 내의 액세스 순서는 버스트 길이, 버스트 타입 및 개시 열 어드레스에 의해 결정된다.Access within a given burst may be programmed to be sequential or interleaved; This is related to the burst type and is selected via bit M3. As shown in Table 1, the order of access within a burst is determined by the burst length, burst type, and starting column address.

열 어드레스 스트로브(CAS) 레이턴시는 READ 커맨드의 등록과 DQ 커넥션들의출력 데이터의 제1 피스의 유효화 간의 클록 사이클들의 지연이다. 레이턴시는 1, 2, 또는 3 클록 사이클들로 설정될 수 있다. 예를 들어, READ 커맨드가 클록 에지 n에서 등록되고, 레이턴시가 m 클록들이면, 데이터는 클록 에지 n + m에 의해 유효하게 된다. DQ 커넥션들은 한 사이클 일찍(n + m - 1) 클록 에지의 결과로서 데이터 구동을 개시할 것이고, 관련 액세스 시간이 만족되면, 데이터는 클록 에지 n + m에 의해 유효하게 된다. 예를 들어, 클록 사이클 시간이 모든 관련 액세스 시간들이 만족되도록 가정되면, READ 커맨드가 T0에서 등록되고, 레이턴시가 2 클록들로 프로그램되면, 도 3에 도시된 바와 같이 DQ들은 T1 후에 구동을 시작하며 데이터는 T2에 의해 유효하게 된다. 도 3은 상이한 클록 레이턴시 세팅이 사용될 수 있는 일례의 동작 주파수들을 도시한 것이다. 정상 동작 모드는 M7 및 M8을 0으로 설정함으로써 선택되고, 프로그램된 버스트 길이는 READ 버스트에 적용된다.The column address strobe (CAS) latency is the delay of clock cycles between registration of the READ command and validation of the first piece of output data of the DQ connections. The latency can be set in one, two, or three clock cycles. For example, if a READ command is registered at clock edge n and the latency is m clocks, then the data is validated by clock edge n + m. The DQ connections will begin driving data as a result of a clock edge one cycle earlier (n + m-1), and once the associated access time is satisfied, the data is valid by clock edge n + m. For example, if the clock cycle time is assumed that all relevant access times are satisfied, then if the READ command is registered at T0 and the latency is programmed at 2 clocks, then the DQs will start driving after T1 as shown in FIG. The data is made valid by T2. 3 illustrates example operating frequencies in which different clock latency settings may be used. Normal operation mode is selected by setting M7 and M8 to 0, and the programmed burst length is applied to the READ burst.

이하의 진리표들은 본 발명의 메모리의 실시예의 동작 커맨드들에 대한 상세한 정보를 제공한다. 커맨드에 대한 설명이 제공되는데 이는 진리표 2를 따른다.The following truth tables provide detailed information on the operation commands of the embodiment of the memory of the present invention. A description of the command is provided, which follows Truth Table 2.

진리표 1Truth Table 1

인터페이스 커맨드들 및 DQM 동작Interface Commands and DQM Operation

명칭(함수)Name (function) CS#CS # RAS#RAS # CAS#CAS # WE#WE # DQMDQM ADDRADDR DQDQ COMMNAD INHIBIT(NOP)COMMNAD INHIBIT (NOP) HH XX XX XX XX XX XX NO OPERATOIN(NOP)NO OPERATOIN (NOP) LL HH HH HH XX XX XX ACTIVE(뱅크 선택 및 행 활성화)ACTIVE (select banks and activate rows) LL LL HH HH XX 뱅크/행Bank / row XX READ(뱅크, 열 선택 및 READ 버스트 개시)READ (bank, column select, and READ burst initiated) LL HH LL HH XX 뱅크/열Bank / column XX WRITE(뱅크, 열 선택 및 WRITE 개시)WRITE (bank, column selection and WRITE initiated) LL HH LL LL XX 뱅크/열Bank / column 유효available BURST TERMINATEBURST TERMINATE LL HH HH LL XX XX 액티브active ACTIVE TERMINATEACTIVE TERMINATE LL LL HH LL XX XX XX LOAD COMMAND REGISTERLOAD COMMAND REGISTER LL LL LL HH XX Com 코드Com code XX LOAD MODE REGISTERLOAD MODE REGISTER LL LL LL LL XX Op 코드Op code XX 기록 인에이블/출력 인에이블Write Enable / Output Enable -- -- -- -- LL -- 액티브active 기록 금지/출력 High-ZWrite-protection / output High-Z -- -- -- -- HH -- High-ZHigh-z

진리표 2Truth Table 2

플래시 메모리 커맨드 시퀀스Flash memory command sequence

CLK 신호의 인에이블 여부와 무관하게 COMMNAD INHIBIT 함수는 새로운 커맨드들이 동기식 플래시 메모리에 의해 실행되는 것을 방지한다. 동기식 플래시 메모리는 효율적으로 선택 해제(deselect)되지만, 이미 진행중인 동작은 영향을 받지 않는다.Regardless of whether the CLK signal is enabled or not, the COMMNAD INHIBIT function prevents new commands from being executed by the synchronous flash memory. Synchronous flash memory is effectively deselected, but operations already in progress are not affected.

NO OPERATOIN(NOP) 커맨드는 선택된 동기식 플래시 메모리에 대한 NOP를 실행하는데 사용된다(CS#는 LOW). 이는 희망하지 않은 커맨드들이 유휴 상태 또는 대기 상태 동안 등록되는 것을 방지하며, 이미 진행중인 동작은 영향을 받지 않는다.The NO OPERATOIN (NOP) command is used to execute NOP for the selected synchronous flash memory (CS # is LOW). This prevents undesired commands from being registered during idle or standby states, and operations already in progress are not affected.

모드 레지스터 데이터는 입력들 A0-A11을 통해 로드된다. LOAD MODE REGISTER 커맨드는 모든 어레이 뱅크들이 유휴 상태일 때만 발행될 수 있으며, 다음 실행 가능 커맨드는 선정된 시간 지연(MRD)이 될 때까지 발행될 수 없다. NVMode 레지스터(147)의 데이터는 파워-업 초기화때 모드 레지스터(148)에 자동으로 로드되고, LOAD MODE REGISTER 커맨드에 의해 동적으로 변경되지 않는 한 디폴트 데이터이다.Mode register data is loaded via inputs A0-A11. The LOAD MODE REGISTER command can only be issued when all array banks are idle, and the next executable command cannot be issued until a predetermined time delay (MRD) is reached. The data in the NVMode register 147 is automatically loaded into the mode register 148 at power-up initialization and is the default data unless dynamically changed by the LOAD MODE REGISTER command.

ACTIVE 커맨드는 다음 액세스를 위해 특정 어레이 뱅크의 행을 오픈(활성화)하는데 사용된다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A11을 통해 제공된 어드레스는 행을 선택한다. 행은 다음 ACTIVE 커맨드, 파워-다운 또는 RESET 때까지 액세스에 대해 액티브 상태로 남게 된다.The ACTIVE command is used to open (activate) a row of a specific array bank for the next access. The value of the BA0, BA1 inputs selects a bank, and the address provided through inputs A0-A11 selects a row. The row remains active for access until the next ACTIVE command, power-down or RESET.

READ 커맨드는 액티브 행에 대해 버스트 판독 액세스를 개시하는데 사용된다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A7을 통해 제공된 어드레스는 개시 열 로케이션을 선택한다. 판독 데이터는 2 클록 더 빨리 나타난 데이터 마스크(DQM) 입력의 논리 레벨의 영향을 받아 DQ들에 나타난다. 소정의 DQM 신호가 HIGH로 등록되었으면, 대응 DQ들은 2 클록 후에 High-Z(하이 임피던스)가 되고; DQM 신호가 LOW로 등록되었으면, DQ들은 유효 데이터를 제공하게 된다. 따라서, DQM 입력은 판독 동작 중에 출력을 마스크하는데 사용될 수 있다.The READ command is used to initiate a burst read access for the active row. The value of the BA0, BA1 inputs selects the bank, and the address provided via inputs A0-A7 selects the starting column location. Read data appears in the DQs under the influence of the logic level of the data mask (DQM) input that appears two clocks earlier. If a given DQM signal is registered as HIGH, the corresponding DQs become High-Z (high impedance) after two clocks; If the DQM signal is registered low, the DQs will provide valid data. Thus, the DQM input can be used to mask the output during the read operation.

WRITE 커맨드는 액티브 행에 대한 싱글-로케이션 기록 액세스를 개시하는데 사용된다. WRITE 커맨드는 WRITE SETUP 커맨드가 우선되어야만 한다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A7을 통해 제공된 어드레스는 열 로케이션을 선택한다. DQ에 나타난 입력 데이터는 데이터와 동시에 나타나는 DQM 입력 논리 레벨의 영향을 받아 메모리 어레이에 기록된다. 소정의 DQM 신호가 LOW로 등록되면, 대응 데이터가 메모리에 기록되게 되고; DQM 신호가 HIGH로 등록되면, 대응 데이터 입력들은 무시되고, 워드/열 로케이션에 대한 WRITE는 실행되지 않는다. DQM이 HIGH 상태일 때의 WRITE 커맨드는 NOP로 간주된다.The WRITE command is used to initiate a single-location write access to the active row. For the WRITE command, the WRITE SETUP command must be prioritized. The value of the BA0, BA1 inputs selects the bank, and the address provided via inputs A0-A7 selects the column location. The input data represented by the DQ is written to the memory array under the influence of the DQM input logic level, which coincides with the data. When the predetermined DQM signal is registered as LOW, corresponding data is written to the memory; If the DQM signal is registered HIGH, the corresponding data inputs are ignored and WRITE for the word / column location is not performed. The WRITE command when DQM is HIGH is considered NOP.

ACTIVE TERMINATE 커맨드는 동기식 플래시 메모리를 위해서는 필요하지 않으며, SDRAM PRECHARGE 커맨드와 유사한 방식으로 판독을 종료하기 위해 제공될 수 있다. ACTIVE TERMINATE 커맨드는 진행중인 BURST READ를 종료하기 위해 발행될 수 있으며, 뱅크 방식일 수도 있고 아닐 수도 있다.The ACTIVE TERMINATE command is not needed for synchronous flash memory and may be provided to end the read in a manner similar to the SDRAM PRECHARGE command. The ACTIVE TERMINATE command may be issued to end an ongoing BURST READ, and may or may not be banked.

BURST TERMINATE 커맨드는 고정 길이의 또는 전 페이지의 버스트들을 절단하는데 사용된다. BURST TERMINATE 커맨드 전에 가장 최근에 등록된 READ 커맨드가 절단되게 된다. BURST TERMINATE는 뱅크 방식이 아니다.The BURST TERMINATE command is used to truncate bursts of fixed length or all pages. The most recently registered READ command is truncated before the BURST TERMINATE command. BURST TERMINATE is not banked.

로드 커맨드 레지스터 동작은 CEL(Command Execution Logic)(130)에 대한 플래시 메모리 제어 커맨드들을 개시하는데 사용된다. CEL은 장치에 대한 커맨드들을 수신 및 해석한다. 상기 커맨드들은 내부 상태 기계(132)의 동작 및 판독 경로(즉, 메모리 어레이(102), ID 레지스터(136) 또는 상태 레지스터(134))를 제어한다.The load command register operation is used to initiate flash memory control commands for Command Execution Logic (CEL) 130. The CEL receives and interprets commands for the device. The commands control the operation and read path of the internal state machine 132 (ie, memory array 102, ID register 136 or status register 134).

READ 또는 WRITE 커맨드들이 동기식 플래시 메모리 내에서 뱅크로 발행될 수 있기 전에, 뱅크의 행이 "오픈"되어야만 한다. 이는 활성화될 뱅크 및 행을 모두 선택하는 ACTIVE 커맨드(CS#, WE#, RAS#, CAS#에 의해 정의됨)를 통해 달성되는데, 도 4를 참조하라.Before a READ or WRITE command can be issued to a bank in synchronous flash memory, a row of the bank must be "open". This is accomplished through an ACTIVE command (defined by CS #, WE #, RAS #, CAS #) that selects both the bank and the row to be activated, see FIG.

행을 오픈한 후에(ACTIVE 커맨드를 발행한 후에), READ 또는 WRITE 커맨드는 시간 기간(tRCD) 명세의 영향을 받아 행에 발행될 수 있으며, tRCD(MIN)은 클록 기간에 의해 분할되고 다음 정수로 잘라 올림(rounded up)되어서 READ 또는 WRITE 커맨드가 입력될 수 있는 ACTIVE 커맨드 후의 최초 클록 에지를 결정한다. 예를 들어, 90MHZ 클록(11.11ns 기간)에 따른 30ns의 tRCD 명세 결과는 2.7 클록들이며, 3으로 라운드된다. 이는 도 5에 반영되어 있는데, 도 5는 2<tRCD(MIN)/tCK≤3인 임의의 경우를 커버한다. (동일한 프로시져가 시간 단위들로부터의 다른 명세 한계들을 클록 사이클들로 변환하는데 사용된다.)After opening a row (after issuing an ACTIVE command), a READ or WRITE command can be issued to the row under the influence of the time period (tRCD) specification, where tRCD (MIN) is divided by the clock period and passed to the next integer. It is rounded up to determine the first clock edge after the ACTIVE command that a READ or WRITE command can be entered. For example, a tRCD specification result of 30 ns according to a 90 MHz clock (11.11 ns period) is 2.7 clocks, rounded to three. This is reflected in FIG. 5, which covers any case where 2 <tRCD (MIN) / tCK ≦ 3. (The same procedure is used to convert different specification limits from time units into clock cycles.)

동일한 뱅크에 대한 연속 ACTIVE 커맨드들 간의 최소 시간 간격이 tRC로 정의되면, 동일한 뱅크의 상이한 행에 대한 다음 ACTIVE 커맨드는 이전 액티브 행을 클로즈하지 않고 발행될 수 있다.If the minimum time interval between successive ACTIVE commands for the same bank is defined as tRC, the next ACTIVE command for a different row in the same bank can be issued without closing the previous active row.

다른 뱅크에 대한 다음 ACTIVE 커맨드는 제1 뱅크가 액세스되고 있는 동안발행될 수 있는데, 그 결과 총 행 액세스 오버헤드가 감소된다. 상이한 뱅크들에 대한 연속 ACTIVE 커맨드들 간의 최소 시간 간격은 시간 기간 tRRD로 정의된다.The next ACTIVE command for the other bank can be issued while the first bank is being accessed, thereby reducing the total row access overhead. The minimum time interval between successive ACTIVE commands for different banks is defined as time period tRRD.

도 6에 도시된 바와 같이, READ 버스트들은 READ 커맨드(CS#, WE#, RAS#, CAS#에 의해 정의됨)에 의해 개시된다. 개시 열 및 뱅크 어드레스들은 READ 커맨드에 의해 제공된다. READ 버스트들 중에, 개시 열 어드레스로부터의 유효 데이터-아웃 요소는 READ 커맨드 후의 CAS 레이턴시에 이어 유용하게 될 수 있다. 각각의 다음 데이터-아웃 요소는 다음 포지티브 클록 에지에 의해 유효화된다. 버스트 완료시, 다른 커맨드들이 개시되지 않았다고 가정되면, DQ는 High-Z 상태가 된다. 전 페이지 버스트는 종료될 때까지 계속된다(페이지 끝에서, 열 0으로 순환되고 계속된다). 임의의 READ 버스트로부터의 데이터는 다음 READ 커맨드에 의해 절단될 수도 있으며, 고정 길이 READ 버스트로부터의 데이터 후에 바로 다음 READ 커맨드로부터의 데이터가 이어질 수 있다. 다른 경우에, 데이터의 연속 흐름이 유지될 수 있다. 새로운 버스트로부터의 제1 데이터 요소는 완료된 버스트의 최종 요소 또는 절단중인 보다 긴 버스트의 최종 희망 데이터 요소의 뒤를 잇는다. 새로운 READ 커맨드가 최종 희망 데이터 요소가 유효한 클록 에지 전에 x 사이클들에서 발행되어야만 하는데, x는 CAS 레이턴시 - 1 이다. 이는 1, 2 및 3의 CAS 레이턴시들에 대한 도 7에 도시되어 있으며; 데이터 요소 n+3은 4의 버스트의 최종 요소이거나 또는 보다 긴 버스트의 최종 희망 요소이다. 동기식 플래시 메모리는 파이프라인 아키텍처를 사용한다. 따라서 프리페치 아키텍처와 관련된 2n 규칙이 필요하지 않다. READ 커맨드는 이전 READ 커맨드에 이은 임의의 클록 사이클에서 개시될 수 있다. 페이지 내의 전 속도, 임의 판독 액세스들이 도 8에 도시된 바와 같이 실행될 수 있거나, 또는 각각의 다음 READ가 상이한 뱅크에 대해 실행될 수도 있다.As shown in FIG. 6, READ bursts are initiated by a READ command (defined by CS #, WE #, RAS #, CAS #). Start column and bank addresses are provided by the READ command. During READ bursts, a valid data-out element from the starting column address may be available following the CAS latency after the READ command. Each next data-out element is validated by the next positive clock edge. Upon burst completion, if it is assumed that no other commands have been initiated, the DQ goes into the High-Z state. The previous page burst continues until it ends (at the end of the page, cycles to column 0 and continues). The data from any READ burst may be truncated by the next READ command, followed by the data from the next READ command immediately after the data from the fixed length READ burst. In other cases, a continuous flow of data can be maintained. The first data element from the new burst follows the last element of the completed burst or the last desired data element of the longer burst in truncation. A new READ command must be issued in x cycles before the clock edge for which the last desired data element is valid, where x is CAS latency-1. This is shown in FIG. 7 for CAS latencies of 1, 2 and 3; Data element n + 3 is the last element of a burst of four or the last desired element of a longer burst. Synchronous flash memory uses a pipeline architecture. Therefore, no 2n rules related to the prefetch architecture are needed. The READ command can be initiated in any clock cycle following the previous READ command. Full speed, random read accesses within the page may be performed as shown in FIG. 8, or each next READ may be executed for a different bank.

임의의 READ 버스트로부터의 데이터가 다음 WRITE 커맨드에 의해 절달될 수 있고(WRITE 커맨드들은 WRITE SETUP이 선행되어야만 함), 고정 길이 READ 버스트로부터의 데이터는 다음 WRITE 커맨드(버스 반환 한계의 영향을 받음)로부터의 데이터가 바로 후행될 수 있다. I/O 경합이 방지될 수 있으면, WRITE는 READ 버스트로부터의 최종(또는 최종 희망) 데이터 요소 직후의 클록 에지에서 개시될 수도 있다. 소정의 시스템 설계에서, 입력 데이터를 구동하는 장치가 동기식 플래시 메모리 DQ들이 High-Z가 되기 전에 Low-Z로 될 가능성이 있을 수도 있다. 이러한 경우에, 최종 판독 데이터와 WRITE 커맨드 사이에 적어도 싱글-사이클 지연이 발생한다.Data from any READ burst can be passed by the next WRITE command (WRITE commands must be preceded by WRITE SETUP), and data from a fixed-length READ burst is from the next WRITE command (affected by the bus return limit). The data of can be immediately followed. If I / O contention can be prevented, WRITE may be initiated at the clock edge immediately after the last (or last desired) data element from the READ burst. In certain system designs, it may be possible for a device driving input data to go low-Z before the synchronous flash memory DQs go high-Z. In this case, at least a single-cycle delay occurs between the last read data and the WRITE command.

DQM 입력이 도 9에 도시된 바와 같이I/O 경합을 방지하는데 사용된다. DQM 신호는 READ로부터의 데이터-아웃을 억제하기 위해 WRITE 커맨드(DQM 레이턴시는 출력 버퍼들에 대해 2 클록들임) 전에 적어도 2개의 클록들에서 (HIGH)로 표명돼야만 한다. WRITE 커맨드가 등록되면, DQ들은 DQM 신호의 상태와 무관하게 High-Z 상태가 된다(또는 High-Z 상태로 남게 된다). DQM 신호는 기록된 데이터가 마스크되지 않음을 보장하기 위해 WRITE 커맨드(DQM 레이턴시가 입력 버퍼들에 대해 0 클록들임) 전에 표명 해제(de-assert)되어야만 한다. 도 9는 클록 주파수가 NOP 사이클을 추가하지 않고 버스 경합이 방지되게 하는 경우를 도시한 것이다.The DQM input is used to prevent I / O contention as shown in FIG. The DQM signal must be asserted (HIGH) at at least two clocks before the WRITE command (DQM latency is two clocks for output buffers) to suppress data-out from READ. When the WRITE command is registered, the DQs go into the High-Z state (or remain in the High-Z state) regardless of the state of the DQM signal. The DQM signal must be de-asserted before the WRITE command (DQM latency is zero clocks for input buffers) to ensure that the written data is not masked. 9 illustrates the case where the clock frequency prevents bus contention without adding a NOP cycle.

고정 길이의 또는 전 페이지의 READ 버스트가 ACTIVE TERMINATE(뱅크 방식일 수도 있고 아닐 수도 있음) 또는 BURST TERMINATE(뱅크 방식이 아님) 커맨드들에 의해 절단될 수 있다. ACTIVE TERMINATE 또는 BURST TERMINATE 커맨드는 최종 희망 데이터 요소가 유효한 클록 에지 전 x 사이클들에서 발행되는데, x는 CAS 레이턴시 - 1과 동일하다. 이는 각각의 가능한 CAS 레이턴시에 대한 도 10에 도시되어 있다; 데이터 요소 n+3은 4의 버스트의 최종 희망 요소이거나 또는 보다 긴 버스트의 최종 희망 요소이다.READ bursts of fixed length or previous page may be truncated by ACTIVE TERMINATE (may or may not be bank) or BURST TERMINATE (not bank) commands. An ACTIVE TERMINATE or BURST TERMINATE command is issued in x cycles before the clock edge where the last desired data element is valid, where x is equal to CAS latency-1. This is shown in FIG. 10 for each possible CAS latency; Data element n + 3 is the last desired element of a burst of four or the last desired element of a longer burst.

싱글-로케이션 WRITE는 도 11에 도시된 바와 같이 WRITE 커맨드(CS#, WE#, RAS#, CAS#에 의해 정의됨)에 의해 개시된다. 개시 열 및 뱅크 어드레스들은 WRITE 커맨드에 의해 제공된다. WRITE 커맨드가 등록되면, READ 커맨드는 진리표 4 및 진리표 5에 의해 정의된 바와 같이 실행될 수 있다. 일례는 도 12에 도시되어 있다. WRITE 중에, 유효 데이터-인이 WRITE 커맨드와 동시에 등록된다.Single-location WRITE is initiated by a WRITE command (defined by CS #, WE #, RAS #, CAS #) as shown in FIG. Start column and bank addresses are provided by the WRITE command. Once the WRITE command is registered, the READ command can be executed as defined by truth table 4 and truth table 5. One example is shown in FIG. 12. During WRITE, valid data-in is registered at the same time as the WRITE command.

SDRAM과 달리, 동기 플래시는 특정 뱅크의 오픈 행 또는 모든 뱅크들의 오픈 행들을 비활성화하기 위해 PRECHARGE 커맨드를 요구하지 않는다. ACTIVE TERMINATE 커맨드는 BURST TERMINATE 커맨드와 유사하다; 그러나, ACTIVE TERMINATE는 뱅크 방식일 수도 있고 아닐 수도 있다. ACTIVE TERMINATE 커맨드 중에 입력 A10이 HIGH로 표명되어 임의의 뱅크에서 BURST READ를 종료하게 된다. ACTIVE TERMINATE 커맨드 중에 A10이 로우일 때, BA0 및 BA1은 어떤 뱅크가 종료 동작을 착수할 것인지를 결정하게 된다. ACTIVE TERMINATE는 A10, BA0, BA1에 의해 어드레스되지 않은 뱅크들에 대해 NOP로 간주된다.Unlike SDRAM, synchronous flash does not require a PRECHARGE command to deactivate open rows in a particular bank or open rows in all banks. The ACTIVE TERMINATE command is similar to the BURST TERMINATE command; However, ACTIVE TERMINATE may or may not be banked. During the ACTIVE TERMINATE command, input A10 is asserted HIGH, ending BURST READ in any bank. When A10 is low during the ACTIVE TERMINATE command, BA0 and BA1 determine which bank will initiate the end operation. ACTIVE TERMINATE is considered NOP for banks not addressed by A10, BA0, BA1.

진행중인 액세스가 없을 때, 클록이 인에이블되고, CKE가 NOP 또는 COMMAND INHIBIT와 동시에 LOW로 등록되면 파워-다운이 발생한다. 파워-다운이 되면 예비 상태인 동안 전력 절약을 위해 내부 상태 기계 동작들(WRITE 동작 포함)이 완료된 후에 입력 및 출력 버퍼들(CKE 제외)이 비활성화된다.When there is no access in progress, the clock is enabled and a power-down occurs when the CKE is registered LOW simultaneously with NOP or COMMAND INHIBIT. Power-down disables input and output buffers (except CKE) after internal state machine operations (including WRITE operation) are completed to save power while in the standby state.

파워-다운 상태는 희망 클록 에지(tCKS 만족)에서 NOP 또는 COMMAND INHIBIT 및 CKE가 HIGH로 등록됨으로써 종료된다. 일례의 파워-다운 동작을 위해서는 도 13을 참조하라.The power-down state is terminated by registering NOP or COMMAND INHIBIT and CKE as HIGH at the desired clock edge (satisfied with tCKS). See FIG. 13 for an example power-down operation.

열 액세스/버스트가 진행중이고 CKE가 LOW로 등록될 때 클록 중단 모드가 발생한다. 클록 중단 모드에서, 내부 클록이 비활성화되어서, 동기 논리를 "동결(freezing)"한다. CKE가 LOW로 샘플링된 각각의 포지티브 클록 에지를 위해, 다음 내부 포지티브 클록 에지가 중단된다. 클록이 중단되지 않는 한, 중단된 내부 클록 에지의 시간에 입력 핀들에 존재하는 임의의 커맨드 또는 데이터는 무시되고, DQ 핀들에 존재하는 임의의 데이터는 구동된 상태로 남게 되고, 버스트 카운터들은 증가하지 않는다(도 14의 일례를 참조). 클록 중단 모드는 CKE가 HIGH로 등록됨으로써 종료되고; 내부 클록 및 관련 동작은 다음 포지티브 클록 에지를 위해 재개된다.Clock interrupt mode occurs when thermal access / burst is in progress and CKE is registered low. In the clock stop mode, the internal clock is deactivated to "freeze" the synchronization logic. For each positive clock edge whose CKE is sampled low, the next internal positive clock edge is stopped. Unless the clock is interrupted, any command or data present on the input pins is ignored at the time of the interrupted internal clock edge, any data present on the DQ pins remains driven, and the burst counters do not increment. (See the example in FIG. 14). The clock stop mode ends by registering the CKE as HIGH; The internal clock and associated operation are resumed for the next positive clock edge.

버스트 판독/싱글 기록 모드는 한 실시예에서 디폴트 모드이다. 모든 WRITE 커맨드들은 싱글 열 로케이션(1의 버스트)의 액세스를 야기하고, READ 커맨드들은 프로그램된 버스트 길이 및 시퀀스에 따라 열들에 액세스한다. 이하의 진리표 3은 CKE 신호를 사용하는 메모리 동작을 도시한 것이다.The burst read / single write mode is the default mode in one embodiment. All WRITE commands cause access to a single column location (burst of 1), and READ commands access columns according to the programmed burst length and sequence. Truth Table 3 below illustrates memory operations using the CKE signal.

진리표 3 - CKETruth Table 3-CKE

진리표 4 - 현 상태 뱅크 n - 뱅크 n에 대한 커맨드Truth Table 4-Commands for Current State Bank n-Bank n

진리표 5 - 현 상태 뱅크 n - 뱅크 m에 대한 커맨드Truth Table 5-Commands for Current State Bank n-Bank m

기능 기술Function technology

동기식 플래시 메모리는 SDRAM 버스의 코드 스토리지 및 적합한 실행(execute-in-place) 애플리케이션들에 이상적으로 적합한 다수의 특징들을 사용한다. 메모리 어레이는 개별 소거 블럭들로 분할된다. 각각의 블럭은 다른 블럭들에 저장된 데이터에 영향을 주지 않으면서 소거될 수도 있다. 상기 메모리 블럭들은 커맨드 실행 논리(130)(CEL)에 커맨드들을 발행함으로써 판독, 기록 및 소거된다. CEL은 내부 상태 기계(132)(ISM)의 동작을 제어하는데, 모든 ERASENVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, BLOCK ERASE, BLOCK PROTECT, DEVICE PROTECT, UNPROTECT ALL BLOCKS 및 VERIFY 동작들을 완전히 제어한다. ISM(132)은 각각의 메모리 로케이션을 오버-이레이저(over-erasure)로부터 보호하고 최대 데이터 보존을 위해 각각의 메모리 로케이션을 최적화한다. 또한, ISM은 시스템 내의 또는 외부 프로그래머의 장치를 기록하는데 필요한 제어를 매우 간단하게 한다.Synchronous flash memory uses a number of features that are ideally suited for code storage and execute-in-place applications on the SDRAM bus. The memory array is divided into individual erase blocks. Each block may be erased without affecting the data stored in the other blocks. The memory blocks are read, written and erased by issuing commands to the command execution logic 130 (CEL). CEL controls the operation of the internal state machine 132 (ISM), which fully controls all ERASENVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, BLOCK ERASE, BLOCK PROTECT, DEVICE PROTECT, UNPROTECT ALL BLOCKS, and VERIFY operations. ISM 132 protects each memory location from over-erasure and optimizes each memory location for maximum data retention. In addition, the ISM greatly simplifies the control needed to record the devices of an internal programmer or external programmer.

동기식 플래시 메모리는 16개의 독립적으로 소거 가능한 메모리 블럭들로 조직화되어서, 나머지 메모리 데이터에 영향을 주지 않고 메모리 로케이션들이 소거되게 한다. 임의의 블럭은 우발적인 소거 또는 기록에 대해서 하드웨어-보호(hardware-protect)될 수도 있다. 보호 블럭은 수정되기 전에 RP# 핀이 VHH(비교적 높은 전압)로 구동될 것을 요구한다. 로케이션들 0 및 15의 256K-워드 블럭들은 추가의 하드웨어 프로텍션을 가질 수 있다. PROTECT BLOCK 커맨드가 상기 블럭들에 대해 실행되었으면, RP# 핀이 VHH 상태가 아닌 한, UNPROTECT ALL BLOCKS 커맨드가 로케이션들 0 및 15의 블럭들을 제외한 모든 블럭들을 언로크하게 된다. 비고의적 전력 손실 또는 시스템 리셋이 발생하면, 이는 인-시스템 펌웨어 갱신 중에 크리티컬 코드에 대한 추가 보안성을 제공한다.Synchronous flash memory is organized into 16 independently erasable memory blocks, allowing memory locations to be erased without affecting the remaining memory data. Any block may be hardware-protected against accidental erase or write. The protection block requires the RP # pin to be driven to VHH (relatively high voltage) before it is modified. 256K-word blocks of locations 0 and 15 may have additional hardware protection. If the PROTECT BLOCK command has been executed for these blocks, the UNPROTECT ALL BLOCKS command will unlock all blocks except for blocks of locations 0 and 15, unless the RP # pin is in the VHH state. If an unintentional power loss or system reset occurs, this provides additional security for critical code during in-system firmware update.

파워-다운 초기화, ERASE, WRITE 및 PROTECT 타이밍들은 메모리 어레이의 모든 프로그래밍 알고리즘들을 제어하기 위해 ISM을 사용해서 단순화된다. ISM은 오버-이레이저에 대한 프로텍션을 보장하고 각각의 셀에 대한 기록 마진을 최적화한다. WRITE 동작 중에, ISM은 자동으로 증가하고 WRITE 시도를 모니터하고, 각각의메모리 셀에 대한 기록 마진을 검증하고 ISM 상태 레지스터를 갱신한다. BLOCK ERASE 동작이 실행될 때, ISM은 전체 어드레스 블럭을 자동으로 겹쳐 쓰기(오버-이레이저를 제거하고), 증가하며 ERSAE 시도를 모니터하고 ISM 상태 레지스터의 비트들을 설정한다.Power-down initialization, ERASE, WRITE and PROTECT timings are simplified using ISM to control all programming algorithms in the memory array. ISM guarantees protection against over-erasure and optimizes the recording margin for each cell. During WRITE operation, the ISM automatically increments and monitors WRITE attempts, verifies the write margin for each memory cell and updates the ISM status register. When a BLOCK ERASE operation is performed, the ISM automatically overwrites the entire address block (removes over-eraser), increments, monitors ERSAE attempts, and sets the bits in the ISM status register.

8-비트 ISM 상태 레지스터(134)는 외부 프로세서(200)가 WRITE, ERSAE 및 PROTECT 동작 중에 ISM의 상태를 모니터하게 한다. 8-비트 상태 레지스터의 한 비트(SR7)는 ISM에 의해 전체적으로 설정 및 클리어된다. 상기 비트는 ISM이 ERSAE, WRITE 또는 PROTECT 태스크에 의해 사용중인지를 나타낸다. 추가 에러 정보는 3개의 다른 비트들(SR3, SR4 및 SR5)로 설정된다: 기록 및 보호 블럭 에러, 소거 및 비보호 모든 블럭 에러, 및 장치 보호 에러. 상태 레지스터 비트들 SR0, SR1 및 SR2는 진행중인 ISM 동작에 대한 상세한 정보를 제공한다. 사용자는 디바이스-레벨 또는 뱅크-레벨 ISM 동작(어떤 뱅크가 ISM 제어 하에 있는지도 포함)이 진행중인지를 모니터할 수 있다. 6개의 비트들(SR3-SR5)은 호스트 시스템에 의해 클리어되어야만 한다. 상태 레지스터는 표 2를 참조해서 보다 상세히 후술된다.The 8-bit ISM status register 134 allows the external processor 200 to monitor the status of the ISM during WRITE, ERSAE, and PROTECT operations. One bit SR7 of the 8-bit status register is globally set and cleared by the ISM. The bit indicates whether the ISM is in use by an ERSAE, WRITE or PROTECT task. The additional error information is set to three different bits SR3, SR4 and SR5: write and protect block errors, erase and unprotect all block errors, and device protection errors. Status register bits SR0, SR1 and SR2 provide detailed information about the ongoing ISM operation. The user can monitor whether device-level or bank-level ISM operations (including which banks are under ISM control) are in progress. Six bits SR3-SR5 must be cleared by the host system. The status register is described in more detail below with reference to Table 2.

CEL(130)은 디바이스에 대한 커맨드들을 수신 및 해석한다. 상기 커맨드들은 ISM의 동작 및 판독 경로(즉, 메모리 어레이, 디바이스 구성 또는 상태 레지스터)를 제어한다. 커맨드들은 ISM이 액티브인 동안 CEL에 발행될 수도 있다.CEL 130 receives and interprets commands for the device. The commands control the operation and read path of the ISM (ie, memory array, device configuration or status register). Commands may be issued to the CEL while the ISM is active.

최대 전력 보존을 허용하기 위해, 동기식 플래시 메모리는 매우 낮은 전류의 딥 파워-다운 모드를 특징으로 한다. 상기 모드에 들어가기 위해, RP# 핀(140)(리셋/파워-다운)은 VSS±0.2V가 된다. 우발적인 RESET을 방지하기 위해, RP#는 디바이스가 리셋 모드가 되기 전에 100ns 동안 Vss로 홀드되어야만 한다. RP#가 Vss로 홀드될 때, 디바이스는 딥 파워-다운 모드가 된다. 디바이스가 딥 파워-다운 모드가 된 후에, RP#의 LOW로부터 HIGH로의 전이는 본 명세서에 기술된 바와 같이 디바이스 파워-업 초기화 시퀀스를 야기하게 된다. 리셋 모드가 된 후에 그러나 딥 파워-다운 모드가 되기 전의 RP#의 LOW로부터 HIGH로의 전이는 실행 가능 커맨드를 발행하기 전에 1㎲ 지연을 필요로 한다. 디바이스가 딥 파워-다운 모드가 될 때, RP# 버퍼를 제외한 모든 버퍼들은 디스에이블되고 전류 드로(current draw)는 예를 들어 3.3V VCC일 때 최대 50㎂로 로우가 된다. RP# 입력은 딥 파워-다운 동안 Vss로 남아야만 한다. RESET 모드가 되면 상태 레지스터(134)를 클리어하고 ISM(132)을 어레이 판독 모드로 설정한다.To allow for maximum power conservation, synchronous flash memory features a very low current deep power-down mode. To enter the mode, RP # pin 140 (reset / power-down) is VSS ± 0.2V. To prevent accidental RESET, RP # must be held at Vss for 100ns before the device enters reset mode. When RP # is held at Vss, the device is in deep power-down mode. After the device is in deep power-down mode, the transition from LOW to HIGH of RP # will result in a device power-up initialization sequence as described herein. The transition from LOW to HIGH of RP # after entering the reset mode but before entering the deep power-down mode requires a 1 ms delay before issuing an executable command. When the device is in deep power-down mode, all buffers except the RP # buffer are disabled and the current draw goes low, up to 50µs, for example at 3.3V VCC. The RP # input must remain at Vss during deep power-down. Once in the RESET mode, the status register 134 is cleared and the ISM 132 is set to the array read mode.

동기식 플래시 메모리 어레이 아키텍처는 어레이 나머지를 교란하지 않고 섹터들이 소거되도록 설계된다. 어레이는 독립적으로 소거될 수 있는 16개의 어드레서블 "블럭들"로 분할된다. 전체 어레이가 아닌 블럭들을 소거함으로써, 시스템 유연성과 함께, 총 디바이스 내구성(endurance)이 강화된다. ERSAE 및 BLOCK PROTECT 기능들만이 블럭 지향적이다. 16개의 어드레서블 블럭들은 4개의 블럭들 각각의 4개의 뱅크들(104, 106, 108 및 110)로 동일하게 분할된다. 4개의 뱅크들은 동시 판독-기록 기능을 갖는다. 임의의 뱅크에 대한 ISM WRITE 또는 ERSAE 동작은 임의의 다른 뱅크에 대한 READ 동작과 동시에 발생할 수 있다. 상태 레지스터(134)는 어떤 뱅크가 ISM 동작 중인지를 결정하기 위해 폴링될 수도 있다. 동기식 플래시 메모리는 파워-업 초기화, ERSAE, WRITE 및 PROTECT 동작들을 제어하기위해 싱글 배경 동작 ISM을 갖는다. 하나의 ISM 동작만이 임의의 시간에 발생할 수 있다; 그러나, READ 동작들을 포함해서 특정 다른 커맨드들이 ISM 동작이 발생하는 동안 실행될 수 있다. ISM에 의해 제어되는 동작 커맨드는 뱅크-레벨 동작 또는 디바이스-레벨 동작으로 정의된다. WRITE 및 ERSAE는 뱅크-레벨 ISM 동작들이다. ISM 뱅크 동작이 개시된 후에, 뱅크의 임의의 로케이션에 대한 READ가 무효 데이터를 출력할 수도 있는 반면, 임의의 다른 뱅크에 대한 READ는 어레이를 판독하게 된다. READ STATUS REGISTER 커맨드는 상태 레지스터(134)의 내용을 출력하게 된다. ISM 상태 비트는 ISM 동작이 완료될 때(SR7 = 1)를 나타내게 된다. ISM 동작이 완료될 때, 뱅크는 자동으로 어레이 판독 모드가 된다. ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, BLOCK PROTECT, DEVICE PROTECT, 및 UNPROTECT ALL BLOCKS은 디바이스-레벨 ISM 동작들이다. ISM 디바이스-레벨 동작이 개시되었으면, 임의의 뱅크에 대한 READ는 어레이의 내용을 출력하게 된다. READ STATUS REGISTER 커맨드는 ISM 동작의 완료를 결정하기 위해 발행될 수도 있다. SR = 1일 때, ISM 동작은 완료되고 다음 ISM 동작이 개시될 수도 있다. 후술된 바와 같이, WRITE 또는 ERASE가 개시되기 전에 RP# 핀이 VHH로 구동되도록 요구하는 하드웨어 회로에 의해 임의의 블럭은 비의도적인 ERSAE 또는 WRITE로부터 보호될 수 있다.The synchronous flash memory array architecture is designed so that sectors are erased without disturbing the rest of the array. The array is divided into 16 addressable "blocks" that can be erased independently. By erasing blocks rather than the entire array, total device endurance is enhanced along with system flexibility. Only the ERSAE and BLOCK PROTECT functions are block oriented. The sixteen addressable blocks are equally divided into four banks 104, 106, 108 and 110 of each of the four blocks. Four banks have simultaneous read-write functions. An ISM WRITE or ERSAE operation for any bank may occur concurrently with a READ operation for any other bank. Status register 134 may be polled to determine which bank is in ISM operation. Synchronous flash memory has a single background operation ISM to control power-up initialization, ERSAE, WRITE and PROTECT operations. Only one ISM operation can occur at any time; However, certain other commands may be executed during the ISM operation, including READ operations. Operation commands controlled by the ISM are defined as bank-level operation or device-level operation. WRITE and ERSAE are bank-level ISM operations. After the ISM bank operation is initiated, a READ for any location in the bank may output invalid data, while a READ for any other bank will read the array. The READ STATUS REGISTER command outputs the contents of the status register 134. The ISM status bit will indicate when the ISM operation is complete (SR7 = 1). When the ISM operation completes, the bank automatically enters array read mode. ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, BLOCK PROTECT, DEVICE PROTECT, and UNPROTECT ALL BLOCKS are device-level ISM operations. Once ISM device-level operation has been initiated, a READ for any bank will output the contents of the array. The READ STATUS REGISTER command may be issued to determine the completion of an ISM operation. When SR = 1, the ISM operation is completed and the next ISM operation may begin. As discussed below, any block can be protected from unintentional ERSAE or WRITE by hardware circuitry that requires the RP # pin to be driven to VHH before WRITE or ERASE is initiated.

임의의 블럭은 펌웨어의 가장 민감한 부분들에 대한 여분의 보안성을 제공하도록 하드웨어-보호될 수도 있다. 하드웨어 보호 블럭의 WRITE 또는 ERASE 중에, RP# 핀은 WRITE 또는 ERASE가 완료될 때까지 VHH로 홀드되어야만 한다. RP# = VHH가 아닐 때의 보호 블럭에 대한 임의의 WRITE 또는 ERASE 시도가 방지되고 기록 또는 소거 에러가 야기된다. 로케이션들 0 및 15의 블럭들은 우발적인 WRITE 또는 ERASE 동작을 방지하기 위해 추가의 하드웨어 프로텍션을 가질 수 있다. 본 실시예에서, 상기 블럭들은 RP# = VHH가 아닌 한 UNPROTECT ALL BLOCKS 커맨드를 통해 소프트웨어-언로크될 수 없다. 임의의 블럭의 보호 상태는 READ STATUS REGISTER 커맨드에 의해 블럭 보호 비트를 판독함으로써 체크될 수 있다. 또한, 블럭을 보호하기 위해, 3-사이클 커맨드 시퀀스가 블럭 어드레스와 함께 발행되어야만 한다.Any block may be hardware-protected to provide extra security for the most sensitive portions of the firmware. During WRITE or ERASE of the hardware protection block, the RP # pin must be held to VHH until WRITE or ERASE is completed. Any WRITE or ERASE attempt to the protected block when RP # = VHH is prevented and a write or erase error is caused. Blocks of locations 0 and 15 may have additional hardware protection to prevent accidental WRITE or ERASE operation. In this embodiment, the blocks cannot be software-locked via the UNPROTECT ALL BLOCKS command unless RP # = VHH. The protection status of any block can be checked by reading the block protection bit by the READ STATUS REGISTER command. In addition, to protect the block, a 3-cycle command sequence must be issued with a block address.

동기식 플래시 메모리는 3개의 상이한 타입들의 READ들을 특징으로 할 수 있다. 모드에 따라, READ 동작은 메모리 어레이, 상태 레지스터, 또는 디바이스 구성 레지스터들 중 하나로부터의 데이터를 생성한다. 디바이스 구성 레지스터 또는 상태 레지스터에 대한 READ는 LCR-ACTIVE 사이클이 선행되어야만 하고 데이터 아웃의 버스트 길이는 모드 레지스터 설정들에 의해 정의된다. 다음 READ 또는 LCR-ACTIVE 사이클이 선행되지 않은 READ는 어레이를 판독한다. 그러나, 몇몇 차이점들이 존재하고 이는 이하의 섹션에 기술된다.Synchronous flash memory may be characterized by three different types of READs. Depending on the mode, the READ operation generates data from one of the memory array, status registers, or device configuration registers. READ to the device configuration register or status register must be preceded by an LCR-ACTIVE cycle and the burst length of the data out is defined by the mode register settings. A READ that does not precede the next READ or LCR-ACTIVE cycle reads the array. However, some differences exist and are described in the sections below.

임의의 뱅크에 대한 READ 커맨드는 메모리 어레이의 내용을 출력한다. WRITE 또는 ERSAE ISM 동작이 발생하는 동안, ISM 제어하의 뱅크의 임의의 로케이션에 대한 READ는 무효 데이터를 출력할 수도 있다. 현존 RESET 동작시, 디바이스는 자동으로 어레이 판독 모드가 된다.The READ command for any bank outputs the contents of the memory array. While a WRITE or ERSAE ISM operation is occurring, a READ for any location in the bank under ISM control may output invalid data. During an existing RESET operation, the device automatically enters array read mode.

LCR READ STATUS REGISTER(70H) 사이클이 ACTIVE READ 사이클들을 선행해야만 한다는 점을 제외하고, 상태 레지스터(134)의 READ 실행은 어레이 판독 때와 동일한 입력 시퀀스를 요구한다. 상태 레지스터 데이터-아웃의 버스트 길이는 모드레지스터(148)에 의해 정의된다. 상태 레지스터 내용은 CAS 레이턴시의 영향을 받아 다음 포지티브 클록 에지에서 갱신 및 래치된다. 디바이스는 다음 READ들을 위해 자동으로 어레이 판독 모드가 된다.The READ execution of status register 134 requires the same input sequence as when reading the array, except that the LCR READ STATUS REGISTER 70H cycle must precede the ACTIVE READ cycles. The burst length of the status register data-out is defined by the mode register 148. The status register contents are updated and latched on the next positive clock edge, subject to CAS latency. The device automatically enters array read mode for the next READs.

임의의 디바이스 구성 레지스터들(136)의 판독은 특정 어드레스들이 발행되어야만 한다는 점을 제외하고 상태 레지스터 판독 때와 동일한 입력 시퀀스를 요구한다. WE#는 HIGH이어야만 하고, DQM 및 CS#는 LOW이어야만 한다. 제조자 호환성 ID를 판독하기 위해, 어드레스들은 000000H에 있어야만 하고, 디바이스 ID를 판독하기 위해 어드레스들은 000001H에 있어야만 한다. 임의의 블럭 보호 비트들이 각각의 소거 블럭(xx0002H) 내의 제3 어드레스 로케이션에서 판독되고, 디바이스 보호 비트가 로케이션 000003H로부터 판독된다.Reading any device configuration registers 136 requires the same input sequence as when reading the status register except that certain addresses must be issued. WE # must be HIGH and DQM and CS # must be LOW. To read the manufacturer compatibility ID, the addresses must be at 000000H and to read the device ID, the addresses must be at 000001H. Any block protection bits are read at the third address location in each erase block xx0002H and the device protection bits are read from location 000003H.

DQ 핀들은 어레이에 데이터를 입력하는데 사용된다. 어드레스 핀들은 LOAD COMMAND REGISTER 사이클 중에 어드레스 로케이션을 명시하거나 또는 CEL에 커맨드를 입력하는데 사용된다. 커맨드 입력은 디바이스의 동작 모드를 제어하기 위해 8-비트 커맨드를 CEL에 입력한다. WRITE는 메모리 어레이에 데이터를 입력하는데 사용된다. 이하의 섹션은 양 타입들의 입력들을 기술한다.The DQ pins are used to enter data into the array. The address pins are used to specify an address location during the LOAD COMMAND REGISTER cycle or to enter a command in the CEL. Command inputs input an 8-bit command to CEL to control the operating mode of the device. WRITE is used to enter data into the memory array. The following section describes both types of inputs.

커맨드 입력을 실행하기 위해, DQM은 LOW이어야만 하고, CS# 및 WE#는 LOW이어야만 한다. 어드레스 핀들 또는 DQ 핀들은 커맨드들을 입력하는데 사용된다. 커맨드 입력에 사용되지 않는 어드레스 핀들은 "Don't Care"이고 안정 상태로 홀드되어야만 한다. 8-비트 커맨드는 DQ0-DQ7 또는 A0-A7에서 입력되고 포지티브 클록 에지에서 래치된다.In order to execute command input, DQM must be LOW and CS # and WE # must be LOW. Address pins or DQ pins are used to input commands. Address pins not used for command input are "Don't Care" and must be held in a stable state. An 8-bit command is input at DQ0-DQ7 or A0-A7 and latched at the positive clock edge.

메모리 어레이에 대한 WRITE는 희망 비트들을 논리 0들로 설정하지만 소정의 비트를 논리 1로부터 논리 0으로 변경할 수 없다. 임의의 비트들을 논리 1로 설정하는 것은 전체 블럭이 소거될 것을 요구한다. WRITE를 실행하기 위해, DQM은 LOW이어야만 하고, CS# 및 WE#는 LOW이어야만 하고, VCCP는 VCC로 되어야만 한다. 보호 블럭에 대한 기록도 또한 RP# 핀이 VHH로 될 것을 요구한다. A0-A11은 기록될 어드레스를 제공하고, 어레이에 기록될 데이터는 DQ 핀들에서 입력된다. 데이터 및 어드레스들은 클록의 상승 에지에서 래치된다. WRITE는 WRITE SETUP 커맨드가 선행되어야만 한다.WRITE for the memory array sets the desired bits to logic zeros but cannot change a given bit from logic one to logic zero. Setting any bits to logic 1 requires the entire block to be erased. To run WRITE, DQM must be LOW, CS # and WE # must be LOW, and VCCP must be VCC. Writing to the protection block also requires the RP # pin to go to VHH. A0-A11 provide the address to be written, and the data to be written to the array is input at the DQ pins. Data and addresses are latched on the rising edge of the clock. WRITE must be preceded by the WRITE SETUP command.

메모리 블럭들의 기록을 간단히 하기 위해, 동기 플래시는 WRITE 및 ERASE 사이클들을 위한 모든 내부 알고리즘들을 제어하는 ISM을 사용한다. 8-비트 커맨드 세트는 디바이스를 제어하는데 사용된다. 유효 커맨드 리스트를 위해서는 진리표들 1 및 2를 참조하라.To simplify the writing of memory blocks, synchronous flash uses an ISM that controls all internal algorithms for WRITE and ERASE cycles. An 8-bit command set is used to control the device. See truth tables 1 and 2 for a list of valid commands.

8-비트 ISM 상태 레지스터(134)(표 2 참조)는 ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, ERASE, BLOCK PROTECT, DEVICE PROTECT 또는 UNPROTECT ALL BLOCKS 완료 또는 임의의 관련 에러들을 체크하기 위해 폴링된다. ISM 동작의 완료는 READ STATUS REGISTER(70H) 커맨드를 발행함으로써 모니터될 수 있다. 상태 레지스터의 내용은 DQ0-DQ7에 출력되고 모드 레지스터 세팅들에 의해 정의된 바와 같이 고정 버스트 길이 동안 다음 포지티브 클록 에지(CAS 레이턴시의 영향을 받음)에서 갱신된다. ISM 동작은 SR7 = 1일 때 완료된다. 정의된 비트들 모두는 ISM에 의해 설정되고, ISM 상태 비트만 ISM에 의해 리셋된다. 소거/비보호 블럭,기록/보호 블럭, 디바이스 보호가 CLEAR STATUS REGISTER(50H) 커맨드를 사용해서 클리어되어야만 한다. 이는 사용자가 상태 레지스터를 폴링 및 클리어할 때를 선택하게 한다. 예를 들어, 호스트 시스템은 각각의 개별 WRITE 후에 체크하는 대신 상태 레지스터를 체크하기 전에 다수의 WRITE 동작들을 실행할 수도 있다. RP# 신호 또는 파워 다운이 표명되면, 디바이스는 상태 레지스터를 클리어한다.The 8-bit ISM status register 134 (see Table 2) is polled to check for ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, ERASE, BLOCK PROTECT, DEVICE PROTECT or UNPROTECT ALL BLOCKS completion or any related errors. Completion of the ISM operation can be monitored by issuing a READ STATUS REGISTER 70H command. The contents of the status register are output to DQ0-DQ7 and updated at the next positive clock edge (affected by CAS latency) for a fixed burst length as defined by the mode register settings. ISM operation is completed when SR7 = 1. All of the defined bits are set by the ISM, and only the ISM status bits are reset by the ISM. Clear / unprotected blocks, write / protect blocks, and device protection must be cleared using the CLEAR STATUS REGISTER (50H) command. This allows the user to choose when to poll and clear the status register. For example, the host system may execute multiple WRITE operations before checking the status register instead of checking after each individual WRITE. If an RP # signal or power down is asserted, the device clears the status register.

디바이스 ID, 제조자 호환성 ID, 디바이스 보호 상태 및 블럭 보호 상태는 READ DEVICE CONFIGURATION(90H) 커맨드를 발행함으로써 모두 판독될 수 있다. 희망 레지스터를 판독하기 위해, 특정 어드레스가 표명되어야만 한다. 다양한 디바이스 구성 레지스터들(136)에 대한 보다 상세한 설명을 위해 표 3을 참조하라.The device ID, manufacturer compatibility ID, device protection state and block protection state can all be read by issuing a READ DEVICE CONFIGURATION (90H) command. In order to read the desired register, a specific address must be declared. See Table 3 for a more detailed description of the various device configuration registers 136.

디바이스가 상이한 동작 모드들로 되게 하는 커맨드들이 발행될 수 있다. 각각의 모드는 해당 모드 동안 실행될 수 있는 특정 동작들을 갖는다. 몇몇 모드들은 커맨드 시퀀스가 도달되기 전에 기록될 것을 요구한다. 이하의 섹션은 각각의 모드의 특성들을 기술하고, 진리표들 1 및 2는 희망 동작을 실행하는데 필요한 모든 커맨드 시퀀스들을 열거한다. 판독-기록 기능은 배경 동작 기록 또는 소거가 임의의 뱅크에 대해 실행되게 하는데, 동시에 임의의 다른 뱅크를 판독한다. 기록 동작에 있어서, 진리표들 1 및 2의 LCR-ACTIVE-WRITE 커맨드 시퀀스들은 연속 클록 사이클에 완료되어야만 한다. 그러나, 동기 플래시 컨트롤러 동작을 간단히 하기위해, 제한된 수의 NOP들 또는 COMMAND INHIBIT들이 커맨드 시퀀스를 통해 발행될 수 있다. 추가 보호를 위해, 상기 커맨드 시퀀스들은 3 사이클 동안 동일한 뱅크 어드레스를 가져야만 한다. 뱅크 어드레스가 LCR-ACTIVE-WRITE 커맨드 시퀀스 중에 변경되면, 또는 커맨드 시퀀스들이 연속적이지 않으면(NOP들 및 COMMAND INHIBIT들이 아님, NOP들 및 COMMAND INHIBIT들은 허용됨), 기록 및 소거 상태 비트들(SR4 및 SR5)은 설정 및 동작 금지된다.Commands can be issued that cause the device to enter different modes of operation. Each mode has certain operations that can be executed during that mode. Some modes require that the command sequence be written before it is reached. The following section describes the characteristics of each mode, and truth tables 1 and 2 list all the command sequences needed to carry out the desired operation. The read-write function causes a background operation write or erase to be executed for any bank, while simultaneously reading any other bank. In the write operation, the LCR-ACTIVE-WRITE command sequences of truth tables 1 and 2 must be completed in successive clock cycles. However, to simplify synchronous flash controller operation, a limited number of NOPs or COMMAND INHIBITs can be issued through the command sequence. For further protection, the command sequences must have the same bank address for three cycles. If the bank address is changed during the LCR-ACTIVE-WRITE command sequence, or if the command sequences are not contiguous (NOPs and COMMAND INHIBITs, NOPs and COMMAND INHIBITs are allowed), write and erase status bits SR4 and SR5. Setting and operation is prohibited.

파워-업시에 또한 디바이스에 임의의 동작 커맨드들이 발행되기 전에, 동기 플래시는 초기화된다. 전력이 VCC, VCCQ 및 VCCP에 (동시에) 인가되고, 클록이 안정적인 후에, RP#는 LOW에서 HIGH로 전이된다. 내부 디바이스 초기화를 완료하기 위해 RP#가 HIGH로 전이된 후에 지연(한 실시예에서는 100㎲ 지연)이 요구된다. 디바이스는 디바이스 초기화 완료시 어레이 판독 모드이며, 실행 커맨드가 디바이스에 발행될 수 있다.At power-up and before any operational commands are issued to the device, the synchronous flash is initialized. After power is applied (at the same time) to VCC, VCCQ and VCCP and the clock is stable, RP # transitions from LOW to HIGH. A delay (100 ms delay in one embodiment) is required after RP # transitions to high to complete internal device initialization. The device is in array read mode upon completion of device initialization, and an execute command can be issued to the device.

디바이스 ID, 제조자 호환성 ID, 디바이스 보호 비트 및 블럭 보호 비트들 각각을 판독하기 위해, READ DEVICE CONFIGURATION(90H) 커맨드가 발행된다. 상기 모드에서, 특정 어드레스들은 희망 정보를 판독하기 위해 발행된다. 제조자 호환성 ID는 000000H에서 판독되고; 디바이스 ID는 000001H에서 판독된다. 제조자 호환성 ID 및 디바이스 ID는 DQ0-DQ7에서 출력된다. 디바이스 보호 비트는 000003H에서 판독되고; 블럭 보호 비트들 각각은 각각의 블럭(xx0002H) 내의 제3 어드레스 로케이션에서 판독된다. 디바이스 및 블럭 보호 비트들은 DQ0에서 출력된다.To read each of the device ID, manufacturer compatibility ID, device protection bit and block protection bits, a READ DEVICE CONFIGURATION 90H command is issued. In this mode, specific addresses are issued to read the desired information. Manufacturer compatibility ID is read at 000000H; The device ID is read at 000001H. Manufacturer compatibility ID and device ID are output from DQ0-DQ7. The device protection bit is read at 000003H; Each of the block protection bits is read at the third address location within each block xx0002H. Device and block protection bits are output at DQ0.

연속 클록 에지들의 3개의 연속 커맨드들은 어레이에 데이터를 입력하는데필요하다(NOP들 및 COMMAND INHIBIT들은 사이클들 사이에 허용됨). 제1 사이클에서, LOAD COMMAND REGISTER 커맨드는 A0-A7에서 WRITE SETUP(40H)를 제공받고, 뱅크 어드레스는 BA0, BA1에서 발행된다. 다음 커맨드는 행 어드레스를 활성화하고 뱅크 어드레스를 확인하는 ACTIVE이다. 제3 사이클은 WRITE이며, 상기 사이클 중에 개시 열, 뱅크 어드레스 및 데이터가 발행된다. ISM 상태 비트는 이하의 클록 에지에서 설정된다(CAS 레이턴시의 영향을 받음). ISM이 WRITE를 실행하는 동안, ISM 상태 비트(SR7)는 0에 있게 된다. ISM 제어하의 뱅크에 대한 READ 동작은 무효 데이터를 생성할 수도 있다. ISM 상태 비트(SR7)가 논리 1로 설정될 때, WRITE는 완료되었고, 뱅크는 어레이 판독 모드이며 실행 가능 커맨드들 위해 대기하게 된다. 하드웨어-보호 블럭들에 대한 기록은 RP# 핀이 제3 사이클(WRITE) 전에 VHH로 설정될 것을 요구하고 RP#는 ISM WRITE 동작이 완료될 때까지 VHH로 홀드되어야만 한다. LCR-ACTIVE-WRITE 커맨드 시퀀스가 연속 사이클들에 완료되지 않거나 뱅크 어드레스가 3개의 사이클들 중 임의의 사이클 동안 변경되면 기록 및 소거 상태 비트들(SR4 및 SR5)이 설정된다. ISM이 WRITE를 개시한 후에, RESET 또는 파트 파워 다운에 의한 것을 제외하고는 중지될 수 없다. WRITE 중의 실행은 기록중인 데이터를 오염시킬 수도 있다.Three consecutive commands of consecutive clock edges are needed to enter data into the array (NOPs and COMMAND INHIBITs are allowed between cycles). In the first cycle, the LOAD COMMAND REGISTER command is provided with WRITE SETUP 40H at A0-A7, and bank addresses are issued at BA0, BA1. The next command is ACTIVE, which activates the row address and confirms the bank address. The third cycle is WRITE, during which start columns, bank addresses and data are issued. The ISM status bit is set at the following clock edges (affected by CAS latency). While the ISM is executing WRITE, the ISM status bit SR7 is at zero. READ operations on banks under ISM control may generate invalid data. When the ISM status bit SR7 is set to logic 1, WRITE is complete and the bank is in array read mode and will wait for executable commands. Writing to the hardware-protection blocks requires the RP # pin to be set to VHH before the third cycle (WRITE) and RP # must be held to VHH until the ISM WRITE operation is completed. The write and erase status bits SR4 and SR5 are set if the LCR-ACTIVE-WRITE command sequence is not completed in successive cycles or the bank address is changed during any of the three cycles. After ISM initiates WRITE, it cannot be stopped except by RESET or part power down. Execution during WRITE may corrupt the data being recorded.

ERASE 시퀀스 실행은 블럭 내의 모든 비트들을 논리 1로 설정한다. ERASE를 실행하는데 필요한 커맨드 시퀀스는 WRITE와 유사하다. 우연적인 블럭 소거에 대한 추가 보안성을 제공하기 위해, 연속 클록 에지들에서의 3개의 연속 커맨드 시퀀스들은 블럭의 ERASE를 개시하는데 필요하다. 제1 사이클에서, LOAD COMMANDREGISTER는 A0-A7에서 ERASE SETUP(20H)를 제공받고, 소거될 블럭의 뱅크 어드레스는 BA0, BA1에서 발행된다. 다음 커맨드는 ACTIVE이며, 여기서 A10, A11, BA0, BA1이 소거될 블럭의 어레이 판독 모드를 제공한다. 제3 사이클은 WRITE이며, 상기 사이클 중에 ERASE CONFIRM(DOH)가 DQ0-DQ7에서 제공되고 뱅크 어드레스가 재발행된다. ISM 상태 비트는 이하의 클록 에지에서 설정된다(CAS 레이턴시의 영향을 받음). ERASE CONFIRM(DOH)이 발행된 후에, ISM은 어드레스 블럭의 ERASE를 개시한다. 어드레스 블럭이 존재하는 뱅크에 대한 임의의 READ 동작은 무효 데이터를 출력할 수도 있다. ERASE 동작이 완료될 때, 뱅크는 어레이 판독 모드가 되며 실행 가능 커맨드들 위해 대기하게 된다. 하드웨어-보호 블럭들에 대한 소거는 RP# 핀이 제3 사이클(WRITE) 전에 VHH로 설정될 것을 요구하고 RP#는 ERASE가 완료될 때까지(SR7 = 1) VHH로 홀드되어야만 한다. LCR-ACTIVE-WRITE 커맨드 시퀀스가 연속 사이클들에 완료되지 않거나(NOP들 및 COMMAND INHIBIT들은 사이클들 사이에 허용됨) 뱅크 어드레스가 커맨드 사이클들 중 하나 이상의 사이클 동안 변경되면, 기록 및 소거 상태 비트들(SR4 및 SR5)이 설정되고 동작이 금지된다.ERASE sequence execution sets all bits in the block to logical one. The command sequence required to run ERASE is similar to WRITE. To provide additional security against accidental block erase, three consecutive command sequences at consecutive clock edges are needed to initiate the ERASE of the block. In the first cycle, LOAD COMMANDREGISTER is provided with ERASE SETUP 20H at A0-A7, and the bank address of the block to be erased is issued at BA0, BA1. The next command is ACTIVE, where A10, A11, BA0, BA1 provide the array read mode of the block to be erased. The third cycle is WRITE, during which the ERASE CONFIRM (DOH) is provided at DQ0-DQ7 and the bank address is reissued. The ISM status bit is set at the following clock edges (affected by CAS latency). After ERASE CONFIRM (DOH) is issued, the ISM initiates an ERASE of the address block. Any READ operation on the bank in which the address block is present may output invalid data. When the ERASE operation is complete, the bank goes into array read mode and waits for executable commands. Clearing for the hardware-protection blocks requires that the RP # pin be set to VHH before the third cycle (WRITE) and RP # must be held to VHH until ERASE is complete (SR7 = 1). If the LCR-ACTIVE-WRITE command sequence does not complete in consecutive cycles (NOPs and COMMAND INHIBITs are allowed between cycles) or if the bank address is changed during one or more of the command cycles, the write and erase status bits SR4. And SR5) are set and the operation is prohibited.

모드 레지스터(148)의 내용은 WRITE NVMODE REGISTER 커맨드에 의해 NVMode 레지스터(147)에 복사될 수도 있다. NVMode 레지스터에 기록하기 전에, ERASE NVMODE REGISTER 커맨드 시퀀스는 NVMode 레지스터의 모든 비트들을 논리 1로 설정하기 위해 완료되어야만 한다. ERASE NVMODE REGISTER 및 WRITE NVMODE REGISTER를 실행하는데 필요한 커맨드 시퀀스는 WRITE와 유사하다. ERASE NVMODE REGISTER 및 WRITE NVMODE REGISTER를 실행하는데 필요한 LCR-ACTIVE-WRITE 커맨드들에 대한보다 상세한 정보를 위해서는 진리표 2를 참조하라. ERASE NVMODE REGISTER 또는 WRITE NVMODE REGISTER 커맨드 시퀀스의 WRITE 사이클이 등록된 후에, READ 커맨드가 어레이에 발행될 수도 있다. 현 ISM 동작이 완료되고 SR7=1일 때까지 새로운 WRITE 동작은 허용되지 않는다.The contents of the mode register 148 may be copied to the NVMode register 147 by the WRITE NVMODE REGISTER command. Before writing to the NVMode register, the ERASE NVMODE REGISTER command sequence must complete to set all bits of the NVMode register to logical one. The command sequence required to execute ERASE NVMODE REGISTER and WRITE NVMODE REGISTER is similar to WRITE. See truth table 2 for more information about the LCR-ACTIVE-WRITE commands required to run ERASE NVMODE REGISTER and WRITE NVMODE REGISTER. After the WRITE cycle of the ERASE NVMODE REGISTER or WRITE NVMODE REGISTER command sequence is registered, a READ command may be issued to the array. The new WRITE operation is not allowed until the current ISM operation is completed and SR7 = 1.

BLOCK PROTECT 시퀀스 실행은 소정의 블럭에 대한 소프트웨어/하드웨어-프로텍션의 제1 레벨을 인에이블한다. 메모리는 16개의 보호 가능 블럭들에 대응하는 1 비트를 갖는 16-비트 레지스터를 포함한다. 메모리는 또한 전체 디바이스를 기록 및 소거 동작들로부터 보호하는데 사용되는 디바이스 비트를 제공하는 레지스터를 갖는다. BLOCK PROTECT를 실행하는데 필요한 커맨드 시퀀스는 WRITE와 유사하다. 우연적인 블럭 보호에 대한 추가 보안성을 제공하기 위해, 연속 커맨드 사이클들이 BLOCK PROTECT를 개시하는데 필요하다. 제1 사이클에서, LOAD COMMAND REGISTER에는 A0-A7에서 PROTECT SETUP(60H) 커맨드가 발행되고, 보호될 블럭의 뱅크 어드레스는 BA0, BA1에서 발행된다. 다음 커맨드는 보호될 블럭의 행을 활성화하고 뱅크 어드레스를 확인하는 ACTIVE이다. 제3 사이클은 WRITE이며, 상기 사이클 중에 BLOCK PROTECT CONFIRM(01H)가 DQ0-DQ7에서 제공되고 뱅크 어드레스가 재발행된다. ISM 상태 비트는 이하의 클록 에지에서 설정된다(CAS 레이턴시의 영향을 받음). 그 후 ISM은 PROTECT 동작을 개시한다. LCR-ACTIVE-WRITE가 연속 사이클들에 완료되지 않거나(NOP들 및 COMMAND INHIBIT들은 사이클들 사이에 허용됨) 뱅크 어드레스가 변경되면, 기록 및 소거 상태 비트들(SR4 및 SR5)이 설정되고 동작이 금지된다. ISM 상태 비트(SR7)가 논리 1로 설정될 때, PROTECT는 완료되었고, 뱅크는 어레이 판독 모드가 되며 실행 가능 커맨드들 위해 대기하게 된다. 블럭 보호 비트가 1(보호)로 설정되었으면, UNPROTECT ALL BLOCKS 커맨드가 발행될 때만 0으로 리셋될 수 있다. UNPROTECT ALL BLOCKS 커맨드 시퀀스는 BLOCK PROTECT 커맨드와 유사하지만; 제3 사이클에서, WRITE는 UNPROTECT ALL BLOCKS CONFIRM(D0H) 커맨드를 발행받으며 어드레스들은 "Don't Care"이다. 추가 정보를 위해서는 진리표 2를 참조하라. 로케이션들 0 및 15의 블럭들은 추가 보안성을 갖는다. 로케이션들 0 및 15의 블럭 보호 비트들이 1(보호)로 설정되었으면, UNPROTECT 동작의 제3 사이클 전에 RP#이 VHH로 되어서 동작이 완료될 때(SR7=1)까지 VHH로 홀드되는 경우에만 각각의 비트는 0으로 리셋될 수 있다. 또한, 디바이스 보호 비트가 설정되면, RP#는 제3 사이클 전에 VHH로 설정되어 BLOCK PROTECT 또는 UNPROTECT ALL BLOCKS 동작이 완료될 때까지 VHH로 홀드되어야만 한다. 블럭의 보호 상태를 체크하기 위해, READ DEVICE CONFIGURATION(90H) 커맨드가 발행될 수도 있다.Execution of the BLOCK PROTECT sequence enables a first level of software / hardware-protection for a given block. The memory includes a 16-bit register with 1 bit corresponding to 16 protectable blocks. The memory also has a register that provides the device bit used to protect the entire device from write and erase operations. The command sequence required to execute BLOCK PROTECT is similar to WRITE. To provide additional security against accidental block protection, successive command cycles are needed to initiate a BLOCK PROTECT. In the first cycle, the PROTECT SETUP (60H) command is issued to the LOAD COMMAND REGISTER at A0-A7, and the bank address of the block to be protected is issued at BA0, BA1. The next command is ACTIVE, which activates the row of the block to be protected and checks the bank address. The third cycle is WRITE, during which the BLOCK PROTECT CONFIRM (01H) is provided at DQ0-DQ7 and the bank address is reissued. The ISM status bit is set at the following clock edges (affected by CAS latency). The ISM then initiates a PROTECT operation. If the LCR-ACTIVE-WRITE is not completed in consecutive cycles (NOPs and COMMAND INHIBITs are allowed between cycles) or the bank address is changed, the write and erase status bits SR4 and SR5 are set and the operation is inhibited. . When the ISM status bit SR7 is set to logic 1, PROTECT is complete and the bank is in array read mode and will wait for executable commands. If the block protect bit is set to 1 (protect), it can only be reset to 0 when the UNPROTECT ALL BLOCKS command is issued. The UNPROTECT ALL BLOCKS command sequence is similar to the BLOCK PROTECT command; In the third cycle, WRITE is issued a UNPROTECT ALL BLOCKS CONFIRM (D0H) command and the addresses are "Don't Care". See truth table 2 for additional information. The blocks of locations 0 and 15 have additional security. If the block protection bits of locations 0 and 15 are set to 1 (protected), then each of the RP # s is VHH before the third cycle of the UNPROTECT operation and is held by VHH until the operation is completed (SR7 = 1). The bit can be reset to zero. In addition, if the device protection bit is set, RP # must be set to VHH before the third cycle and held to VHH until the BLOCK PROTECT or UNPROTECT ALL BLOCKS operation is completed. To check the protection status of the block, a READ DEVICE CONFIGURATION (90H) command may be issued.

DEVICE PROTECT 시퀀스를 실행하여 디바이스 보호 비트를 1로 설정하고 블럭 보호 비트 변경을 방지한다. DEVICE PROTECT를 실행하는데 필요한 커맨드 시퀀스는 WRITE와 유사하다. 3개의 연속 커맨드 사이클들은 DEVICE PROTECT 시퀀스를 개시하는데 필요하다. 제1 사이클에서, LOAD COMMAND REGISTER는 A0-A7에서 PROTECT SETUP(60H)를 제공받고, 뱅크 어드레스는 BA0, BA1에서 발행된다. 뱅크 어드레스는 "Don't Care"이지만 동일한 뱅크 어드레스가 3개의 모든 사이클 동안 사용되어야만 한다. 다음 커맨드는 ACTIVE이다. 제3 사이클은 WRITE이며, 상기 사이클 중에 DEVICE PROTECT(F1H) 커맨드가 DQ0-DQ7에서 발행되며, RP#가 VHH로 된다. ISM 상태 비트는 이하의 클록 에지에서 설정된다(CAS 레이턴시의 영향을 받음). 실행 가능 커맨드가 디바이스에 발행될 수 있다. RP#는 WRITE 동작이 완료될 때(SR7=1)까지 VHH로 홀드되어야만 한다. 현 ISM 동작이 완료될 때까지 새로운 WRITE 동작은 허용되지 않는다. 디바이스 보호 비트가 설정되면, 0으로 리셋될 수 없다. 디바이스 보호 비트가 1로 설정된 경우, RP#가 임의의 동작 중에 VHH로 유지되는 한 BLOCK PROTECT 또는 BLOCK UNPROTECT는 방지된다. 디바이스 보호 비트는 WRITE 또는 ERASE 동작들에는 영향을 주지 않는다. 블럭 및 디바이스 보호 동작들에 대한 상세한 정보를 위해서는 표 4를 참조하라.Run the DEVICE PROTECT sequence to set the device protection bit to 1 and prevent the block protection bit from changing. The command sequence required to execute DEVICE PROTECT is similar to WRITE. Three consecutive command cycles are needed to initiate the DEVICE PROTECT sequence. In the first cycle, LOAD COMMAND REGISTER is provided with PROTECT SETUP 60H at A0-A7, and bank addresses are issued at BA0, BA1. The bank address is "Don't Care" but the same bank address must be used for all three cycles. The next command is ACTIVE. The third cycle is WRITE, during which the DEVICE PROTECT (F1H) command is issued at DQ0-DQ7 and RP # goes to VHH. The ISM status bit is set at the following clock edges (affected by CAS latency). Executable commands may be issued to the device. RP # must be held to VHH until the WRITE operation completes (SR7 = 1). New WRITE operations are not allowed until the current ISM operation is completed. Once the device protection bit is set, it cannot be reset to zero. If the device protection bit is set to 1, BLOCK PROTECT or BLOCK UNPROTECT is prevented as long as RP # remains VHH during any operation. The device protection bit does not affect WRITE or ERASE operations. See Table 4 for more information on block and device protection operations.

ISM 상태 비트(SR7)가 설정된 후에, 디바이스/뱅크(SR0), 디바이스 보호(SR3), 뱅크A0(SR1), 뱅크A1(SR2), 기록/보호 블럭(SR4) 및 소거/비보호(SR5)상태 비트들이 체크될 수도 있다. SR3, SR4, SR5 중 하나의 상태 비트 또는 결합 상태 비트가 설정되었으면, 동작 중에 에러가 발생했다. ISM은 SR3, SR4 또는 SR5 비트들을 리셋할 수 없다. 상기 비트들을 클리어하기 위해, CLEAR STATUS REGISTER(50H) 커맨드가 제공되어야만 한다. 표 5는 에러들의 결합들을 열거한 것이다.After the ISM status bit (SR7) is set, device / bank (SR0), device protection (SR3), bank A0 (SR1), bank A1 (SR2), write / protect block (SR4), and erase / unprotect (SR5) states. The bits may be checked. If the status bit or the combined status bit of one of SR3, SR4, SR5 is set, an error occurred during operation. ISM cannot reset the SR3, SR4 or SR5 bits. To clear the bits, a CLEAR STATUS REGISTER (50H) command must be provided. Table 5 lists the combinations of errors.

동기식 플래시 메모리는 진보된 코드 및 데이터 스토리지 요구 사항들을 만족시키도록 설계 및 제조된다. 이러한 레벨의 신뢰성을 보장하기 위해, VCCP는 WRITE 또는 ERASE 사이클들 중에 Vcc로 되어야만 한다. 상기 한계점 외의 동작은 디바이스에서 실행될 수 있는 WRITE 및 ERASE 사이클들의 수를 감소시킬 수 있다. 각각의 블럭은 최소 100,000-WRITE/ERASE-사이클 내구성(endurance)을 위해 설계 및 처리된다.Synchronous flash memory is designed and manufactured to meet advanced code and data storage requirements. To ensure this level of reliability, the VCCP must be at Vcc during WRITE or ERASE cycles. Operation outside of the threshold may reduce the number of WRITE and ERASE cycles that may be executed in the device. Each block is designed and processed for at least 100,000-WRITE / ERASE-cycle endurance.

동기식 플래시 메모리는 전력을 보존하기 위해 어레이 판독 모드에서 사용될수도 있는 몇몇 전력-절약 기능들을 제공한다. 딥 파워-다운 모드는 RP#가 VSS±0.2V가 되게 함으로써 인에이블된다. 본 모드의 전류 드로(ICC)는 최대 50㎂로 로우이다. CS#가 HIGH일 때, 디바이스는 액티브 예비 모드가 된다. 본 모드에서, 전류는 최대 30㎃ ICC 전류로 로우이다. 기록, 소거 또는 보호 동작 중에 CS#가 HIGH가 될 때, ISM은 WRITE 동작을 계속하게 되고, 동작이 완료될 때까지 디바이스는 액티브 Iccp 전력을 소비한다.Synchronous flash memory provides several power-saving functions that may be used in array read mode to conserve power. Deep power-down mode is enabled by bringing RP # to VSS ± 0.2V. The current draw (ICC) in this mode is low at up to 50mA. When CS # is HIGH, the device is in active standby mode. In this mode, the current is low with up to 30 mA ICC current. When CS # goes high during a write, erase, or protect operation, the ISM continues the WRITE operation, and the device consumes active Iccp power until the operation is complete.

도 16을 참조하면, 본 발명의 한 실시예에 따른 셀프-타임 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 커맨드 레지스터(코드 40H)를 로드하는 단계, 액티브 커맨드 및 행 어레이를 수신하는 단계, 및 기록 커맨드 및 열 어드레스를 수신하는 단계를 포함한다. 그 후 기록이 완료되는지를 결정하기 위해 상태 레지스터 폴링을 위한 시퀀스가 제공된다. 폴링은 1로 설정되었는지를 결정하기 위해 상태 레지스터 비트 7(SR7)를 모니터한다. 선택 상태 체크가 포함될 수 있다. 기록이 완료될 때, 어레이는 어레이 판독 모드가 된다.Referring to FIG. 16, a flowchart of a self-time sequence in accordance with one embodiment of the present invention is shown. The sequence includes loading a command register (code 40H), receiving an active command and an array of rows, and receiving a write command and a column address. Then a sequence for status register polling is provided to determine if writing is complete. Polling monitors status register bit 7 (SR7) to determine if it is set to 1. A selection status check may be included. When writing is complete, the array is in array read mode.

도 17을 참조하면, 본 발명의 한 실시예에 따른 상태-체크 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 0으로 설정되었는지를 결정하기 위해 상태 레지스터 비트 4(SR4)를 검사한다. SR4가 1이면, 기록 동작 중에 에러가 있었던 것이다. 시퀀스는 0으로 설정되었는지를 결정하기 위해 상태 레지스터 비트 3(SR3)를 검사한다. SR3이 1이면, 기록 동작 중에 무효 기록 에러가 있었던 것이다.Referring to FIG. 17, a flowchart of a state-check sequence in accordance with one embodiment of the present invention is shown. The sequence checks for status register bit 4 (SR4) to determine if it is set to zero. If SR4 is 1, there is an error during the write operation. Examine status register bit 3 (SR3) to determine if the sequence is set to zero. If SR3 is 1, there is an invalid write error during the write operation.

도 18을 참조하면, 본 발명의 한 실시예에 따른 셀프-타임 블럭 소거 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 커맨드 레지스터(코드 20H)를 로드하는단계, 및 액티브 커맨드 및 행 어레이를 수신하는 단계를 포함한다. 그 후 메모리는 블럭이 보호되는지를 결정한다. 보호되지 않으면, 메모리는 블럭에 대한 기록 동작(D0H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 블럭이 보호되면, RP# 신호가 높은 전압(VHH)일 때까지 소거는 허용되지 않는다.Referring to FIG. 18, a flowchart of a self-time block erase sequence in accordance with one embodiment of the present invention is shown. The sequence includes loading a command register (code 20H) and receiving an active command and an array of rows. The memory then determines if the block is protected. If not protected, the memory executes a write operation (D0H) on the block and monitors the status register for completion. A selection status check can be performed and the memory is in array read mode. If the block is protected, erasure is not allowed until the RP # signal is at a high voltage (VHH).

도 19는 본 발명의 한 실시예에 따른 완전한 블럭 소거 상태-체크 시퀀스의 플로우챠트를 도시한 것이다. 시퀀스는 커맨드 시퀀스 에러가 발생했는지(SR4 또는 SR5 = 1)를 결정하기 위해 상태 레지스터를 모니터한다. SR3이 1로 설정되면, 무효 소거 또는 비보호 에러가 발생했다. 마지막으로, SR5가 1로 설정되면 블럭 소거 또는 비보호 에러가 발생했다.19 illustrates a flowchart of a complete block erase state-check sequence, in accordance with an embodiment of the present invention. The sequence monitors the status register to determine if a command sequence error has occurred (SR4 or SR5 = 1). When SR3 is set to 1, an invalid erase or unprotected error has occurred. Finally, if SR5 is set to 1, a block erase or unprotected error occurred.

도 20은 본 발명의 한 실시예에 따른 블럭 보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 블럭이 보호되는지를 결정한다. 보호되지 않으면, 메모리는 블럭에 대한 기록 동작(01H)를 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 블럭이 보호되면, RP# 신호가 높은 전압(VHH)이지 않는 한 소거는 허용되지 않는다.20 is a flowchart of a block protection sequence in accordance with an embodiment of the present invention. The sequence includes loading a command register (code 60H) and receiving an active command and a row address. The memory then determines if the block is protected. If not protected, the memory executes a write operation (01H) on the block and monitors the status register for completion. A selection status check can be performed and the memory is in array read mode. If the block is protected, erasure is not allowed unless the RP # signal is at a high voltage (VHH).

도 21을 참조하면, 본 발명의 한 실시예에 따른 완전한 블럭 상태-체크 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 에러가 검출되었는지를 결정하기 위해 상태 레지스터 비트들 3, 4 및 5를 모니터한다.Referring to Figure 21, a flowchart of a complete block state-checking sequence in accordance with one embodiment of the present invention is shown. The sequence monitors status register bits 3, 4 and 5 to determine if an error has been detected.

도 22는 본 발명의 한 실시예에 따른 디바이스 보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 RP#가 VHH인지를 결정한다. 메모리는 기록 동작(F1H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다.22 is a flowchart of a device protection sequence in accordance with an embodiment of the present invention. The sequence includes loading a command register (code 60H) and receiving an active command and a row address. The memory then determines if RP # is VHH. The memory executes the write operation F1H and monitors the status register for completion. A selection status check can be performed and the memory is in array read mode.

도 23은 본 발명의 한 실시예에 따른 블럭 비보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 메모리 디바이스가 보호되는지를 결정한다. 보호되지 않으면, 메모리는 부트 로케이션들(블럭들 0 및 15)이 보호되는지를 결정한다. 블럭들이 보호되지 않으면, 메모리는 블럭에 대한 기록 동작(D0H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 디바이스가 보호되면, RP# 신호가 높은 전압(VHH)이지 않는 한 소거는 허용되지 않는다. 유사하게, 부트 로케이션들이 보호되면, 메모리는 모든 블럭들이 비보호 상태인지를 결정한다.23 is a flowchart of a block unprotected sequence according to an embodiment of the present invention. The sequence includes loading a command register (code 60H) and receiving an active command and a row address. The memory then determines whether the memory device is protected. If not protected, the memory determines if boot locations (blocks 0 and 15) are protected. If the blocks are not protected, the memory executes a write operation D0H for the block and monitors the status register for completion. A selection status check can be performed and the memory is in array read mode. Once the device is protected, erasure is not allowed unless the RP # signal is at a high voltage (VHH). Similarly, if boot locations are protected, the memory determines whether all blocks are unprotected.

도 24는 초기화 및 로드 모드 레지스터 동작의 타이밍을 도시한 것이다. 모드 레지스터는 로드 모드 레지스터 커맨드를 제공하고 어드레스 라인들에서 연산 코드(opcode)를 제공함으로써 프로그램된다. 연산 코드는 모드 레지스터에 로드된다. 상술된 바와 같이, 비휘발성 모드 레지스터의 내용은 파워-업시 모드 레지스터에 자동으로 로드되고 로드 모드 레지스터 동작은 필요하지 않을 수도 있다.24 illustrates the timing of initialization and load mode register operations. The mode register is programmed by providing a load mode register command and providing an opcode on the address lines. The opcode is loaded into the mode register. As described above, the contents of the nonvolatile mode register are automatically loaded into the mode register upon power-up and no load mode register operation may be required.

도 25는 클록 중단 모드 동작의 타이밍을 도시한 것이고, 도 26은 다른 버스트 판독 동작의 타이밍을 도시한 것이다. 도 27은 교체 뱅크 판독 액세스들의 타이밍을 도시한 것이다. 여기서 액티브 커맨드가 뱅크 어드레스들을 변경하기 위해 필요하다. 전 페이지 버스트 판독 동작은 도 28에 도시되어 있다. 전 페이지 버스트는 자가 종료되지 않으면, 종료 커맨드를 필요로 함을 주지하라.FIG. 25 shows the timing of a clock interrupt mode operation, and FIG. 26 shows the timing of another burst read operation. 27 shows the timing of replacement bank read accesses. Here an active command is needed to change the bank addresses. The previous page burst read operation is shown in FIG. Note that all page bursts require a termination command unless they terminate themselves.

도 29는 데이터 마스크 신호를 사용하는 판독 동작의 타이밍을 도시한 것이다. DQM 신호가 Dout m+1이 DQ 커넥션들을 통해 제공되지 않도록 데이터 출력을 마스크하는데 사용된다.29 shows timing of a read operation using a data mask signal. The DQM signal is used to mask the data output so that Dout m + 1 is not provided over the DQ connections.

도 30을 참조하면, 상이한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍이 도시되어 있다. 본 동작에서, 기록은 뱅크 a에 대해 실행되고 다음 판독은 뱅크 b에 대해 실행된다. 동일한 행은 각각의 뱅크에서 액세스된다.Referring to Fig. 30, the timing of a write operation followed by a read for different banks is shown. In this operation, writing is performed for bank a and the next read is performed for bank b. The same row is accessed in each bank.

도 31을 참조하면, 동일한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍이 도시되어 있다. 본 동작에서, 기록은 뱅크 a에 대해 실행되고 다음 판독도 뱅크 a에 대해 실행된다. 상이한 행은 판독 동작중에 액세스되고, 메모리는 기록 동작이 완료되기 전에 대기해야만 한다. 이는 기록 동작으로 인해 판독이 지연되지 않는 도 30의 판독과 상이하다.Referring to Fig. 31, the timing of a write operation followed by a read on the same bank is shown. In this operation, writing is performed for bank a and the next read is also performed for bank a. Different rows are accessed during the read operation, and the memory must wait before the write operation is completed. This is different from the read of Fig. 30 in which the read is not delayed due to the write operation.

동기식 플래시 메모리는 레이턴시 프리 기록 동작을 제공한다. 이것은 시스템으로 하여금 기록 동작을 위한 레이턴시를 제공하도록 시스템에 요구하는 SDRAM과 다르며, 단지 판독 동작만 같다. 기록 동작은 SDRAM이 취하는 사이클 수만큼 시스템 버스로부터 취하지 않으며 따라서, 시스템 판독 처리량을 개선시킨다. 기록 데이터 Din이 기록 커맨드 및 열 어드레스와 동일한 클록 사이클에 제공되는 도12를 참조하라. 도 12의 클록 사이클 T1은 NOP 커맨드가 될 필요가 없다(도 30 참조). 판독 커맨드는 기록 데이터 이후 다음 클록 사이클에 제공될 수 있다. 따라서, 판독 동작이 기록 커맨드(레이턴시) 이후에 판독 DQ 커넥션이 소정의 클록 사이클의 횟수동안 유효하게 남아있도록 요구하는 반면, DQ 커넥션은 기록 커맨드가 제공된 이후에(레이턴시 없이) 즉시 사용될 수 있다. 따라서, 본 발명은 제로 버스 턴 어라운드 능력(zero bus turn around capability)을 허락한다. 이는 판독 및 기록 동작 사이를 진행하고 있을 때 버스상에서 다수의 웨이트(wait)가 요구되는 SDRAM 과 사실상 다르다. 동기 플래시는 이 2개의 특성을 제공하며, 버스 처리량을 개선할 수 있다.Synchronous flash memory provides latency free write operations. This is different from SDRAM, which requires the system to provide latency for the write operation, only the read operation is the same. The write operation does not take from the system bus as many cycles as the SDRAM takes, thus improving system read throughput. See Figure 12 where write data Din is provided in the same clock cycle as the write command and column address. Clock cycle T1 in FIG. 12 need not be a NOP command (see FIG. 30). The read command can be provided at the next clock cycle after the write data. Thus, while the read operation requires the read DQ connection to remain valid for a predetermined number of clock cycles after the write command (latency), the DQ connection can be used immediately after the write command is provided (without latency). Thus, the present invention allows zero bus turn around capability. This is virtually different from SDRAM, where a large number of waits are required on the bus when going between read and write operations. Synchronous flash offers these two characteristics and can improve bus throughput.

도 32를 참조하면, 본 발명의 시스템(300)은 DQ 입력(306)에서 수신된 기록 데이터를 저장하기 위해 사용되는 내부 기록 래치(304)를 갖는 동기 메모리(302)를 포함한다. 기록 래치는 메모리 어레이(310)에 결합되어 있다. 다시, 메모리 어레이는 다수의 어드레서블 블럭으로 배열될 수 있다. 데이터는 판독 동작이 다른 블럭에서 수행되는 동안 하나의 블럭에 기록될 수 있다. 어레이의 메모리 셀들은 비휘발성 메모리 셀이 될 수 있다. 데이터 통신 커넥션(306)은 프로세서(320) 또는 다른 메모리 컨트롤러와 같은 외부 디바이스와의 양방향 데이터 통신을 위해 사용된다.Referring to FIG. 32, the system 300 of the present invention includes a synchronous memory 302 having an internal write latch 304 used to store write data received at the DQ input 306. The write latch is coupled to the memory array 310. Again, the memory array may be arranged in a number of addressable blocks. Data can be written to one block while a read operation is performed on another block. The memory cells of the array may be nonvolatile memory cells. The data communication connection 306 is used for bidirectional data communication with an external device, such as the processor 320 or another memory controller.

데이터 버퍼(330)는 데이터 통신 커넥션에 결합되어 양방향 데이터 통신을 관리할 수 있다. 이 버퍼는 통상 FIFO 또는 파이프라인된 입력/출력 버퍼 회로가 될 수 있다. 기록 래치는 데이터 버퍼와 메모리 어레이 사이에 결합되어 데이터통신 커넥션상에 제공된 데이터를 래치한다. 결국, 컨트롤 회로가 그 어레이에서 수행되는 판독 및 기록 동작을 관리하기 위해 제공된다.The data buffer 330 may be coupled to a data communication connection to manage bidirectional data communication. This buffer can typically be a FIFO or pipelined input / output buffer circuit. The write latch is coupled between the data buffer and the memory array to latch the data provided on the data communication connection. As a result, control circuitry is provided to manage the read and write operations performed on the array.

입력 기록 데이터를 래치함으로써, 데이터 버스(306)(DQ의 데이터 버스)는 해제될 수 있고, 기록 동작이 래치된 데이터를 사용하여 수행될 수 있다. 메모리에의 후속적인 기록 동작은 제1 기록 동작이 수행되는 동안 방지될 수 있다. 그러나, 그 버스는 메모리 상에서 판독 동작을 즉시 수행하는데 유효하다.By latching the input write data, the data bus 306 (data bus of DQ) can be released and the write operation can be performed using the latched data. Subsequent write operations to the memory can be prevented while the first write operation is performed. However, the bus is effective for performing a read operation on memory immediately.

본 발명은 종래의 입력/출력 버퍼 구조와 혼동될 수 없다. 즉, 종래의 메모리 디바이스가 DQ 입력 경로상의 입력 버퍼 및 DQ 출력 경로상의 출력 버퍼를 사용한 것에 비해, 판독 및 기록 동작 모두를 위해 사용되는 클록 레이턴시는 동일하게 유지된다. 본 발명은 DQ 커넥션에 의한 인터페이스 및 외부 프로세서를 제공하기 위한 입력/출력 버퍼를 포함할 수 있다. 부가적인 기록 래치는 메모리로 하여금 기록 경로/동작을 메모리중의 하나의 영역으로 분리시키도록 허락하며, 반면에 판독 동작을 다른 메모리의 영역에 허락한다.The present invention cannot be confused with a conventional input / output buffer structure. That is, compared to conventional memory devices using input buffers on the DQ input path and output buffers on the DQ output path, the clock latency used for both read and write operations remains the same. The present invention may include an input / output buffer for providing an interface by an DQ connection and an external processor. Additional write latches allow the memory to separate write paths / operations into one area of memory, while allowing read operations to areas of another memory.

동시 판독 및 기록 동작Simultaneous Read and Write Operations

이전의 플래시 메모리 디바이스는 매우 제한된 동시 동작 능력을 갖고 있다. 즉, 이전의 플래시 메모리는 통상적으로 기록 동작이 수행되는 동안에 메모리로부터의 판독을 차단하였다. 어떤 메모리 디바이스는 진행중인 기록 동작을 일시 정지시킴으로써 기록 동안에 판독을 허락하고 그후에 어레이의 판독을 허락하였다. 그러나, 다른 플래시 메모리는 메모리의 나머지 섹터는 판독을 위해 유효한 동안 기록될 수 있는 제한된 섹터를 제공함으로써 판독-동시에-기록을 허용할 수 있었다. 그러한 플래시 메모리의 목적은 시스템 내의 개별 EEPROM에 대한 필요를 제거하는 것이다. 제한된 섹터 스페이스는 플래시 내에 EEPROM 로케이션을 제공하며, 메모리의 나머지 부분을 플래시 동작을 위해 남겨둔다. 그러나, 이런 플래시 메모리는 기록 동작이 수행될 수 있는 동안에 메모리 어레이의 전체에 판독이 수행될 수 있도록 허락하지 않는다.Previous flash memory devices have very limited concurrent operation capabilities. In other words, previous flash memory typically blocked reading from the memory while a write operation was being performed. Some memory devices have allowed reading during writing by pausing an ongoing write operation and then reading the array. However, other flash memories could allow read-simultaneous-write by providing a limited sector that can be written while the remaining sectors of the memory are valid for reading. The purpose of such flash memory is to eliminate the need for an individual EEPROM in the system. Limited sector space provides EEPROM location within flash, leaving the rest of the memory for flash operation. However, such flash memory does not allow reads to be performed to the entirety of the memory array while a write operation can be performed.

본 발명은 SDRAM과 유사한 뱅크 구조로 배열된 플래시 어레이를 제공한다. 일 실시예에서, 64M 동기 플래시는 64M SDRAM과 동일한 어드레싱을 갖는 4개의 16M 뱅크로 나뉜다. 이들 뱅크는 또한 삭제될 수도 있고, 프로그램될 수도 있는 더욱 작은 어드레서블 4M 섹터들로 나뉜다. 메모리는 뱅크마다 동시 판독과 기록을 허락한다. 따라서 하나의 뱅크는 동시의 판독이 다른 어떤 뱅크에서 실행되는 동안 기록될 수 있다. 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 공지된 바와 같이, SDRAM은 하나의 커먼 행을 각 뱅크에서 오픈인채로 갖는다. 판독 및 기록 동작은 오픈 행 및 어레이 뱅크를 통해 시퀀스적으로 수행될 수 있다.The present invention provides a flash array arranged in a bank structure similar to SDRAM. In one embodiment, the 64M synchronous flash is divided into four 16M banks with the same addressing as 64M SDRAM. These banks are also divided into smaller addressable 4M sectors that may be deleted and programmed. The memory allows simultaneous reads and writes per bank. Thus, one bank can be written while simultaneous reads are performed in some other bank. As is known to those skilled in the art, the SDRAM has one common row open in each bank. Read and write operations can be performed sequentially through open rows and array banks.

본 동기식 플래시 메모리는 뱅크중의 하나가 기록되고 있는 동안 한 행이 각 뱅크에서 오픈이 되도록 허락하는 SDRAM과 유사한 뱅크 구조를 갖는다. 도 33을 참조하면, 본 발명의 프로세싱 시스템(400)의 일 실시예가 도시되어 있다. 동기식 플래시 메모리(410)는 양방향 데어터 버스(435)를 통해 다수의 프로세서(440, 442, 444, 446)에 결합되어 있다. 메모리는 다수의 뱅크(412, 414, 416, 418)로 배열된 비휘발성 메모리 셀의 어레이를 포함한다. 판독/기록 회로(430)는 일반적으로 어레이로서 데이터 통신을 관리하기 위한 것으로 설명된다. 동작시, 프로세서(440)와 같은 프로세서는 어레이 뱅크(412)의 행(420)의 기록 동작을 초기화할 수 있다. 기록 동작이 수행되는 동안, 프로세서(442)와 같은 제2 프로세서는 제2 어레이 뱅크의 행(420)으로부터 데이터를 판독할 수 있다. 이것은 4개의 프로세서가 독립적으로 동기식 플래시 메모리 디바이스를 작동하도록 허용한다. 본 발명은 4개의 뱅크나 4개의 프로세서로 한정되지 않는다. 하나 또는 다수의 프로세서는 나머지 메모리 어레이 뱅크(도 32 참조)로부터의 데이터를 판독하는 동안에 하나의 뱅크에 기록 동작을 수행할 수 있다. 따라서, 동시 기록 및 다수의 동시 판독 동작이 진행될 수 있다.This synchronous flash memory has a bank structure similar to SDRAM which allows one row to be opened in each bank while one of the banks is being written. Referring to Figure 33, one embodiment of a processing system 400 of the present invention is shown. Synchronous flash memory 410 is coupled to multiple processors 440, 442, 444, 446 via a bidirectional data bus 435. The memory includes an array of nonvolatile memory cells arranged in a number of banks 412, 414, 416, 418. Read / write circuit 430 is generally described as managing an array of data communications as an array. In operation, a processor, such as processor 440, may initiate the write operation of row 420 of array bank 412. While the write operation is being performed, a second processor, such as processor 442, may read data from row 420 of the second array bank. This allows four processors to operate synchronous flash memory devices independently. The invention is not limited to four banks or four processors. One or more processors may perform write operations to one bank while reading data from the remaining memory array banks (see FIG. 32). Thus, simultaneous write and multiple simultaneous read operations can proceed.

결론conclusion

비휘발성 메모리 셀 어레이를 포함하는 동기식 플래시 메모리가 기술되었다. 메모리 어레이는 행렬로 배열되고, 어드레서블 블럭으로 더 배열될 수 있다. 데이터 통신 커넥션은 프로세서 또는 다른 메모리 컨트롤러와 같은 외부 디바이스(들)와의 양방향 데이터 통신을 위해 사용된다. 기록 래치는 데이터 통신 커넥션에 제공된 데이터를 래치하기 위해 데이터 버퍼와 메모리 어레이 사이에 결합된다. 메모리는 데이터가 제2 메모리 어레이 블럭과 같은 제2 로케이션으로부터 판독되는 동안, 메모리 어레이 블럭과 같은 하나의 로케이션에 데이터를 기록할 수 있다. 기록 및 판독 동작은 어레이 블럭의 커먼 어드레서블 행에 수행된다.A synchronous flash memory has been described that includes a nonvolatile memory cell array. The memory array may be arranged in a matrix, and further arranged in addressable blocks. The data communication connection is used for bidirectional data communication with external device (s) such as a processor or other memory controller. The write latch is coupled between the data buffer and the memory array to latch data provided to the data communication connection. The memory may write data to one location, such as a memory array block, while the data is read from a second location, such as a second memory array block. Write and read operations are performed on the common addressable rows of the array block.

Claims (23)

비휘발성 메모리에 있어서,Non-volatile memory, 복수의 어드레서블 뱅크들로 배열된 비휘발성 메모리 셀 어레이; 및A nonvolatile memory cell array arranged into a plurality of addressable banks; And 상기 어레이에 결합된 판독/기록 회로Read / write circuit coupled to the array 를 포함하며,Including; 상기 판독/기록 회로는 상기 복수의 어드레서블 뱅크들 중의 제1 뱅크에 제1 데이터를 기록하고, 동시에 상기 복수의 어드레서블 뱅크들 중의 제2 뱅크로부터 제2 데이터를 판독하는 것을 특징으로 하는 비휘발성 메모리.The read / write circuit writes first data in a first bank of the plurality of addressable banks and simultaneously reads second data from a second bank of the plurality of addressable banks. Nonvolatile Memory. 제1항에 있어서,The method of claim 1, 상기 판독/기록 회로는 외부 데이터 통신 커넥션들에 제공된 상기 제1 데이터를 저장하기 위한 기록 래치를 포함하는 것을 특징으로 하는 비휘발성 메모리.And said read / write circuit comprises a write latch for storing said first data provided to external data communication connections. 제1항에 있어서,The method of claim 1, 상기 복수의 어드레서블 뱅크들은 4개의 블럭을 포함하는 것을 특징으로 하는 비휘발성 메모리.And the plurality of addressable banks includes four blocks. 제1항에 있어서,The method of claim 1, 상기 판독/기록 회로는 제1 외부 프로세서로부터 상기 제1 데이터를 수신하고, 상기 판독/기록 회로는 제2 외부 프로세서에 응답하여 상기 제2 데이터를 제공하는 것을 특징으로 하는 비휘발성 메모리.And the read / write circuit receives the first data from a first external processor, and the read / write circuit provides the second data in response to a second external processor. 제1항에 있어서,The method of claim 1, 상기 판독/기록 회로는 상기 복수의 어드레서블 뱅크들 중의 상기 제1 뱅크의 어레이 행에 상기 제1 데이터를 기록하고, 동시에 상기 복수의 어드레서블 뱅크들 중의 상기 제2 뱅크의 어레이 행으로부터 상기 제2 데이터를 판독하는 것을 특징으로 하는 비휘발성 메모리.The read / write circuit writes the first data to an array row of the first bank of the plurality of addressable banks, and simultaneously reads the first data from the array row of the second bank of the plurality of addressable banks. And non-volatile memory. 제1항에 있어서,The method of claim 1, 상기 비휘발성 메모리는 동기 비휘발성 메모리인 것을 특징으로 하는 비휘발성 메모리.And the nonvolatile memory is a synchronous nonvolatile memory. 비휘발성 메모리에 있어서,Non-volatile memory, 복수의 어드레서블 뱅크들로 배열된 비휘발성 메모리 셀 어레이;A nonvolatile memory cell array arranged into a plurality of addressable banks; 외부 데이터 통신 커넥션들에 제공된 제1 데이터를 저장하기 위한 기록 래치; 및A write latch for storing first data provided to external data communication connections; And 상기 어레이에 결합된 판독/기록 회로Read / write circuit coupled to the array 를 포함하고,Including, 상기 판독/기록 회로는 상기 복수의 어드레서블 뱅크들중의 제1 뱅크에 상기제1 데이터를 기록하고, 동시에 상기 복수의 어드레서블 뱅크들중의 제2 뱅크로부터 제2 데이터를 판독하는 것을 특징으로 하는 비휘발성 메모리.The read / write circuit writes the first data in a first bank of the plurality of addressable banks and simultaneously reads second data from a second bank of the plurality of addressable banks. Non-volatile memory characterized by. 제7항에 있어서,The method of claim 7, wherein 상기 판독/기록 회로는 제1 외부 프로세서로부터 상기 제1 데이터를 수신하고, 상기 판독/기록 회로는 제2 외부 프로세서에 응답하여 상기 제2 데이터를 제공하는 것을 특징으로 하는 비휘발성 메모리.And the read / write circuit receives the first data from a first external processor, and the read / write circuit provides the second data in response to a second external processor. 프로세싱 시스템에 있어서,In the processing system, 프로세서; 및A processor; And 상기 프로세서에 결합된 비휘발성 메모리Non-volatile memory coupled to the processor 를 포함하고,Including, 상기 비휘발성 메모리는,The nonvolatile memory, 복수의 어드레서블 뱅크들로 배열된 비휘발성 메모리 셀 어레이, 및A nonvolatile memory cell array arranged into a plurality of addressable banks, and 상기 어레이에 결합된 판독/기록 회로를 포함하고,A read / write circuit coupled to the array, 상기 판독/기록 회로는 상기 복수의 어드레서블 뱅크들 중의 제1 뱅크에 상기 프로세서에 의해 제공된 제1 데이터를 기록하고, 상기 복수의 어드레서블 뱅크들 중의 제2 뱅크로부터 제2 데이터를 판독하여, 상기 제2 데이터를 상기 프로세서에 제공하는 것을 특징으로 하는 프로세싱 시스템.The read / write circuit writes first data provided by the processor to a first bank of the plurality of addressable banks, and reads second data from a second bank of the plurality of addressable banks. And provide the second data to the processor. 제9항에 있어서,The method of claim 9, 상기 제1 데이터를 저장하기 위한 기록 래치를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.And a write latch for storing the first data. 프로세싱 시스템에 있어서,In the processing system, 제1 및 제2 프로세서; 및First and second processors; And 상기 제1 및 제2 프로세서에 결합된 비휘발성 메모리Non-volatile memory coupled to the first and second processors 를 포함하고,Including, 상기 비휘발성 메모리는,The nonvolatile memory, 복수의 어드레서블 뱅크들로 배열된 비휘발성 메모리 셀 어레이,A nonvolatile memory cell array arranged in a plurality of addressable banks, 기록 데이터를 저장하기 위해 상기 어레이에 결합된 데이터 래치, 및A data latch coupled to the array for storing write data, and 상기 어레이에 결합된 판독/기록 회로를 포함하며,A read / write circuit coupled to the array, 상기 판독/기록 회로는 상기 복수의 어드레서블 뱅크들 중의 제1 뱅크에 상기 제1 프로세서에 의해 제공된 제1 데이터를 기록하고, 동시에 상기 복수의 어드레서블 뱅크들 중의 두번째 뱅크로부터 제2 데이터를 판독하여, 상기 제2 데이터를 상기 제2 프로세서에 제공하는 것을 특징으로 하는 프로세싱 시스템.The read / write circuit writes first data provided by the first processor to a first bank of the plurality of addressable banks, and simultaneously writes second data from a second bank of the plurality of addressable banks. Reads and provides the second data to the second processor. 비휘발성 메모리 동작 방법에 있어서,In the non-volatile memory operation method, 상기 비휘발성 메모리의 메모리 어레이내의 제1 뱅크 로케이션에 제1 데이터를 기록하는 과정; 및Writing first data to a first bank location within a memory array of the nonvolatile memory; And 거의 동시에 상기 비휘발성 메모리의 상기 메모리 어레이의 제2 뱅크 로케이션으로부터 제2 데이터를 판독하는 과정Reading second data from a second bank location of the memory array of the non-volatile memory at about the same time. 을 포함하는 것을 특징으로 하는 비휘발성 메모리 동작 방법.Non-volatile memory operation method comprising a. 제12항에 있어서,The method of claim 12, 상기 제1 데이터는 외부 프로세서를 통해 상기 비휘발성 메모리에 제공되는 것을 특징으로 하는 비휘발성 메모리 동작 방법.And the first data is provided to the nonvolatile memory through an external processor. 제12항에 있어서,The method of claim 12, 상기 제1 데이터는 상기 제1 외부 프로세서를 통해 상기 비휘발성 메모리에 제공되고, 상기 방법은 상기 제2 데이터를 제2 외부 프로세서에 출력하는 과정을 더 포함하는 것을 특징으로 하는 비휘발성 메모리 동작 방법.And the first data is provided to the nonvolatile memory through the first external processor, and the method further comprises outputting the second data to a second external processor. 제12항에 있어서,The method of claim 12, 제1 데이터의 기록 과정 및 제2 데이터의 판독 과정 이전에, 상기 제1 및 제2 블랭크 로케이션의 커먼 어드레서블 행을 액세싱하는 과정을 더 포함하는 것을 특징으로 하는 비휘발성 메모리 동작 방법.And accessing the common addressable rows of the first and second blank locations prior to the writing of the first data and the reading of the second data. 제12항에 있어서,The method of claim 12, 상기 제1 데이터를 기록하는 과정은 상기 메모리 어레이내 상기 제1 뱅크 로케이션에 상기 제1 데이터를 기록하는 과정 이전에, 래치 회로에 상기 제1 데이터를 저장하는 과정을 포함하는 것을 특징으로 하는 비휘발성 메모리 동작 방법.The writing of the first data may include storing the first data in a latch circuit before writing the first data to the first bank location in the memory array. How memory works. 메모리 디바이스 동작 방법에 있어서,In the memory device operating method, 외부적으로 제공된 제1 데이터를 수신하는 과정;Receiving first externally provided data; 기록 래치에 상기 제1 데이터를 저장하는 과정;Storing the first data in a write latch; 상기 메모리의 메모리 어레이내 제1 뱅크 로케이션에 상기 기록 래치로부터의 상기 제1 데이터를 기록하는 과정; 및Writing the first data from the write latch to a first bank location in a memory array of the memory; And 거의 동시에 상기 메모리의 상기 메모리 어레이내 제2 뱅크 로케이션으로부터 제2 데이터를 판독하는 과정Reading second data from a second bank location in the memory array of the memory at about the same time. 을 포함하는 것을 특징으로 하는 메모리 디바이스 동작 방법.The method of operating a memory device comprising a. 제17항에 있어서,The method of claim 17, 상기 제1 데이터는 외부 프로세서에 의해 제공되는 것을 특징으로 하는 메모리 디바이스 동작 방법.And wherein said first data is provided by an external processor. 제18항에 있어서,The method of claim 18, 상기 제2 데이터를 상기 외부 프로세서에 출력하는 과정을 더 포함하는 것을 특징으로 하는 메모리 디바이스 동작 방법.And outputting the second data to the external processor. 제17항에 있어서,The method of claim 17, 상기 제1 데이터는 제1 외부 프로세서에 의해 제공되며, 상기 방법은 상기 제2 데이터를 제2 외부 프로세서에 출력하는 과정을 더 포함하는 것을 특징으로 하는 메모리 디바이스 동작 방법.And wherein the first data is provided by a first external processor, the method further comprises outputting the second data to a second external processor. 비휘발성 메모리 디바이스 동작 방법에 있어서,A method of operating a nonvolatile memory device, 상기 메모리에 결합된 제1 외부 프로세서로부터 제1 데이터를 수신하는 과정;Receiving first data from a first external processor coupled to the memory; 기록 래치에 상기 제1 데이터를 저장하는 과정;Storing the first data in a write latch; 상기 기록 래치로부터의 상기 제1 데이터를 상기 비휘발성 메모리 디바이스의 메모리 어레이내 제1 로케이션에 기록하는 과정;Writing the first data from the write latch to a first location in a memory array of the nonvolatile memory device; 거의 동시에 상기 비휘발성 메모리 디바이스의 상기 메모리 어레이내 제2 로케이션으로부터 제2 데이터를 판독하는 과정; 및Reading second data from a second location in the memory array of the nonvolatile memory device at about the same time; And 상기 메모리 디바이스에 결합된 제2 외부 프로세서에 상기 제2 데이터를 출력하는 과정Outputting the second data to a second external processor coupled to the memory device 을 포함하는 것을 특징으로 하는 비휘발성 메모리 디바이스 동작 방법.And operating the non- volatile memory device. 제21항에 있어서,The method of claim 21, 상기 제1 및 제2 로케이션은 상기 메모리 어레이의 제1 및 제2 어드레서블 블럭인 것을 특징으로 하는 비휘발성 메모리 디바이스 동작 방법.And wherein the first and second locations are first and second addressable blocks of the memory array. 제22항에 있어서,The method of claim 22, 상기 제1 데이터는 상기 제1 블럭의 행에 기록되고, 제2 데이터는 상기 제2 블럭의 커먼 행으로부터 판독되는 것을 특징으로 하는 비휘발성 메모리 디바이스 동작 방법.And wherein the first data is written to a row of the first block and the second data is read from a common row of the second block.
KR10-2002-7013090A 2000-03-30 2001-03-30 Synchronous flash memory with concurrent write and read operation KR100438634B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US19350600P 2000-03-30 2000-03-30
US60/193,506 2000-03-30
US09/628,184 US6851026B1 (en) 2000-07-28 2000-07-28 Synchronous flash memory with concurrent write and read operation
US09/628,184 2000-07-28

Publications (2)

Publication Number Publication Date
KR20020086746A true KR20020086746A (en) 2002-11-18
KR100438634B1 KR100438634B1 (en) 2004-07-02

Family

ID=26889068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7013090A KR100438634B1 (en) 2000-03-30 2001-03-30 Synchronous flash memory with concurrent write and read operation

Country Status (5)

Country Link
JP (1) JP3779209B2 (en)
KR (1) KR100438634B1 (en)
AU (1) AU2001251169A1 (en)
DE (1) DE10196002B3 (en)
WO (1) WO2001075892A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011216A1 (en) 2004-07-29 2006-02-02 Spansion Llc Method for setting information in non-volatile storage device, non-volatile storage device, and system using the same
JPWO2007023544A1 (en) * 2005-08-25 2009-03-26 スパンション エルエルシー Storage device, storage device control method, and storage control device control method
JP2007164938A (en) 2005-12-16 2007-06-28 Matsushita Electric Ind Co Ltd Semiconductor memory apparatus
US7639540B2 (en) 2007-02-16 2009-12-29 Mosaid Technologies Incorporated Non-volatile semiconductor memory having multiple external power supplies
KR101293226B1 (en) 2011-06-30 2013-08-05 (주)아토솔루션 Nonvolatile memory device, electronic control system, and method of operating the nonvolatile memory device
US11269779B2 (en) 2020-05-27 2022-03-08 Microsoft Technology Licensing, Llc Memory system with a predictable read latency from media with a long write latency
DE102021107044A1 (en) 2021-03-10 2022-09-15 Elmos Semiconductor Se Safety-relevant computer system with a data memory and a data memory
CN113343319B (en) * 2021-06-29 2024-04-02 珠海一微半导体股份有限公司 FLASH type identification method and type identification system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
JP3435783B2 (en) * 1994-03-17 2003-08-11 株式会社日立製作所 Storage element including a plurality of sets of data buffers and data processing system using the storage element
US5666322A (en) * 1995-09-21 1997-09-09 Nec Electronics, Inc. Phase-locked loop timing controller in an integrated circuit memory
JP3570879B2 (en) * 1997-07-09 2004-09-29 富士通株式会社 Nonvolatile semiconductor memory device
JP3386705B2 (en) * 1997-12-25 2003-03-17 株式会社東芝 Semiconductor memory device and burst address counter thereof

Also Published As

Publication number Publication date
WO2001075892A2 (en) 2001-10-11
JP3779209B2 (en) 2006-05-24
KR100438634B1 (en) 2004-07-02
DE10196002B3 (en) 2012-11-08
DE10196002T1 (en) 2003-03-13
WO2001075892A3 (en) 2002-05-23
JP2003529880A (en) 2003-10-07
AU2001251169A1 (en) 2001-10-15

Similar Documents

Publication Publication Date Title
KR100438635B1 (en) Elimination of precharge operation in synchronous flash memory
KR100511820B1 (en) Synchronous flash memory with status burst output
US6892270B2 (en) Synchronous flash memory emulating the pin configuration of SDRAM
US6459617B1 (en) Method and circuitry for bank tracking in write command sequence
US6615307B1 (en) Flash with consistent latency for read operations
US7197607B2 (en) Non-volatile memory with concurrent write and read operation to differing banks
US6920522B2 (en) Synchronous flash memory with accessible page during write
US7278004B2 (en) Burst write in a non-volatile memory device
US20030117877A1 (en) Flash memory with multiple status reading capability
US20030137885A1 (en) Burst read addressing in a non-volatile memory device
US7054992B2 (en) Synchronous flash memory with non-volatile mode register
US20050073894A1 (en) Zero latency-zero bus turnaround synchronous flash memory
JP4902325B2 (en) Synchronous flash memory with zero latency and zero bus turnaround functions
KR100508042B1 (en) Flash with consistent latency for read operations
KR100508041B1 (en) Interface command architecture for synchronous flash memory
KR100438634B1 (en) Synchronous flash memory with concurrent write and read operation
KR100507589B1 (en) Synchronous flash memory with non-volatile mode register
KR100499292B1 (en) Synchronous flash memory

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: 20090609

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee