KR100508041B1 - 동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐 - Google Patents

동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐 Download PDF

Info

Publication number
KR100508041B1
KR100508041B1 KR10-2002-7013095A KR20027013095A KR100508041B1 KR 100508041 B1 KR100508041 B1 KR 100508041B1 KR 20027013095 A KR20027013095 A KR 20027013095A KR 100508041 B1 KR100508041 B1 KR 100508041B1
Authority
KR
South Korea
Prior art keywords
command
register
signal
data
write
Prior art date
Application number
KR10-2002-7013095A
Other languages
English (en)
Other versions
KR20030014379A (ko
Inventor
프랭키에 에프. 루파바
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20030014379A publication Critical patent/KR20030014379A/ko
Application granted granted Critical
Publication of KR100508041B1 publication Critical patent/KR100508041B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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
    • 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
    • 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
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • 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
    • G11C7/1045Read-write mode select 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion 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/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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/105Aspects related to pads, pins or terminals
    • 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

동기식 플래시 메모리는 비휘발성 메모리 셀 어레이를 포함한다. 메모리 디바이스는 SDRAM과 호환가능한 패키지 구성을 갖는다. 메모리 디바이스는 비휘발성 메모리 셀 어레이, 및 플래시 메모리를 동작을 제어하는데 사용되는 커맨드 데이터를 저장하기 위한 커맨드 레지스터를 포함한다. 동작시, 커맨드 레지스터는 열 어드레스 스트로브(CAS#) 신호, 행 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합을 이용하여 커맨드 레지스터 로드 동작을 초기화함으로써 로딩된다.

Description

동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐{INTERFACE COMMAND ARCHITECTURE FOR SYNCHRONOUS FLASH MEMORY}
본 발명은 일반적으로 비휘발성 메모리 디바이스들에 관한 것으로 특히 동기 비휘발성 플래시 메모리에 관한 것이다.
메모리 디바이스는 컴퓨터의 내부 기억 영역들로 통상 제공된다. 메모리라는 용어는 집적 회로 칩들의 형태로 되어 있는 데이터 스토리지와 관계된다. 몇몇 상이한 타입의 메모리들이 있다. 한가지 타입은 RAM(randon-access memory)이다. 이는 통상 컴퓨터 환경에서 메인 메모리로 사용된다. RAM은 판독 및 기록 메모리와 관련된다; 즉, RAM에 데이터를 기록할 수도 있고 RAM으로부터 데이터를 판독할 수도 있다. 이는 ROM과 대조되는 것으로, ROM에서는 데이터 판독만을 허용한다. 대부분의 RAM은 휘발성인데, 이는 내용을 유지하기 위해 고정적인 전기의 흐름(steady flow)이 필요함을 의미한다. 전력이 턴 오프되자 마자, RAM의 데이터는 무엇이었던건 간에 손실된다.
컴퓨터들은 거의 항상 컴퓨터를 가동하기 위한 명령들을 보유하는 소량의 판독 전용 메모리(ROM)를 포함한다. RAM과 달리, ROM에는 기록될 수 없다. EEPROM(electrically erasable programmable read-only memory)은 전기 전하에 노출시킴으로써 소거될 수 있는 특정 타입의 비휘발성 ROM이다. 다른 타입들의 ROM처럼, EEPROM은 전형적으로 RAM만큼 빠르지 않다. EEPROM은 전기적으로 격리된 게이트들(플로팅 게이트들)을 갖는 다수의 메모리 셀들을 포함한다. 데이터는 플로팅 게이트들의 전하 형태로 메모리 셀들에 저장된다. 전하는 각각 프로그래밍 및 소거 동작들에 의해 플로팅 게이트들에 전송되거나 플로팅 게이트들로부터 제거된다.
비휘발성 메모리의 또 다른 타입은 플래시 메모리이다. 플래시 메모리는 한번에 한 바이트 대신 블록들로 소거 및 재프로그램될 수 있는 일종의 EEPROM이다. 다수의 현대 PCS는 플래시 메모리 칩에 저장된 BIOS를 가짐으로써 필요한 경우 쉽게 갱신될 수 있다. BIOS는 종종 플래시 BIOS라고도 한다. 플래시 메모리는 또한 모뎀에서 인기가 있는데 표준화되어서 모뎀 제조자가 새로운 프로토콜들을 지원할 수 있기 때문이다.
전형적인 플래시 메모리는 행 및 열 방식으로 배치된 다수의 메모리 셀들을 포함하는 메모리 어레이를 포함한다. 각각의 메모리 셀들은 전하를 보유할 수 있는 플로팅 게이트 전계 효과 트랜지스터를 포함한다. 셀들은 통상 블록들로 그룹화된다. 블록 내의 각각의 셀들은 플로팅 게이트를 충전함으로써 임의의 방식으로 전기적으로 프로그램될 수 있다. 전하는 블록 소거 동작에 의해 플로팅 게이트로부터 제거될 수 있다. 셀 데이터는 플로팅 게이트의 전하의 존재 또는 부재에 의해 결정된다.
동기 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을 사용해서 동작하도로 설계되지만, 비휘발성 메모리를 사용하는 것이 더 유익하다.
상술된 이유들로 인해, 또한 본 명세서를 판독하고 이해할 때 본 기술 분야에 숙련된 자들에게 명백해질 후술된 다른 이유들로 인해, 본 기술 분야에서는 SDRAM 동작과 유사한 방식으로 동작할 수 있는 비휘발성 메모리 디바이스가 필요하다. 특히, 동시의 판독 및 기록 동작을 동시에 허락하는 동기 비휘발성 메모리가 필요하다.
<요약>
메모리 디바이스들과 관련된 상술된 문제점들 및 다른 문제점들은 본 발명에 의해 다루어질 것이고 이하의 명세서를 판독 및 연구함으로써 이해될 것이다.
한 실시예에서, 본 발명은 현존 SDRAM 팩키지 핀 할당과 호환 가능한 비휘발성 동기식 플래시 메모리를 제공한다. 상세한 설명을 판독할 때 SDRAM 애플리케이션에 대해 알고 있는 시스템 설계자들은 쉽게 본 발명을 구현하여 시스템 동작을 향상시킬 수 있음이 명백하다.
한 실시예에서, 동기식 플래시 메모리 디바이스는 비휘발성 메모리 셀 어레이, 및 플래시 메모리 동작을 제어하는데 사용되는 커맨드 데이터를 저장하기 위한 커맨드 레지스터를 포함한다. 커맨드 레지스터는 행 어드레스 스트로브(CAS#) 신호, 열 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합을 이용하여 초기화되는 로드 커맨드 레지스터 동작 모드를 이용하여 로드될 수 있다.
다른 실시예에서, 동기식 플래시 메모리 디바이스는 비휘발성 메모리 셀 어레이, 및 플래시 메모리 동작을 제어하는데 사용되는 데이터 커맨드를 저장하기 위한 커맨드 레지스터를 포함한다. 커맨드 레지스터는 SDRAM의 리프레시 커맨드와 등가인 로드 커맨드에 응답하여 커맨드 데이터를 수신하도록 결합된다.
동기식 플래시 메모리에서 커맨드를 제공하는 방법이 또한 제공된다. 상기 방법은 열 어드레스 스트로브(CAS#) 신호, 행 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합을 이용하여 커맨드 레지스터 로드 동작을 초기화하는 단계, 및 상기 커맨드 레지스터 로드 동작에 응답하여 상기 동기식 플래시 메모리의 어드레스 접속부를 이용하여 상기 커맨드 레지스터에 커맨드 데이터를 로딩하는 단계를 포함한다.
도 1A는 본 발명의 동기식 플래시 메모리의 블록도이다.
도 1B는 본 발명의 한 실시예의 집적 회로 핀 인터커넥트 도면이다.
도 1C는 본 발명의 한 실시예의 집적 회로 인터커넥트 범프 그리드 어레이 도면이다.
도 2는 본 발명의 한 실시예의 모드 레지스터를 도시한 도면이다.
도 3은 1, 2 및 3 클록 사이클들의 CAS 레이턴시를 갖는 판독 동작들을 도시한 도면이다.
도 4는 본 발명의 한 실시예의 메모리 뱅크의 특정 행을 활성화하는 도면이다.
도 5는 액티브 커맨드 및 판독 또는 기록 커맨드 간의 타이밍을 도시한 도면이다.
도 6은 판독 커맨드를 도시한 도면이다.
도 7은 본 발명의 한 실시예의 연속 판독 버스트들의 타이밍을 도시한 도면이다.
도 8은 본 발명의 한 실시예의 페이지 내의 임의 판독 액세스들을 도시한 도면이다.
도 9는 기록 동작이 이어지는 판독 동작을 도시한 도면이다.
도 10은 본 발명의 한 실시예에 따른 버스트 종료 커맨드를 사용해서 종료되는 판독 버스트 동작을 도시한 도면이다.
도 11은 기록 커맨드를 도시한 도면이다.
도 12는 판독 동작이 이어지는 기록을 도시한 도면이다.
도 13은 본 발명의 한 실시예의 파워-다운 동작을 도시한 도면이다.
도 14는 버스트 판독 중의 클록 중단 동작을 도시한 도면이다.
도 15는 2개의 부트 섹터들을 갖는 메모리의 한 실시예의 메모리 어드레스 맵을 도시한 도면이다.
도 16은 본 발명의 한 실시예에 따른 셀프-타이밍 기록 시퀀스의 플로우챠트이다.
도 17은 본 발명의 한 실시예에 따른 완전한 기록 상태-체크 시퀀스의 플로우챠트이다.
도 18은 본 발명의 한 실시예에 따른 셀프-타이밍(self-timed) 블록 소거 시퀀스의 플로우챠트이다.
도 19는 본 발명의 한 실시예에 따른 완전한 블록 소거 상태-체크 시퀀스의 플로우챠트이다.
도 20은 본 발명의 한 실시예에 따른 블록 보호 시퀀스의 플로우챠트이다.
도 21은 본 발명의 한 실시예에 따른 완전한 블록 상태-체크 시퀀스의 플로우챠트이다.
도 22는 본 발명의 한 실시예에 따른 디바이스 보호 시퀀스의 플로우챠트이다.
도 23은 본 발명의 한 실시예에 따른 디바이스 비보호(unprotect) 시퀀스의 플로우챠트이다.
도 24는 초기화 및 로드 모드 레지스터 동작의 타이밍을 도시한 도면이다.
도 25는 클록 중단 모드 동작의 타이밍을 도시한 도면이다.
도 26은 버스트 판독 동작의 타이밍을 도시한 도면이다.
도 27은 교체 뱅크 판독 액세스들의 타이밍을 도시한 도면이다.
도 28은 전 페이지 버스트 판독 동작의 타이밍을 도시한 도면이다.
도 29는 데이터 마스크 신호를 사용하는 버스트 판독 동작의 타이밍을 도시한 도면이다.
도 30은 상이한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍을 도시한 도면이다.
도 31은 동일한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍을 도시한 도면이다.
본 발명의 실시예들의 이하의 상세한 설명에서, 그 일부를 형성하며, 본 발명이 구현될 수도 있는 특정 실시예들이 일례로 도시되어 있는 첨부된 도면들이 참조된다. 본 실시예들은 본 기술 분야에 숙련된 자들이 본 발명을 구현할 수 있도록 충분히 상세하게 기술되며, 다른 실시예들이 사용될 수도 있으며 논리적이고 기계적이며 전기적인 변경들이 본 발명의 원리 및 범위 내에서 이루어질 수도 있음을 알 것이다. 따라서, 이하의 상세한 설명은 제한된 의미가 아니며, 본 발명의 범위는 청구항들에 의해서만 한정된다.
이하의 상세한 설명은 2개의 주요 섹션들로 나뉘어진다. 제1 섹션은 SDRAM 메모리와의 호환성에 대해 상세히 기술한 인터페이스 기능 기술(Interface Functional Description)이다. 제2 주요 섹션은 플래시 아키텍처 기능 커맨드들을 기술한 기능 기술(Functional Description)이다.
인터페이스 기능 기술
도 1A를 참조하면, 본 발명의 한 실시예의 블록도가 도시되어 있다. 메모리 디바이스(100)는 비휘발성 플래시 메모리 셀 어레이(102)를 포함한다. 어레이는 다수의 어드레스 가능 뱅크들로 배치된다. 한 실시예에서, 메모리는 메모리 뱅크들(104, 106, 108 및 110)을 포함한다. 각각의 메모리 뱅크는 메모리 셀들의 어드레스 가능 섹터들을 포함한다. 메모리에 저장된 데이터는 어드레스 레지스터(112)에 의해 수신된 외부 제공 로케이션 어드레스들을 사용해서 액세스될 수 있다. 어드레스들은 행 어드레스 멀티플렉스 회로(114)를 사용해서 디코딩된다. 어드레스들은 또한 뱅크 제어 논리(116) 및 행 어드레스 래치 및 디코드 회로(118)를 사용해서 디코드된다. 메모리의 적합한 열에 액세스하기 위해, 열 어드레스 카운터 및 래치 회로(120)는 수신된 어드레스들을 열 디코드 회로(122)에 결합한다. 회로(124)는 입출력 게이팅, 데이터 마스크 논리, 판독 데이터 래치 회로 및 기록 드라이버 회로를 제공한다. 데이터는 데이터 입력 레지스터들(126)을 통해 입력되고 데이터 출력 레지스터들(128)을 통해 출력된다. 커맨드 실행 논리(130)는 메모리 디바이스의 기본 동작들을 제어하기 위해 제공된다. 상태 기계(132)도 또한 메모리 어레이들 및 셀들에서 실행되는 특정 동작들을 제어하기 위해 제공된다. 상태 레지스터(134) 및 식별 레지스터(136)도 또한 데이터를 출력하기 위해 제공될 수 있다.
도 1B는 본 발명의 한 실시예의 인터커넥트 핀 할당을 도시한 도면이다. 메모리 팩키지(150)는 54개의 인터커넥트 핀들을 갖는다. 핀 구성은 유효 SDRAM 팩키지들과 거의 유사하다. 본 발명에 특정한 2개의 인터커넥트들은 RP#(152) 및 Vccp(154)이다. 본 발명이 SDRAM과 동일하게 나타나는 인터커넥트 라벨들을 공유할 수도 있지만, 인터커넥트들에 제공된 신호들의 기능은 본 명세서에 기술되고 본 명세서에 기술되지 않는 한 SDRAM과 동일하지 않다. 도 1C는 도 1C의 핀 커넥션들 대신 범프 커넥션들을 갖는 메모리 팩키지(160)의 한 실시예를 도시한 것이다. 따라서, 본 발명은 특정 팩키지 구성으로만 제한되지 않는다.
메모리 디바이스의 동작 특징들을 기술하기에 앞서, 인터커넥트 핀들 및 각각의 신호들이 보다 상세한 설명된다. 입력 클록 커넥션은 클록 신호(CLK)를 제공하는데 사용된다. 클록 신호는 시스템 클록에 의해 구동될 수 있으며, 모든 동기식 플래시 메모리 입력 신호들은 CLK의 포지티브 에지에서 샘플링된다. CLK는 또한 내부 버스트 카운터를 증가시키고 출력 레지스터를 제어한다.
입력 클록 인에이블(CKE) 커넥션은 CLK 신호 입력을 활성화(HIGH 상태) 및 비활성화(LOW 상태)하는데 사용된다. 클록 입력을 비활성화해서, POWER-DOWN 및 STANDBY 동작(모든 메모리 뱅크들이 유휴 상태임), ACTIVE POWER-DWON(메모리 행이 다른 뱅크에서 ACTIVE함) 또는 CLOCK SUSPEND 동작(버스트/액세스 진행중)을 제공한다. CKE는 디바이스가 파워-다운 모드들이 된 후를 제외하고 동기적이며, 동일한 모드에서 빠져 나올 때까지 CKE는 비동기적이 된다. CLK를 포함해서 입력 버퍼들은 로우 예비 전력을 제공하기 위해 파워-다운 모드 동안 디스에이블된다. 파워-다운 모드들(RP# 딥(deep) 파워-다운이 아님)이 요구되지 않는 시스템들에서 CKE는 HIGH가 될 수도 있다.
칩 선택(CS#) 입력 커넥션은 커맨드 실행 논리에 제공된 커맨드 디코더를 인에이블(LOW 등록) 및 디스에이블(HIGH 등록)하는 신호를 제공한다. 모든 커맨드들은 CS#가 HIGH로 등록될 때 마스킹된다. 또한, CS#는 시스템의 외부 뱅크 선택을 위해 다수의 뱅크들을 제공하며, CS#는 커맨드 코드의 일부라 생각될 수 있지만; 반드시 그럴 필요는 없다.
RAS#, CAS# 및 WE#(CAS#, CS#와 함께)를 위한 입력 커맨드 입력 커넥션들은 상세히 후술된 바와 같이 메모리에 의해 실행되는 커맨드를 정의한다. 입출력 마스크(DQM) 커넥션들은 기록 액세스를 위해 입력 마스크 신호들을 제공하고 판독 액세스를 위해 출력 인에이블 신호를 제공하는데 사용된다. 입력 데이터는 DQM이 WRITE 사이클 동안 HIGH로 샘플링될 때 마스킹된다. READ 사이클 동안 DQM이 HIGH로 샘플링될 때 (2-클록 레이턴시 후) 출력 버퍼들은 하이 임피던스(High-Z) 상태가 된다. DQML은 데이터 커넥션들 DQ0-DQ7에 대응하고, DQMH는 데이터 커넥션들 DQ8-DQ15에 대응한다. DQML 및 DQMH는 DQM으로 기술될 때 동일한 상태로 간주된다.
어드레스 입력들(133)은 주로 어드레스 신호들을 제공하는데 사용된다. 본 실시예에서, 메모리는 12개의 라인들(A0-A11)을 갖는다. 다른 신호들이 후술된 바와 같이 어드레스 커넥션들을 통해 제공될 수 있다. 어드레스 입력들은 각각의 메모리 뱅크의 하나의 로케이션을 선택하기 위해 ACTIVE 커맨드(행-어드레스 A0-A11) 및 READ/WRITE 커맨드(열-어드레스 A0-A7) 동안 샘플링된다. 어드레스 입력들은 또한 후술된 LOAD COMMAND REGISTER 동작 중에 연산 코드(OpCode)를 제공하는데 사용된다. 어드레스 라인들(A0-A11)은 또한 LOAD MODE REGISTER 동작 중에 모드 세팅들을 입력하는데 사용된다.
입력 리셋/파워-다운(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로 홀드된다.
뱅크 어드레스 입력 커넥션들, 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)에 결합된다.
이하의 섹션들은 동기식 플래시 메모리의 동작에 대해 보다 상세히 기술한다. 본 발명의 한 실시예는 16 비트들로 4,194,304 워드들로 조직화된 67,108,864 비트들을 포함하는 비휘발성, 전기적 섹터-소거 가능 (플래시), 프로그램 가능 판독 전용 메모리이다. 다른 밀도들(population densities)도 예상되며, 본 발명은 본 일례의 밀도로만 제한되지 않는다. 각각의 메모리 뱅크는 4개의 독립 소거 가능 블록들(총 16)로 조직화된다. 크리티컬 펌웨어가 우연한 소거 또는 겹쳐 쓰기로부터 보호됨을 보장하기 위해, 메모리는 16개의 256K-워드 하드웨어 및 소프트웨어 잠금 가능 블록들을 포함할 수 있다. 메모리의 4-뱅크 아키텍처는 동시 동작들을 지원한다.
임의의 뱅크에 대한 판독 액세스가 임의의 다른 뱅크에 대한 배경 WRITE 또는 ERASE 동작과 동시에 발생할 수 있다. 동기식 플래시 메모리는 동기 인터페이스를 갖는다(모든 신호들은 클록 신호, CLK의 포지티브 에지에서 등록된다). 메모리에 대한 판독 액세스들은 버스트 지향적일 수 있다. 즉, 메모리 액세스는 선택된 로케이션에서 시작되어 프로그램된 시퀀스로 프로그램된 수의 로케이션들에 대해 계속된다. 판독 액세스들은 ACTIVE 커맨드의 등록으로부터 시작해서 READ 커맨드에 대해 이어진다. ACTIVE 커맨드와 동시에 등록된 어드레스 비트들은 액세스될 뱅크 및 행을 선택하는데 사용된다. READ 커맨드와 동시에 등록된 어드레스 비트들은 버스트 액세스를 위한 개시 열 로케이션 및 뱅크를 선택하는데 사용된다.
동기식 플래시 메모리는 1, 2, 4 또는 8 로케이션들의 프로그램 가능 판독 버스트 길이들 또는 전 페이지 동안 버스트 종료 옵션을 제공한다. 또한, 동기식 플래시 메모리는 고속 동작을 달성하기 위해 내부 파이프라인 아키텍처를 사용한다.
동기식 플래시 메모리는 3 볼트로 동작하는 시스템과 같은 저전력 메모리 시스템들에서 동작할 수 있다. 딥 파워-다운 모드가 전력 절약 예비 모드와 함께 제공된다. 모든 입력들 및 출력들은 저 전압 트랜지스터-트랜지스터 논리(LVTTL) 호환 가능하다. 동기식 플래시 메모리는 자동 열 어드레스 생성으로 높은 데이터 전송 속도로 데이터를 동기 버스트하는 기능 및 버스트 액세스 중에 각각의 클록 사이클에서 열 어드레스들을 임의로 변경하는 기능을 포함해서 플래시 동작 성능을 상당히 진보시킨다.
일반적으로, 동기식 플래시 메모리는 저 전압으로 동작하고 동기 인터페이스를 포함하는 멀티-뱅크 DRAM과 유사하게 구성된다. 각각의 뱅크들은 행 및 열로 조직화된다. 정상 동작에 앞서, 동기식 플래시 메모리는 초기화된다. 이하의 섹션들은 디바이스 초기화, 레지스터 정의, 커맨드 기술 및 디바이스 동작에 관한 상세한 정보를 제공한다.
동기 플래시는 선정된 방식으로 파워 업 및 초기화된다. 전력이 VCC, VCCQ 및 VCCP에 (동시에) 인가되고, 클록 신호가 안정적이 된 후, RP#(140)는 LOW 상태에서 HIGH 상태가 된다. RP#가 HIGH로 전이된 후에 내부 디바이스 초기화를 완료하기 위해 100㎲ 지연과 같은 지연이 필요하다. 지연 시간이 경과된 후에, 메모리는 어레이 판독 모드가 되고 모드 레지스터 프로그래밍 또는 실행 가능 커맨드를 대기한다. 비휘발성 모드 레지스터(147)(NVMode 레지스터)의 초기 프로그래밍 후에, 내용은 초기화 중에 자동으로 휘발성 모드 레지스터(148)에 로드된다. 디바이스는 프로그램된 상태로 파워 업하게 되며 동작 커맨드들을 발행하기에 앞서 비휘발성 모드 레지스터(147)의 재로딩을 요구하지 않는다. 이는 보다 상세히 후술된다.
모드 레지스터(148)는 동기식 플래시 메모리의 특정 동작 모드를 정의하는데 사용된다. 정의는 도 2에 도시된 바와 같이 버스트 길이, 버스트 타입, CAS 레이턴시 및 동작 모드의 선택을 포함한다. 모드 레지스터는 LOAD MODE REGISTER 커맨드를 통해 프로그램되고 재프로그램될 때까지 저장된 정보를 보유한다. 모드 레지스터의 내용은 NVMode 레지스터(147)에 복사될 수도 있다. NVMode 레지스터 세팅은 초기화 중에 모드 레지스터(148)를 자동으로 로드한다. ERASE NVMODE REGISTER 및 WRITE NVMODE REGISTER 커맨드 시퀀스들이 상세히 후술된다. 본 기술 분야에 숙련된 자들은 SDRAM이 각각의 초기화 동작 중에 모드 레지스터가 외부적으로 반드시 로드될 것을 요구함을 알 것이다. 본 발명은 디폴트 모드가 NV 모드 레지스터(147)에 저장되게 한다. 그 후 NV 모드 레지스터의 내용은 메모리 동작 중에 액세스를 위해 휘발성 모드 레지스터(148)에 복사된다.
본 실시예에서 모드 레지스터 비트들 M0-M2는 버스트 길이를 명시하고, M3는 버스트 타입(순차적 또는 인터리빙), M4-M6은 CAS 레이턴시를 명시하고, M7 및 M8은 동작 모드를 명시하고, M9는 1로 설정되며, M10 및 M11은 예약된다. WRITE 버스트들이 현재 구현되지 않기 때문에, M9는 논리 1로 설정되고 기록 액세스들은 싱글 로케이션(논-버스트) 액세스들이다. 모드 레지스터는 모든 뱅크들이 유휴 상태일 때 로드되어야만 하고, 컨트롤러는 차후 동작을 개시하기 전에 지정된 시간을 대기해야만 한다.
표 1에 도시된 바와 같이, 동기식 플래시 메모리에 대한 판독 액세스들이 버스트 지향적일 수 있으며, 버스트 길이는 프로그램될 수 있다. 버스트 길이는 소정의 READ 커맨드를 위해 자동으로 액세스될 수 있는 열 로케이션들의 최대 수를 결정한다. 1, 2, 4 또는 8 로케이션들의 버스트 길이들은 순차적 인터리빙 버스트 타입들에 유용하고, 전 페이지 버스트는 순차적 타입에 유용하다. 전 페이지 버스트는 임의의 버스트 길이들을 생성하기 위해 BURST TERMINATE 커맨드와 함께 사용될 수 있다. 즉, 버스트는 맞춤 길이 버스트들을 제공하도록 선택적으로 종료될 수 있다. READ 커맨드가 발행될 때, 버스트 길이와 동일한 열들의 블록이 효율적으로 선택된다. 상기 버스트에 대한 모든 액세스들은 상기 블록 내에서 발생하는데, 이는 버스트가 경계에 도달한 경우 블록 내에서 순환(wrap)하게 됨을 의미한다. 버스트 길이가 2로 설정될 때 A1-A7에 의해, 버스트 길이가 4로 설정될 때 A2-A7에 의해, 버스트 길이가 8로 설정될 때 A3-A7에 의해 블록은 고유하게 선택된다. 나머지 (최하위) 어드레스 비트(들)는 블록 내의 개시 로케션을 선택하는데 사용된다. 전 페이지 버스트들은 경계에 도달되면 페이지 내에서 순환한다.
소정의 버스트 내의 액세스들은 순차적이거나 또는 인터리빙되도록 프로그램될 수도 있는데; 이는 버스트 타입과 관련되며 비트 M3를 통해 선택된다. 표 1에 도시된 바와 같이 버스트 내의 액세스 순서는 버스트 길이, 버스트 타입 및 개시 열 어드레스에 의해 결정된다.
열 어드레스 스트로브(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 버스트에 적용된다.
이하의 진리표들은 본 발명의 메모리의 실시예의 동작 커맨드들에 대한 상세한 정보를 제공한다. 커맨드에 대한 설명이 제공되는데 이는 진리표 2를 따른다.
진리표 1
인터페이스 커맨드들 및 DQM 동작
명칭(함수) CS# RAS# CAS# WE# DQM ADDR DQ
COMMNAD INHIBIT(NOP) H X X X X X X
NO OPERATOIN(NOP) L H H H X X X
ACTIVE(뱅크 선택 및 행 활성화) L L H H X 뱅크/행 X
READ(뱅크, 열 선택 및 READ 버스트 개시) L H L H X 뱅크/열 X
WRITE(뱅크, 열 선택 및 WRITE 개시) L H L L X 뱅크/열 유효
BURST TERMINATE L H H L X X 액티브
ACTIVE TERMINATE L L H L X X X
LOAD COMMAND REGISTER L L L H X Com 코드 X
LOAD MODE REGISTER L L L L X Op 코드 X
기록 인에이블/출력 인에이블 - - - - L - 액티브
기록 금지/출력 High-Z - - - - H - High-Z
진리표 2
플래시 메모리 커맨드 시퀀스
CLK 신호의 인에이블 여부와 무관하게 COMMNAD INHIBIT 함수는 새로운 커맨드들이 동기식 플래시 메모리에 의해 실행되는 것을 방지한다. 동기식 플래시 메모리는 효율적으로 선택 해제(deselect)되지만, 이미 진행중인 동작은 영향을 받지 않는다.
NO OPERATOIN(NOP) 커맨드는 선택된 동기식 플래시 메모리에 대한 NOP를 실행하는데 사용된다(CS#는 LOW). 이는 희망하지 않은 커맨드들이 유휴 상태 또는 대기 상태 동안 등록되는 것을 방지하며, 이미 진행중인 동작은 영향을 받지 않는다.
모드 레지스터 데이터는 입력들 A0-A11을 통해 로드된다. LOAD MODE REGISTER 커맨드는 모든 어레이 뱅크들이 유휴 상태일 때만 발행될 수 있으며, 다음 실행 가능 커맨드는 선정된 시간 지연(MRD)이 될 때까지 발행될 수 없다. NVMode 레지스터(147)의 데이터는 파워-업 초기화때 모드 레지스터(148)에 자동으로 로드되고, LOAD MODE REGISTER 커맨드에 의해 동적으로 변경되지 않는 한 디폴트 데이터이다.
ACTIVE 커맨드는 다음 액세스를 위해 특정 어레이 뱅크의 행을 오픈(활성화)하는데 사용된다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A11을 통해 제공된 어드레스는 행을 선택한다. 행은 다음 ACTIVE 커맨드, 파워-다운 또는 RESET 때까지 액세스에 대해 액티브 상태로 남게 된다.
READ 커맨드는 액티브 행에 대해 버스트 판독 액세스를 개시하는데 사용된다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A7을 통해 제공된 어드레스는 개시 열 로케이션을 선택한다. 판독 데이터는 2 클록 더 빨리 나타난 데이터 마스크(DQM) 입력의 논리 레벨의 영향을 받아 DQ들에 나타난다. 소정의 DQM 신호가 HIGH로 등록되었으면, 대응 DQ들은 2 클록 후에 High-Z(하이 임피던스)가 되고; DQM 신호가 LOW로 등록되었으면, DQ들은 유효 데이터를 제공하게 된다. 따라서, DQM 입력은 판독 동작 중에 출력을 마스크하는데 사용될 수 있다.
WRITE 커맨드는 액티브 행에 대한 싱글-로케이션 기록 액세스를 개시하는데 사용된다. WRITE 커맨드는 WRITE SETUP 커맨드가 우선되어야만 한다. BA0, BA1 입력들의 값은 뱅크를 선택하고, 입력들 A0-A7을 통해 제공된 어드레스는 열 로케이션을 선택한다. DQ에 나타난 입력 데이터는 데이터와 동시에 나타나는 DQM 입력 논리 레벨의 영향을 받아 메모리 어레이에 기록된다. 소정의 DQM 신호가 LOW로 등록되면, 대응 데이터가 메모리에 기록되게 되고; DQM 신호가 HIGH로 등록되면, 대응 데이터 입력들은 무시되고, 워드/열 로케이션에 대한 WRITE는 실행되지 않는다. DQM이 HIGH 상태일 때의 WRITE 커맨드는 NOP로 간주된다.
ACTIVE TERMINATE 커맨드는 동기식 플래시 메모리를 위해서는 필요하지 않으며, SDRAM PRECHARGE 커맨드와 유사한 방식으로 판독을 종료하기 위해 제공될 수 있다. ACTIVE TERMINATE 커맨드는 진행중인 BURST READ를 종료하기 위해 발행될 수 있으며, 뱅크 방식일 수도 있고 아닐 수도 있다.
BURST TERMINATE 커맨드는 고정 길이의 또는 전 페이지의 버스트들을 절단하는데 사용된다. BURST TERMINATE 커맨드 전에 가장 최근에 등록된 READ 커맨드가 절단되게 된다. BURST TERMINATE는 뱅크 방식이 아니다.
로드 커맨드 레지스터 동작은 CEL(Command Execution Logic)(130)에 대한 플래시 메모리 제어 커맨드들을 개시하는데 사용된다. CEL은 장치에 대한 커맨드들을 수신 및 해석한다. 상기 커맨드들은 내부 상태 기계(132)의 동작 및 판독 경로(즉, 메모리 어레이(102), ID 레지스터(136) 또는 상태 레지스터(134))를 제어한다.
READ 또는 WRITE 커맨드들이 동기식 플래시 메모리 내에서 뱅크로 발행될 수 있기 전에, 뱅크의 행이 "오픈"되어야만 한다. 이는 활성화될 뱅크 및 행을 모두 선택하는 ACTIVE 커맨드(CS#, WE#, RAS#, CAS#에 의해 정의됨)를 통해 달성되는데, 도 4를 참조하라.
행을 오픈한 후에(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인 임의의 경우를 커버한다. (동일한 프로시져가 시간 단위들로부터의 다른 명세 한계들을 클록 사이클들로 변환하는데 사용된다.)
동일한 뱅크에 대한 연속 ACTIVE 커맨드들 간의 최소 시간 간격이 tRC로 정의되면, 동일한 뱅크의 상이한 행에 대한 다음 ACTIVE 커맨드는 이전 액티브 행을 클로즈하지 않고 발행될 수 있다.
다른 뱅크에 대한 다음 ACTIVE 커맨드는 제1 뱅크가 액세스되고 있는 동안 발행될 수 있는데, 그 결과 총 행 액세스 오버헤드가 감소된다. 상이한 뱅크들에 대한 연속 ACTIVE 커맨드들 간의 최소 시간 간격은 시간 기간 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가 상이한 뱅크에 대해 실행될 수도 있다.
임의의 READ 버스트로부터의 데이터가 다음 WRITE 커맨드에 의해 절달될 수 있고(WRITE 커맨드들은 WRITE SETUP이 선행되어야만 함), 고정 길이 READ 버스트로부터의 데이터는 다음 WRITE 커맨드(버스 반환 한계의 영향을 받음)로부터의 데이터가 바로 후행될 수 있다. I/O 경합이 방지될 수 있으면, WRITE는 READ 버스트로부터의 최종(또는 최종 희망) 데이터 요소 직후의 클록 에지에서 개시될 수도 있다. 소정의 시스템 설계에서, 입력 데이터를 구동하는 장치가 동기식 플래시 메모리 DQ들이 High-Z가 되기 전에 Low-Z로 될 가능성이 있을 수도 있다. 이러한 경우에, 최종 판독 데이터와 WRITE 커맨드 사이에 적어도 싱글-사이클 지연이 발생한다.
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 사이클을 추가하지 않고 버스 경합이 방지되게 하는 경우를 도시한 것이다.
고정 길이의 또는 전 페이지의 READ 버스트가 ACTIVE TERMINATE(뱅크 방식일 수도 있고 아닐 수도 있음) 또는 BURST TERMINATE(뱅크 방식이 아님) 커맨드들에 의해 절단될 수 있다. ACTIVE TERMINATE 또는 BURST TERMINATE 커맨드는 최종 희망 데이터 요소가 유효한 클록 에지 전 x 사이클들에서 발행되는데, x는 CAS 레이턴시 - 1과 동일하다. 이는 각각의 가능한 CAS 레이턴시에 대한 도 10에 도시되어 있다; 데이터 요소 n+3은 4의 버스트의 최종 희망 요소이거나 또는 보다 긴 버스트의 최종 희망 요소이다.
싱글-로케이션 WRITE는 도 11에 도시된 바와 같이 WRITE 커맨드(CS#, WE#, RAS#, CAS#에 의해 정의됨)에 의해 개시된다. 개시 열 및 뱅크 어드레스들은 WRITE 커맨드에 의해 제공된다. WRITE 커맨드가 등록되면, READ 커맨드는 진리표 4 및 진리표 5에 의해 정의된 바와 같이 실행될 수 있다. 일례는 도 12에 도시되어 있다. WRITE 중에, 유효 데이터-인이 WRITE 커맨드와 동시에 등록된다.
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로 간주된다.
진행중인 액세스가 없을 때, 클록이 인에이블되고, CKE가 NOP 또는 COMMAND INHIBIT와 동시에 LOW로 등록되면 파워-다운이 발생한다. 파워-다운이 되면 예비 상태인 동안 전력 절약을 위해 내부 상태 기계 동작들(WRITE 동작 포함)이 완료된 후에 입력 및 출력 버퍼들(CKE 제외)이 비활성화된다.
파워-다운 상태는 희망 클록 에지(tCKS 만족)에서 NOP 또는 COMMAND INHIBIT 및 CKE가 HIGH로 등록됨으로써 종료된다. 일례의 파워-다운 동작을 위해서는 도 13을 참조하라.
열 액세스/버스트가 진행중이고 CKE가 LOW로 등록될 때 클록 중단 모드가 발생한다. 클록 중단 모드에서, 내부 클록이 비활성화되어서, 동기 논리를 "동결(freezing)"한다. CKE가 LOW로 샘플링된 각각의 포지티브 클록 에지를 위해, 다음 내부 포지티브 클록 에지가 중단된다. 클록이 중단되지 않는 한, 중단된 내부 클록 에지의 시간에 입력 핀들에 존재하는 임의의 커맨드 또는 데이터는 무시되고, DQ 핀들에 존재하는 임의의 데이터는 구동된 상태로 남게 되고, 버스트 카운터들은 증가하지 않는다(도 14의 일례를 참조). 클록 중단 모드는 CKE가 HIGH로 등록됨으로써 종료되고; 내부 클록 및 관련 동작은 다음 포지티브 클록 에지를 위해 재개된다.
버스트 판독/싱글 기록 모드는 한 실시예에서 디폴트 모드이다. 모든 WRITE 커맨드들은 싱글 열 로케이션(1의 버스트)의 액세스를 야기하고, READ 커맨드들은 프로그램된 버스트 길이 및 시퀀스에 따라 열들에 액세스한다. 이하의 진리표 3은 CKE 신호를 사용하는 메모리 동작을 도시한 것이다.
진리표 3 - CKE
진리표 4 - 현 상태 뱅크 n - 뱅크 n에 대한 커맨드
진리표 5 - 현 상태 뱅크 n - 뱅크 m에 대한 커맨드
기능 기술
동기식 플래시 메모리는 SDRAM 버스의 코드 스토리지 및 적합한 실행(execute-in-place) 애플리케이션들에 이상적으로 적합한 다수의 특징들을 사용한다. 메모리 어레이는 개별 소거 블록들로 분할된다. 각각의 블록은 다른 블록들에 저장된 데이터에 영향을 주지 않으면서 소거될 수도 있다. 상기 메모리 블록들은 커맨드 실행 논리(130)(CEL)에 커맨드들을 발행함으로써 판독, 기록 및 소거된다. CEL은 내부 상태 기계(132)(ISM)의 동작을 제어하는데, 모든 ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, BLOCK ERASE, BLOCK PROTECT, DEVICE PROTECT, UNPROTECT ALL BLOCKS 및 VERIFY 동작들을 완전히 제어한다. ISM(132)은 각각의 메모리 로케이션을 오버-이레이저(over-erasure)로부터 보호하고 최대 데이터 보존을 위해 각각의 메모리 로케이션을 최적화한다. 또한, ISM은 시스템 내의 또는 외부 프로그래머의 장치를 기록하는데 필요한 제어를 매우 간단하게 한다.
동기식 플래시 메모리는 16개의 독립적으로 소거 가능한 메모리 블록들로 조직화되어서, 나머지 메모리 데이터에 영향을 주지 않고 메모리 로케이션들이 소거되게 한다. 임의의 블록은 우발적인 소거 또는 기록에 대해서 하드웨어-보호(hardware-protect)될 수도 있다. 보호 블록은 수정되기 전에 RP# 핀이 VHH(비교적 높은 전압)로 구동될 것을 요구한다. 로케이션들 0 및 15의 256K-워드 블록들은 추가의 하드웨어 프로텍션을 가질 수 있다. PROTECT BLOCK 커맨드가 상기 블록들에 대해 실행되었으면, RP# 핀이 VHH 상태가 아닌 한, UNPROTECT ALL BLOCKS 커맨드가 로케이션들 0 및 15의 블록들을 제외한 모든 블록들을 언로크하게 된다. 비고의적 전력 손실 또는 시스템 리셋이 발생하면, 이는 인-시스템 펌웨어 갱신 중에 크리티컬 코드에 대한 추가 보안성을 제공한다.
파워-다운 초기화, ERASE, WRITE 및 PROTECT 타이밍들은 메모리 어레이의 모든 프로그래밍 알고리즘들을 제어하기 위해 ISM을 사용해서 단순화된다. ISM은 오버-이레이저에 대한 프로텍션을 보장하고 각각의 셀에 대한 기록 마진을 최적화한다. WRITE 동작 중에, ISM은 자동으로 증가하고 WRITE 시도를 모니터하고, 각각의 메모리 셀에 대한 기록 마진을 검증하고 ISM 상태 레지스터를 갱신한다. BLOCK ERASE 동작이 실행될 때, ISM은 전체 어드레스 블록을 자동으로 겹쳐 쓰기(오버-이레이저를 제거하고), 증가하며 ERSAE 시도를 모니터하고 ISM 상태 레지스터의 비트들을 설정한다.
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를 참조해서 보다 상세히 후술된다.
CEL(130)은 디바이스에 대한 커맨드들을 수신 및 해석한다. 상기 커맨드들은 ISM의 동작 및 판독 경로(즉, 메모리 어레이, 디바이스 구성 똔느 상태 레지스터)를 제어한다. 커맨드들은 ISM이 액티브인 동안 CEL에 발행될 수도 있다.
최대 전력 보존을 허용하기 위해, 동기식 플래시 메모리는 매우 낮은 전류의 딥 파워-다운 모드를 특징으로 한다. 상기 모드에 들어가기 위해, 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)을 어레이 판독 모드로 설정한다.
동기식 플래시 메모리 어레이 아키텍처는 어레이 나머지를 교란하지 않고 섹터들이 소거되도록 설계된다. 어레이는 독립적으로 소거될 수 있는 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로부터 보호될 수 있다.
임의의 블록은 펌웨어의 가장 민감한 부분들에 대한 여분의 보안성을 제공하도록 하드웨어-보호될 수도 있다. 하드웨어 보호 블록의 WRITE 또는 ERASE 중에, RP# 핀은 WRITE 또는 ERASE가 완료될 때까지 VHH로 홀드되어야만 한다. RP# = VHH가 아닐 때의 보호 블록에 대한 임의의 WRITE 또는 ERASE 시도가 방지되고 기록 또는 소거 에러가 야기된다. 로케이션들 0 및 15의 블록들은 우발적인 WRITE 또는 ERASE 동작을 방지하기 위해 추가의 하드웨어 프로텍션을 가질 수 있다. 본 실시예에서, 상기 블록들은 RP# = VHH가 아닌 한 UNPROTECT ALL BLOCKS 커맨드를 통해 소프트웨어-언로크될 수 없다. 임의의 블록의 보호 상태는 READ STATUS REGISTER 커맨드에 의해 블록 보호 비트를 판독함으로써 체크될 수 있다. 또한, 블록을 보호하기 위해, 3-사이클 커맨드 시퀀스가 블록 어드레스와 함께 발행되어야만 한다.
동기식 플래시 메모리는 3개의 상이한 타입들의 READ들을 특징으로 할 수 있다. 모드에 따라, READ 동작은 메모리 어레이, 상태 레지스터, 또는 디바이스 구성 레지스터들 중 하나로부터의 데이터를 생성한다. 디바이스 구성 레지스터 또는 상태 레지스터에 대한 READ는 LCR-ACTIVE 사이클이 선행되어야만 하고 데이터 아웃의 버스트 길이는 모드 레지스터 설정들에 의해 정의된다. 다음 READ 또는 LCR-ACTIVE 사이클이 선행되지 않은 READ는 어레이를 판독한다. 그러나, 몇몇 차이점들이 존재하고 이는 이하의 섹션에 기술된다.
임의의 뱅크에 대한 READ 커맨드는 메모리 어레이의 내용을 출력한다. WRITE 또는 ERSAE ISM 동작이 발생하는 동안, ISM 제어하의 뱅크의 임의의 로케이션에 대한 READ는 무효 데이터를 출력할 수도 있다. 현존 RESET 동작시, 디바이스는 자동으로 어레이 판독 모드가 된다.
LCR READ STATUS REGISTER(70H) 사이클이 ACTIVE READ 사이클들을 선행해야만 한다는 점을 제외하고, 상태 레지스터(134)의 READ 실행은 어레이 판독 때와 동일한 입력 시퀀스를 요구한다. 상태 레지스터 데이터-아웃의 버스트 길이는 모드 레지스터(148)에 의해 정의된다. 상태 레지스터 내용은 CAS 레이턴시의 영향을 받아 다음 포지티브 클록 에지에서 갱신 및 래치된다. 디바이스는 다음 READ들을 위해 자동으로 어레이 판독 모드가 된다.
임의의 디바이스 구성 레지스터들(136)의 판독은 특정 어드레스들이 발행되어야만 한다는 점을 제외하고 상태 레지스터 판독 때와 동일한 입력 시퀀스를 요구한다. WE#는 HIGH이어야만 하고, DQM 및 CS#는 LOW이어야만 한다. 제조자 호환성 ID를 판독하기 위해, 어드레스들은 000000H에 있어야만 하고, 디바이스 ID를 판독하기 위해 어드레스들은 000001H에 있어야만 한다. 임의의 블록 보호 비트들이 각각의 소거 블록(xx0002H) 내의 제3 어드레스 로케이션에서 판독되고, 디바이스 보호 비트가 로케이션 000003H로부터 판독된다.
DQ 핀들은 어레이에 데이터를 입력하는데 사용된다. 어드레스 핀들은 LOAD COMMAND REGISTER 사이클 중에 어드레스 로케이션을 명시하거나 또는 CEL에 커맨드를 입력하는데 사용된다. 커맨드 입력은 디바이스의 동작 모드를 제어하기 위해 8-비트 커맨드를 CEL에 입력한다. WRITE는 메모리 어레이에 데이터를 입력하는데 사용된다. 이하의 섹션은 양 타입들의 입력들을 기술한다.
커맨드 입력을 실행하기 위해, DQM은 LOW이어야만 하고, CS# 및 WE#는 LOW이어야만 한다. 어드레스 핀들 또는 DQ 핀들은 커맨드들을 입력하는데 사용된다. 커맨드 입력에 사용되지 않는 어드레스 핀들은 "Don't Care"이고 안정 상태로 홀드되어야만 한다. 8-비트 커맨드는 DQ0-DQ7 또는 A0-A7에서 입력되고 포지티브 클록 에지에서 래치된다.
메모리 어레이에 대한 WRITE는 희망 비트들을 논리 0들로 설정하지만 소정의 비트를 논리 1로부터 논리 0으로 변경할 수 없다. 임의의 비트들을 논리 1로 설정하는 것은 전체 블록이 소거될 것을 요구한다. WRITE를 실행하기 위해, DQM은 LOW이어야만 하고, CS# 및 WE#는 LOW이어야만 하고, VCCP는 VCC로 되어야만 한다. 보호 블록에 대한 기록도 또한 RP# 핀이 VHH로 될 것을 요구한다. A0-A11은 기록될 어드레스를 제공하고, 어레이에 기록될 데이터는 DQ 핀들에서 입력된다. 데이터 및 어드레스들은 클록의 상승 에지에서 래치된다. WRITE는 WRITE SETUP 커맨드가 선행되어야만 한다.
메모리 블록들의 기록을 간단히 하기 위해, 동기 플래시는 WRITE 및 ERASE 사이클들을 위한 모든 내부 알고리즘들을 제어하는 ISM을 사용한다. 8-비트 커맨드 세트는 디바이스를 제어하는데 사용된다. 유효 커맨드 리스트를 위해서는 진리표들 1 및 2를 참조하라.
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# 신호 또는 파워 다운이 표명되면, 디바이스는 상태 레지스터를 클리어한다.
디바이스 ID, 제조자 호환성 ID, 디바이스 보호 상태 및 블록 보호 상태는 READ DEVICE CONFIGURATION(90H) 커맨드를 발행함으로써 모두 판독될 수 있다. 희망 레지스터를 판독하기 위해, 특정 어드레스가 표명되어야만 한다. 다양한 디바이스 구성 레지스터들(136)에 대한 보다 상세한 설명을 위해 표 3을 참조하라.
디바이스가 상이한 동작 모드들로 되게 하는 커맨드들이 발행될 수 있다. 각각의 모드는 해당 모드 동안 실행될 수 있는 특정 동작들을 갖는다. 몇몇 모드들은 커맨드 시퀀스가 도달되기 전에 기록될 것을 요구한다. 이하의 섹션은 각각의 모드의 특성들을 기술하고, 진리표들 1 및 2는 희망 동작을 실행하는데 필요한 모든 커맨드 시퀀스들을 열거한다. 판독-기록 기능은 배경 동작 기록 또는 소거가 임의의 뱅크에 대해 실행되게 하는데, 동시에 임의의 다른 뱅크를 판독한다. 기록 동작에 잇어서, 진리표들 1 및 2의 LCR-ACTIVE-WRITE 커맨드 시퀀스들은 연속 클록 사이클에 완료되어야만 한다. 그러나, 동기 플래시 컨트롤러 동작을 간단히 하기 위해, 제한된 수의 NOP들 또는 COMMAND INHIBIT들이 커맨드 시퀀스를 통해 발행될 수 있다. 추가 보호를 위해, 상기 커맨드 시퀀스들은 3 사이클 동안 동일한 뱅크 어드레스를 가져야만 한다. 뱅크 어드레스가 LCR-ACTIVE-WRITE 커맨드 시퀀스 중에 변경되면, 또는 커맨드 시퀀스들이 연속적이지 않으면(NOP들 및 COMMAND INHIBIT들이 아님, NOP들 및 COMMAND INHIBIT들은 허용됨), 기록 및 소거 상태 비트들(SR4 및 SR5)은 설정 및 동작 금지된다.
파워-업시에 또한 디바이스에 임의의 동작 커맨드들이 발행되기 전에, 동기 플래시는 초기화된다. 전력이 VCC, VCCQ 및 VCCP에 (동시에) 인가되고, 클록이 안정적인 후에, RP#는 LOW에서 HIGH로 전이된다. 내부 디바이스 초기화를 완료하기 위해 RP#가 HIGH로 전이된 후에 지연(한 실시예에서는 100㎲ 지연)이 요구된다. 디바이스는 디바이스 초기화 완료시 어레이 판독 모드이며, 실행 커맨드가 디바이스에 발행될 수 있다.
디바이스 ID, 제조자 호환성 ID, 디바이스 보호 비트 및 블록 보호 비트들 각각을 판독하기 위해, READ DEVICE CONFIGURATION(90H) 커맨드가 발행된다. 상기 모드에서, 특정 어드레스들은 희망 정보를 판독하기 위해 발행된다. 제조자 호환성 ID는 000000H에서 판독되고; 디바이스 ID는 000001H에서 판독된다. 제조자 호환성 ID 및 디바이스 ID는 DQ0-DQ7에서 출력된다. 디바이스 보호 비트는 000003H에서 판독되고; 블록 보호 비트들 각각은 각각의 블록(xx0002H) 내의 제3 어드레스 로케이션에서 판독된다. 디바이스 및 블록 보호 비트들으 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 중의 실행은 기록중인 데이터를 오염시킬 수도 있다.
ERASE 시퀀스 실행은 블록 내의 모든 비트들을 논리 1로 설정한다. ERASE를 실행하는데 필요한 커맨드 시퀀스는 WRITE와 유사하다. 우연적인 블록 소거에 대한 추가 보안성을 제공하기 위해, 연속 클록 에지들에서의 3개의 연속 커맨드 시퀀스들은 블록의 ERASE를 개시하는데 필요하다. 제1 사이클에서, LOAD COMMAND REGISTER는 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)이 설정되고 동작이 금지된다.
모드 레지스터(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 동작은 허용되지 않는다.
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) 커맨드가 발행될 수도 있다.
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를 참조하라.
ISM 상태 비트(SR7)가 설정된 후에, 디바이스/뱅크(SR0), 디바이스 보호(SR3), 뱅크A0(SR1), 뱅크A1(SR2), 기록/보호 블록(SR4) 및 소거/비보호(SR5) 상태 비트들이 체크될 수도 있다. SR3, SR4, SR5 중 하나의 상태 비트 또는 결합 상태 비트가 설정되었으면, 동작 중에 에러가 발생했다. ISM은 SR3, SR4 또는 SR5 비트들을 리셋할 수 없다. 상기 비트들을 클리어하기 위해, CLEAR STATUS REGISTER(50H) 커맨드가 제공되어야만 한다. 표 5는 에러들의 결합들을 열거한 것이다.
동기식 플래시 메모리는 진보된 코드 및 데이터 스토리지 요구 사항들을 만족시키도록 설계 및 제조된다. 이러한 레벨의 신뢰성을 보장하기 위해, VCCP는 WRITE 또는 ERASE 사이클들 중에 Vcc로 되어야만 한다. 상기 한계점 외의 동작은 디바이스에서 실행될 수 있는 WRITE 및 ERASE 사이클들의 수를 감소시킬 수 있다. 각각의 블록은 최소 100,000-WRITE/ERASE-사이클 내구성(endurance)을 위해 설계 및 처리된다.
동기식 플래시 메모리는 전력을 보존하기 위해 어레이 판독 모드에서 사용될 수도 있는 몇몇 전력-절얀 기능들을 제공한다. 딥 파워-다운 모드는 RP#가 VSS±0.2V가 되게 함으로써 인에이블된다. 본 모드의 전류 드로(ICC)는 최대 50㎂로 로우이다. CS#가 HIGH일 때, 디바이스는 액티브 예비 모드가 된다. 본 모드에서, 전류는 최대 30㎃ ICC 전류로 로우이다. 기록, 소거 또는 보호 동작 중에 CS#가 HIGH가 될 때, ISM은 WRITE 동작을 계속하게 되고, 동작이 완료될 때까지 디바이스는 액티브 Iccp 전력을 소비한다.
도 16을 참조하면, 본 발명의 한 실시예에 따른 셀프-타임 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 커맨드 레지스터(코드 40H)를 로드하는 단계, 액티브 커맨드 및 행 어레이를 수신하는 단계, 및 기록 커맨드 및 열 어드레스를 수신하는 단계를 포함한다. 그 후 기록이 완료되는지를 결정하기 위해 상태 레지스터 폴링을 위한 시퀀스가 제공된다. 폴링은 1로 설정되었는지를 결정하기 위해 상태 레지스터 비트 7(SR7)를 모니터한다. 선택 상태 체크가 포함될 수 있다. 기록이 완료될 때, 어레이는 어레이 판독 모드가 된다.
도 17을 참조하면, 본 발명의 한 실시예에 따른 상태-체크 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 0으로 설정되었는지를 결정하기 위해 상태 레지스터 비트 4(SR4)를 검사한다. SR4가 1이면, 기록 동작 중에 에러가 있었던 것이다. 시퀀스는 0으로 설정되었는지를 결정하기 위해 상태 레지스터 비트 3(SR3)를 검사한다. SR3이 1이면, 기록 동작 중에 무효 기록 에러가 있었던 것이다.
도 18을 참조하면, 본 발명의 한 실시예에 따른 셀프-타임 블록 소거 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 커맨드 레지스터(코드 20H)를 로드하는 단계, 및 액티브 커맨드 및 행 어레이를 수신하는 단계를 포함한다. 그 후 메모리는 블록이 보호되는지를 결정한다. 보호되지 않으면, 메모리는 블록에 대한 기록 동작(D0H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 블록이 보호되면, RP# 신호가 높은 전압(VHH)일 때까지 소거는 허용되지 않는다.
도 19는 본 발명의 한 실시예에 따른 완전한 블록 소거 상태-체크 시퀀스의 플로우챠트를 도시한 것이다. 시퀀스는 커맨드 시퀀스 에러가 발생했는지(SR4 또는 SR5 = 1)를 결정하기 위해 상태 레지스터를 모니터한다. SR3이 1로 설정되면, 무효 소거 또는 비보호 에러가 발생했다. 마지막으로, SR5가 1로 설정되면 블록 소거 또는 비보호 에러가 발생했다.
도 20은 본 발명의 한 실시예에 따른 블록 보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 블록이 보호되는지를 결정한다. 보호되지 않으면, 메모리는 블록에 대한 기록 동작(01H)를 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 블록이 보호되면, RP# 신호가 높은 전압(VHH)이지 않는 한 소거는 허용되지 않는다.
도 21을 참조하면, 본 발명의 한 실시예에 따른 완전한 블록 상태-체크 시퀀스의 플로우챠트가 도시되어 있다. 시퀀스는 에러가 검출되었는지를 결정하기 위해 상태 레지스터 비트들 3, 4 및 5를 모니터한다.
도 22는 본 발명의 한 실시예에 따른 디바이스 보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 RP#가 VHH인지를 결정한다. 메모리는 기록 동작(F1H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다.
도 23은 본 발명의 한 실시예에 따른 블록 비보호 시퀀스의 플로우챠트이다. 시퀀스는 커맨드 레지스터(코드 60H)를 로드하는 단계, 및 액티브 커맨드 및 행 어드레스를 수신하는 단계를 포함한다. 그 후 메모리는 메모리 디바이스가 보호되는지를 결정한다. 보호되지 않으면, 메모리는 부트 로케이션들(블록들 0 및 15)이 보호되는지를 결정한다. 블록들이 보호되지 않으면, 메모리는 블록에 대한 기록 동작(D0H)을 실행하고, 완료에 대해 상태 레지스터를 모니터한다. 선택 상태 체크가 실행될 수 있으며 메모리는 어레이 판독 모드가 된다. 디바이스가 보호되면, RP# 신호가 높은 전압(VHH)이지 않는 한 소거는 허용되지 않는다. 유사하게, 부트 로케이션들이 보호되면, 메모리는 모든 블록들이 비보호 상태인지를 결정한다.
도 24는 초기화 및 로드 모드 레지스터 동작의 타이밍을 도시한 것이다. 모드 레지스터는 로드 모드 레지스터 커맨드를 제공하고 어드레스 라인들에서 연산 코드(opcode)를 제공함으로써 프로그램된다. 연산 코드는 모드 레지스터에 로드된다. 상술된 바와 같이, 비휘발성 모드 레지스터의 내용은 파워-업시 모드 레지스터에 자동으로 로드되고 로드 모드 레지스터 동작은 필요하지 않을 수도 있다.
도 25는 클록 중단 모드 동작의 타이밍을 도시한 것이고, 도 26은 다른 버스트 판독 동작의 타이밍을 도시한 것이다. 도 27은 교체 뱅크 판독 액세스들의 타이밍을 도시한 것이다. 여기서 액티브 커맨드가 뱅크 어드레스들을 변경하기 위해 필요하다. 전 페이지 버스트 판독 동작은 도 28에 도시되어 있다. 전 페이지 버스트는 자가 종료되지 않으면, 종료 커맨드를 필요로 함을 주지하라.
도 29는 데이터 마스크 신호를 사용하는 판독 동작의 타이밍을 도시한 것이다. DQM 신호가 Dout m+1이 DQ 커넥션들을 통해 제공되지 않도록 데이터 출력을 마스크하는데 사용된다.
도 30을 참조하면, 상이한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍이 도시되어 있다. 본 동작에서, 기록은 뱅크 a에 대해 실행되고 다음 판독은 뱅크 b에 대해 실행된다. 동일한 행은 각각의 뱅크에서 액세스된다.
도 31을 참조하면, 동일한 뱅크에 대한 판독이 이어지는 기록 동작의 타이밍이 도시되어 있다. 본 동작에서, 기록은 뱅크 a에 대해 실행되고 다음 판독도 뱅크 a에 대해 실행된다. 상이한 행은 판독 동작중에 액세스되고, 메모리는 기록 동작이 완료되기 전에 대기해야만 한다. 이는 기록 동작으로 인해 판독이 지연되지 않는 도 30의 판독과 상이하다.
인터페이스 커맨드 아키텍쳐
SDRAM은 세개의 커맨드 선, RAS, CAS 및 WE를 이용하여 그 커맨드를 디코딩한다. 이들 세개의 선은 기술 분야의 당업자에게 공지된 바와 같이, 8개의 서로 다른 DRAM형 커맨드를 디코딩할 수 있게 한다. 그들은 NOP, Active, Read, Write, Refresh, Precharge, Load 모드 레지스터 및 버스트 터미네이터를 포함한다. 본 플래시 메모리는 SDRAM과 같은 판독을 수행하고, 상기 대부분의 커맨드를 이용한다. 반면에, 플래시 메모리는 SDRAM에 존재하지 않는 일련의 동작을 한다. 이들 동작은 프로그램 셋업, 소거 셋업, 소거 확인, 판독 어레이, 판독 상태, 판독 인텔리전트 식별기, 삭제 상태 레지스터 및 플래시 메모리의 블럭 보호 스킴과 관련하는 커맨드와 같은 커맨드를 포함한다.
본 발명은 플래시 관련 커맨드의 디코딩을 허용하면서 가능한 한 정확하게 SDRAM의 커맨드 아키텍쳐를 유지한다. SDRAM에 사용되고 플래시에 필수적이지 않은 하나의 커맨드가 리프레시 커맨드이다. DRAM은 다이나믹한 것으로 인해 그 데이터를 유지하지 위해서는 주기적으로 리프레시될 필요가 있다. 본 발명의 플래시 메모리 셀은 비휘발성이며, 리프레시 동작을 요구하지 않는다. 본 발명의 커맨드 아키텍쳐는 플래시 메모리용 로드 커맨드 레지스터(LCR) 커맨드를 반영하기 위해 세가지 커맨드 핀의 SDRAM 리프레시 커맨드 조합을 이용한다. 이러한 조합을 어써트함으로써, 메모리는 어드레스선을 판독하고 커맨드 레지스터를 로딩한다. 메모리는 커맨드 레지스터(133)(도 1A)의 컨텐츠를 이용하여 플래시 관련 동작을 수행한다,
이는 모든 플래시 동작이 SDRAM 커맨드 인터페이스에 대해 매우 약간의 변경을 하면서 수행될 수 있도록 하는 제2 디코딩 메카니즘을 동작시키는 것과 동일하다. 플래시 동작을 위해 사용되는 커맨드는 현재 사용되는 노말 플래시 커맨드와 호환가능하다. 본 발명은 다른 플래시 메모리 인터페이스와의 호환성을 유지하면서 SDRAM 커맨드 아키텍쳐 내에 새로운 커맨드 스킴을 부가한다. 어드레스 선에 제공되는 코드의 예에 대한 리스트인 진리표 2를 참조한다. 본 발명은 커맨드 선이 동일 DRAM 리프레시 커맨드 시퀀스에 대응하는 데이터를 포함할 때 어드레스 선 상에 제공되는 데이터로 플래시 커맨드 레지스터(133)를 로딩한다.
표준 플래시 메모리에서, 데이터 또는 I/O 커넥션은 동작 커맨드를 디코드하는데 사용된다. 이는 동기화 메모리가 갖는 문제점을 생성한다. 즉, 만약 버스트 판독이 수행되고 I/O 커넥션이 커맨드를 제공하는데 이용되면, 시스템은 버스트 판독이 완료되도록 대기하여야만 한다. 그와 같이, 데이터 버스 상의 경합이 가능하다. 본 발명은 어드레스 선에 제공된 데이터를 통해 플래시 커맨드 레지스터(133)를 로딩한다.

Claims (22)

  1. 동기식 플래시 메모리 디바이스에 있어서,
    비휘발성 메모리 셀 어레이; 및
    플래시 메모리 동작을 제어하는데 사용되는 커맨드 데이터를 저장하기 위한 커맨드 레지스터 - 상기 커맨드 레지스터는 로드 커맨드 레지스터 동작 모드 동안 메모리 어드레스 커넥션을 통해 커맨드 데이터를 수신하도록 결합됨 -
    를 포함하는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  2. 제1항에 있어서,
    상기 로드 커맨드 레지스터 동작 모드는 열 어드레스 스트로브(CAS#) 신호, 행 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합을 이용하여 초기화되는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  3. 제2항에 있어서,
    상기 로드 커맨드 레지스터 동작 모드는 상기 CAS# 신호, 상기 RAS# 신호, 및 상기 WE# 신호가 하이일 때 초기화되는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  4. 제1항에 있어서, 상기 플래시 메모리 동작은
    메모리 디바이스 구성 레지스터를 판독하는 단계;
    상기 메모리 디바이스의 상태 레지스터를 판독하는 단계;
    상기 상태 레지스터를 클리어하는 단계;
    소거 셋업 동작을 실행하는 단계;
    기록 셋업 동작을 실행하는 단계;
    메모리 셀 어레이의 블럭을 보호하는 단계;
    메모리 셀 디바이스 기록 보호 동작을 제공하는 단계;
    메모리 셀 어레이의 블럭을 방치하는 단계;
    상기 메모리 디바이스의 모드 레지스터에 데이터를 기록하는 단계; 및
    상기 모드 레지스터로부터 데이터를 소거하는 단계
    를 포함하는 그룹으로부터 선택된 적어도 하나의 동작을 포함하는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  5. 동기식 플래시 메모리 디바이스에 있어서,
    어드레스가능한 블럭에 배열된 비휘발성 메모리 셀 어레이;
    외부적으로 제공된 어드레스 데이터를 수신하기 위한 외부 어드레스 커넥션;
    메모리 디바이스 상태 데이터를 저장하기 위한 상태 레지스터;
    상기 동기식 플래시 메모리 디바이스의 모드를 설정하는데 이용되는 모드 데이터를 저장하기 위한 모드 레지스터; 및
    플래시 메모리 동작을 제어하는데 사용되는 커맨드 데이터를 저장하기 위한 커맨드 레지스터 - 상기 커맨드 레지스터는 로드 커맨드에 응답하여 메모리 어드레스 커넥션을 통해 커맨드 데이터를 수신하도록 결합됨 -
    를 포함하는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  6. 제5항에 있어서,
    상기 로드 커맨드는 열 어드레스 스트로브(CAS#) 신호, 행 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합인 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  7. 제5항에 있어서,
    상기 로드 커맨드는 어써트된 열 어드레스 스트로브(CAS#) 신호, 어써트된 행 어드레스 스트로브(RAS#) 신호, 및 어써트된 기록 인에이블(WE#) 신호의 조합인 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  8. 제5항에 있어서,
    상기 로드 커맨드는 SDRAM의 리프레시 커맨드와 등가인 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  9. 제5항에 있어서, 상기 플래시 메모리 동작은
    상기 상태 레지스터의 판독 동작을 실행하는 단계;
    상기 상태 레지스터를 클리어하는 단계;
    소거 셋업 동작을 실행하는 단계;
    기록 셋업 동작을 실행하는 단계;
    비휘발성 메모리 셀 어레이의 기록 보호를 제어하는 단계; 및
    모드 레지스터를 제어하는 단계
    를 포함하는 그룹으로부터 선택된 적어도 하나의 동작을 포함하는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  10. 동기식 플래시 메모리 디바이스에 있어서,
    비휘발성 메모리 셀 어레이; 및
    플래시 메모리 동작을 제어하는데 사용되는 데이터 커맨드를 저장하기 위한 커맨드 레지스터 - 상기 커맨드 레지스터는 SDRAM의 리프레시 커맨드와 등가인 로드 커맨드에 응답하여 상기 커맨드 데이터를 수신하도록 결합됨 -
    를 포함하는 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  11. 제10항에 있어서,
    상기 로드 커맨드는 어써트된 열 어드레스 스트로브(CAS#) 신호, 어써트된 행 어드레스 스트로브(RAS#) 신호, 및 어써트된 기록 인에이블(WE#) 신호의 조합인 것을 특징으로 하는 동기식 플래시 메모리 디바이스.
  12. 동기식 데이터 시스템에 있어서,
    메모리 콘트롤러; 및
    상기 메모리 콘트롤러에 접속된 동기식 플래시 메모리 디바이스 - 상기 디바이스는 비휘발성 메모리 셀 어레이, 및 상기 메모리 콘트롤러에 의해 제공되는 커맨드 데이터를 저장하고 플래시 메모리 동작을 제어하는데 사용되는 커맨드 레지스터를 포함함 -
    를 포함하는 것을 특징으로 하는 동기식 데이터 시스템.
  13. 제12항에 있어서,
    상기 커맨드 레지스터는 상기 메모리 콘트롤러에 결합된 메모리 어드레스 커넥션을 통해 상기 커맨드 데이터를 수신하도록 결합되고, 상기 커맨드 데이터는 상기 메모리 콘트롤러로부터의 로드 커맨드에 응답하여 로드되는 것을 특징으로 하는 동기식 데이터 시스템.
  14. 제13항에 있어서,
    상기 로드 커맨드는 어써트된 열 어드레스 스트로브(CAS#) 신호, 어써트된 행 어드레스 스트로브(RAS#) 신호, 및 어써트된 기록 인에이블(WE#) 신호의 조합인 것을 특징으로 하는 동기식 데이터 시스템.
  15. 제12항에 있어서, 상기 동기식 플래시 메모리는
    상기 메모리 콘트롤러에 의해 제공된 어드레스 데이터를 수신하기 위한 외부 어드레스 커넥션;
    메모리 디바이스 상태 데이터를 저장하기 위한 상태 레지스터; 및
    상기 동기식 플래시 메모리 디바이스의 모드를 설정하는데 이용되는 모드 데이터를 저장하기 위한 모드 레지스터
    를 더 포함하는 것을 특징으로 하는 동기식 데이터 시스템.
  16. 제15항에 있어서, 상기 플래시 메모리 동작은
    상기 상태 레지스터의 판독 동작을 실행하는 단계;
    상기 상태 레지스터를 클리어하는 단계;
    소거 셋업 동작을 실행하는 단계;
    기록 셋업 동작을 실행하는 단계;
    비휘발성 메모리 셀 어레이의 기록 보호를 제어하는 단계; 및
    모드 레지스터를 제어하는 단계
    를 포함하는 그룹으로부터 선택된 적어도 하나의 동작을 포함하는 것을 특징으로 하는 동기식 데이터 시스템.
  17. 동기식 플래시 메모리에 커맨드를 제공하는 방법에 있어서,
    열 어드레스 스트로브(CAS#) 신호, 행 어드레스 스트로브(RAS#) 신호, 및 기록 인에이블(WE#) 신호의 선정된 조합을 이용하여 커맨드 레지스터 로드 동작을 초기화하는 단계; 및
    상기 커맨드 레지스터 로드 모드에 응답하여 상기 동기식 플래시 메모리의 어드레스 커넥션을 이용하여 상기 커맨드 레지스터에 커맨드 데이터를 로딩하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 커맨드 레지스터는 상기 CAS# 신호가 어써트되고, 상기 WE# 신호가 디어써트될 때 로드되는 것을 특징으로 하는 방법.
  19. 제17항에 있어서,
    상기 선정된 조합은 SDRAM의 리프레시 동작을 실행하는데 사용되는 상기 RAS#, CAS# 및 WE# 조합과 등가인 것을 특징으로 하는 방법.
  20. 제17항에 있어서,
    상기 커맨드 데이터에 응답하여 메모리 동작을 실행하는 단계를 더 포함하고, 상기 메모리 동작은
    상기 메모리 상태 레지스터의 판독 동작을 실행하는 단계;
    상기 상태 레지스터를 클리어하는 단계;
    소거 셋업 동작을 실행하는 단계;
    기록 셋업 동작을 실행하는 단계;
    비휘발성 메모리 셀 어레이의 기록 보호를 제어하는 단계; 및
    모드 레지스터를 제어하는 단계
    를 포함하는 그룹으로부터 선택된 것을 특징으로 하는 방법.
  21. 동기식 플래시 메모리를 동작시키는 방법에 있어서,
    어써트된 열 어드레스 스트로브(CAS#) 신호, 어써트된 행 어드레스 스트로브(RAS#) 신호, 및 어써트된 기록 인에이블(WE#) 신호의 조합을 이용하여 커맨드 레지스터 로드 동작을 초기화하는 단계;
    상기 커맨드 레지스터 로드 동작에 응답하여 상기 동기식 플래시 메모리의 어드레스 커넥션을 이용하여 상기 커맨드 레지스터에 커맨드 데이터를 로딩하는 단계; 및
    상기 커맨드 데이터에 응답하여 메모리 동작을 실행하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  22. 제21항에 있어서, 상기 메모리 동작은
    메모리 디바이스 구성 레지스터를 판독하는 단계;
    상기 메모리 디바이스의 상태 레지스터를 판독하는 단계;
    상기 상태 레지스터를 클리어하는 단계;
    소거 셋업 동작을 실행하는 단계;
    기록 셋업 동작을 실행하는 단계;
    메모리 셀 어레이의 블럭을 보호하는 단계;
    메모리 셀 디바이스 기록 보호 동작을 제공하는 단계;
    메모리 셀 어레이의 블럭을 방치하는 단계;
    상기 메모리 디바이스의 모드 레지스터에 데이터를 기록하는 단계; 및
    상기 모드 레지스터로부터 데이터를 소거하는 단계
    를 포함하는 그룹으로부터 선택된 것을 특징으로 하는 방법.
KR10-2002-7013095A 2000-03-30 2001-03-30 동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐 KR100508041B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19350600P 2000-03-30 2000-03-30
US60/193,506 2000-03-30
US60704100A 2000-06-30 2000-06-30
US09/607,041 2000-06-30
PCT/US2001/010374 WO2001075898A2 (en) 2000-03-30 2001-03-30 Interface command architecture for synchronous flash memory

Publications (2)

Publication Number Publication Date
KR20030014379A KR20030014379A (ko) 2003-02-17
KR100508041B1 true KR100508041B1 (ko) 2005-08-17

Family

ID=26889064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7013095A KR100508041B1 (ko) 2000-03-30 2001-03-30 동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐

Country Status (6)

Country Link
JP (1) JP3725479B2 (ko)
KR (1) KR100508041B1 (ko)
AU (1) AU2001249686A1 (ko)
DE (1) DE10196001B4 (ko)
TW (1) TW559806B (ko)
WO (1) WO2001075898A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7764551B2 (en) 2007-05-23 2010-07-27 Samsung Electronics Co., Ltd. Semiconductor memory system having volatile memory and non-volatile memory that share bus, and method of controlling operation of non-volatile memory

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100466980B1 (ko) * 2002-01-15 2005-01-24 삼성전자주식회사 낸드 플래시 메모리 장치
JP4005909B2 (ja) * 2002-12-26 2007-11-14 スパンション インク 半導体記憶装置、および半導体記憶装置の制御方法
EP1501100B1 (en) * 2003-07-22 2018-11-28 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system, and operating methods
US7702839B2 (en) 2005-04-12 2010-04-20 Nokia Corporation Memory interface for volatile and non-volatile memory devices
US7849302B2 (en) 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
KR100833189B1 (ko) * 2006-11-03 2008-05-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의환경설정정보 설정 방법
JP2008310371A (ja) 2007-06-12 2008-12-25 Spansion Llc 同期型メモリコントローラ、同期型メモリ及びその制御方法
JP5323170B2 (ja) * 2011-12-05 2013-10-23 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリおよびそのデータの読出し方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5748551A (en) * 1995-12-29 1998-05-05 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
US5892777A (en) * 1997-05-05 1999-04-06 Motorola, Inc. Apparatus and method for observing the mode of a memory device
KR100274602B1 (ko) * 1997-11-20 2000-12-15 윤종용 동기형 메모리 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7764551B2 (en) 2007-05-23 2010-07-27 Samsung Electronics Co., Ltd. Semiconductor memory system having volatile memory and non-volatile memory that share bus, and method of controlling operation of non-volatile memory

Also Published As

Publication number Publication date
TW559806B (en) 2003-11-01
JP2003529885A (ja) 2003-10-07
WO2001075898A2 (en) 2001-10-11
DE10196001B4 (de) 2008-07-03
DE10196001T1 (de) 2003-02-27
AU2001249686A1 (en) 2001-10-15
KR20030014379A (ko) 2003-02-17
WO2001075898A3 (en) 2002-05-30
JP3725479B2 (ja) 2005-12-14

Similar Documents

Publication Publication Date Title
KR100438635B1 (ko) 동기 플래시 메모리에서 프리차지 동작의 소거
KR100511820B1 (ko) 상태 버스트 출력을 갖는 동기형 플래시 메모리
US6307779B1 (en) Method and circuitry for bank tracking in write command sequence
US6580659B1 (en) Burst read addressing in a non-volatile memory device
US6877080B2 (en) Flash with consistent latency for read operations
US7278004B2 (en) Burst write in a non-volatile memory device
US6892270B2 (en) Synchronous flash memory emulating the pin configuration of SDRAM
US6278654B1 (en) Active terminate command in synchronous flash memory
US6851026B1 (en) Synchronous flash memory with concurrent write and read operation
US7054992B2 (en) Synchronous flash memory with non-volatile mode register
US20050073894A1 (en) Zero latency-zero bus turnaround synchronous flash memory
KR100508042B1 (ko) 판독 동작을 위해 일관된 레이턴시를 갖는 플래시
KR100508041B1 (ko) 동기식 플래시 메모리에서의 인터페이스 커맨드 아키텍쳐
KR100438634B1 (ko) 기록 및 판독 동작을 동시에 행하는 동기식 플래시 메모리
KR100507589B1 (ko) 비휘발성 모드 레지스터를 이용한 동기 플래시 메모리
KR100495848B1 (ko) 제로-레이턴시-제로 버스 전환 동기 플래시 메모리
US20050135180A1 (en) Interface command architecture for synchronous flash memory
KR100499292B1 (ko) 동기형 플래시 메모리

Legal Events

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

Payment date: 20120629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180717

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 15