KR100514712B1 - 파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템 - Google Patents

파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100514712B1
KR100514712B1 KR10-2000-7006831A KR20007006831A KR100514712B1 KR 100514712 B1 KR100514712 B1 KR 100514712B1 KR 20007006831 A KR20007006831 A KR 20007006831A KR 100514712 B1 KR100514712 B1 KR 100514712B1
Authority
KR
South Korea
Prior art keywords
command
signal
response
bits
signals
Prior art date
Application number
KR10-2000-7006831A
Other languages
English (en)
Other versions
KR20010033364A (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 KR20010033364A publication Critical patent/KR20010033364A/ko
Application granted granted Critical
Publication of KR100514712B1 publication Critical patent/KR100514712B1/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/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

Abstract

본 발명은 패킷화된 메모리 장치에서 파이프라인 명령 패킷을 처리하는 방법 및 장치에 관한 것이다. 명령 패킷은 먼저 여러 개의 명령 유닛들 중의 하나에 기억되고, 명령은 실행을 위해 공통 명령 처리기에 순차로 결합된다. 각각의 명령 유닛은 패킷된 명령을 기억하기 위한 래치, 카운터 및 시작 명령 발생기를 포함한다. 카운터는 명령이 메모리 장치내의 위치에서 수신되는 타이밍에 대응하는 카운트로 프리로드된다. 카운터는 명령 패킷에 의해 수신된 플래그 비트에 응답하여 카운팅을 시작한다. 시작 명령 발생기는 카운터의 카운트를 수신하고, 메모리 장치의 동작을 제어하기 위해 사용된 클록 신호의 속도 및 명령 유형(예, "판독" 또는 "기입")에 따라 상이한 카운트를 디코딩한다. 시작 명령 발생기가 카운트를 디코딩할 때, 인가된 명령 패킷의 명령 비트를 래치하고 시작 명령 신호를 발생시킨다. 따라서, 시작 명령 신호는 메모리 명령의 유형 및 클록 속도에 대응하는 지연에 의해 플래그 신호 후에 발생된다. 래치된 명령 비트들 및 시작 명령 신호는 타이밍 신호들의 시퀀스를 발생시키기 위해 시퀀서를 사용하고 래치된 명령 비트들로부터 명령 신호들을 발생시키기 위해 상태 기계를 사용하여 파이프라인내의 명령들을 실행하는 명령 처리기에 인가된다. 사용된 특정 타이밍 신호는 명령 비트들 및 클록 속도에 대응하는 메모리 동작의 유형의 함수이다.

Description

파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템{Method and system for processing pipelined memory commands}
본 발명은 컴퓨터 시스템에 사용된 메모리 장치에 관한 것이며, 보다 상세하게는 메모리 명령의 파이프라인 처리를 위한 방법 및 장치에 관한 것이다.
종래의 컴퓨터 시스템은 처리기(processor)에 대한 명령들을 통상적으로 저장하는 판독 전용 메모리("ROM")와 처리기가 데이터를 기입할 수 있고 처리기가 데이터를 판독할 수 있는 시스템 메모리를 포함하는 각종 메모리 장치들에 결합된 처리기(도시되지 않음)를 포함한다. 처리기는 일반적으로 스태틱 랜덤 액세스 메모리("SRAM")인 외부 캐쉬 메모리와 통신할 수도 있다. 처리기는 입력 장치, 출력 장치 및 데이터 기억 장치와 통신한다.
처리기는 일반적으로 비교적 고속으로 동작한다. 적어도 200 MHz의 클록 속도로 동작하는 펜티엄 및 펜티엄 Pro 마이크로프로세서 등의 처리기를 현재 입수할 수 있다. 그러나, SRAM 캐쉬를 제외하고 현존하는 컴퓨터 시스템의 나머지 부품들은 처리기의 속도에서 동작할 수 없다. 이러한 이유 때문에, 시스템 메모리 장치들 뿐만 아니라 입력 장치들, 출력 장치들, 및 데이터 기억 장치들은 처리기 버스에 직접적으로 결합되지 않는다. 대신에, 시스템 메모리 장치들은 일반적으로 메모리 제어기, 버스 브리지 또는 유사한 장치를 통해 처리기 버스에 결합되고, 입력 장치들, 출력 장치들 및 데이터 기억 장치들은 버스 브리지를 통해 처리기 버스에 결합된다. 메모리 제어기는 처리기의 클록 주파수보다 실질적으로 더 낮은 클록 주파수에서 시스템 메모리 장치가 동작하게 한다. 마찬가지로, 버스 브리지는 입력 장치, 출력 장치 및 데이터 기억 장치가 실질적으로 보다 더 낮은 주파수에서 동작하게 한다. 현재, 예를 들면, 200MHz 클록 주파수를 갖는 처리기는 시스템 메모리 장치 및 기타 부품을 제어하기 위해 66MHz 클록 주파수를 갖는 마더 보드 상에 설치될 수 있다.
시스템 메모리에 대한 액세스는 처리기에 대한 빈번한 동작(operation)이다. 예를 들면 66MHz에서 동작하는 시스템 메모리 장치로부터 데이터를 판독하거나 그에 데이터를 기입하기 위해 예를 들면 200MHz에서 동작하는 처리기에 필요한 시간은 프로세서가 그의 동작들을 수행할 수 있는 속도(rate)를 크게 느리게 한다. 따라서, 시스템 메모리 장치의 동작 속도를 증가시키기 위해 많은 노력이 경주되어야 한다.
시스템 메모리 장치들은 일반적으로 다이내믹 랜덤 액세스 메모리("DRAM")이다. 초기에, DRAM은 비동기되고, 따라서 마더보드의 클록 속도에서조차 동작하지 않는다. 사실상, 비동기 DRAM들에 대한 액세스는 DRAM이 메모리 전송(memory transfer)을 완료할 때까지 처리기를 정지시키기 위해 대기 상태들이 발생되는 것을 종종 요구하였다. 그러나, 비동기 DRAM의 동작 속도는 각각의 메모리 액세스를 위해 DRAM에 어드레스를 제공할 것을 요하지 않는 버스트 및 페이지 모드 DRAM과 같은 기술 혁신을 통해 연속적으로 증가된다. 최근에는, 마더보드의 클록 속도에서 데이터의 파이프라인 전송을 허용하는 싱크로너스 다이내믹 랜덤 액세스 메모리 (SDRAM)가 개발되고 있다. 그러나, SDRAM 이라도 현재 입수할 수 있는 처리기의 클록 속도에서 동작할 수 없다. 따라서, SDRAM은 처리기 버스에 직접적으로 접속될 수 없고, 대신에 메모리 제어기, 버스 브리지 또는 유사한 장치를 통해 처리기 버스와 인터페이스되어야 한다. 처리기의 동작 속도와 SDRAM들의 동작 속도 간의 불균형은 처리기들이 시스템 메모리에 대한 액세스를 요구하는 동작들을 완료할 수 있는 속도를 계속해서 제한한다.
이러한 동작 속도 불균형의 해결책은 "싱크링크(SyncLink)"로 공지된 컴퓨터 아키텍처의 형태로 제안되고 있다. 싱크링크 아키텍처에서, 시스템 메모리는 프로세서 버스를 통해서 직접적으로 또는 메모리 제어기를 통해서 처리기에 결합될 수 있다. 싱크링크 메모리 장치는 별개의 어드레스 및 제어 신호들이 시스템 메모리에 제공될 것을 필요로 하기보다는 오히려, 제어 및 어드레스 정보 모두를 포함하는 명령 패킷을 수신한다. 이어서, 싱크링크 메모리 장치는 처리기 버스의 데이터 버스부에 직접적으로 결합된 데이터 버스 상에 데이터를 출력하거나 또는 수신한다.
싱크링크 아키텍처를 사용하는 컴퓨터 시스템(10)의 예는 도 1에 도시된다. 컴퓨터 시스템(10)은 3개의 패킷화된 다이내믹 랜덤 액세스 메모리 또는 싱크링크 DRAM("SLDRAM") 장치(16a 내지 c)에 결합된 처리기 버스(14)를 갖는 처리기(12)를 포함한다. 이 컴퓨터 시스템(10)은 버스 브리지(22) 및 공업 표준 아키텍처("ISA") 버스 또는 주변 부품 인터커넥트("PCI") 버스 등의 확장 버스(24)를 통해 처리기 (12)에 결합되는 키패드 또는 마우스 등의 1개 이상의 입력 장치(20)를 포함하기도 한다. 입력 장치(20)는 오퍼레이터 또는 전자 장치가 데이터를 컴퓨터 시스템(10)에 입력하게 한다. 1개 이상의 출력 장치(30)는 처리기(12)에 의해 발생된 데이터를 디스플레이하거나 또는 그렇지 않으면 출력하기 위해 처리기(12)에 결합된다. 출력 장치(30)는 확장 버스(24), 버스 브리지(22) 및 처리기 버스(14)를 통해 처리기(12)에 결합된다. 출력 장치(30)의 예로는 프린터 및 비디오 디스플레이 유닛을 들 수 있다. 1개 이상의 데이터 기억 장치(38)는 기억 매체(도시하지 않음)에 데이터를 저장하거나 또는 그로부터 데이터를 검색하기 위해 처리기 버스(14), 버스 브리지(22) 및 확장 버스(24)를 통해 처리기(12)에 결합된다. 기억 장치(38) 및 기억 매체의 예로는 고정 디스크 드라이브, 플로피 디스크 드라이브, 테이프 카세트 및 컴팩트 디스크 판독 전용 메모리 드라이브를 들 수 있다.
동작 중에, 처리기(12)는 제어 및 어드레스 정보 모두를 포함하는 명령 패킷을 메모리 장치들(16a 내지 c)에 전송함으로써 처리기 버스(14)를 통해 메모리 장치들(16a 내지 c)과 통신한다. 데이터는 처리기 버스(14)의 데이터 버스부를 통해 처리기(12)와 메모리 장치(16a 내지 c) 사이에 결합된다. 모든 메모리 장치(16a 내지 c)는 처리기 버스(14)의 동일한 도전체에 결합되더라도, 한번에 단지 하나의 메모리 장치(16a 내지 c)가 데이터를 판독하거나 또는 기록하고, 따라서 처리기 버스(14) 상에서 버스 경쟁(bus contention)을 피할 수 있다. 버스 경쟁은 유일한 식별자를 갖는 버스 브리지(22) 상의 각각의 메모리 장치(16a 내지 c)에 의해 피하게 되고, 명령 패킷은 이들 부품들 중의 하나만을 선택하는 식별 코드를 포함한다.
싱크링크 패킷화된 DRAM을 위한 전형적인 명령 패킷은 도 2에 표시한다. 명령 패킷은 각각 10 비트의 데이터를 포함하는 4개의 패킷 워드들로 형성된다. 제 1 패킷 워드(W1)는 명령 패킷의 의도된 수신자(recipient)인 패킷화된 DRAM(16a 내지 c)을 식별하는 7비트 데이터를 포함한다. 아래 설명하는 바와 같이, 각각의 패킷화된 DRAM에는 제 1 패킷 워드(W1)내의 7개의 ID 비트들과 비교되는 고유 ID 코드가 제공된다. 따라서, 패킷화된 DRAM들(16a 내지 c) 모두가 명령 패킷을 수신하더라도, 제 1 패킷 워드(W1)의 7개의 ID 비트들과 매칭되는 ID 코드를 갖는 패킷화된 DRAM(16a 내지 c) 만이 명령 패킷에 응답할 것이다.
제 1 패킷 워드(W1)의 나머지 3비트 뿐만 아니라 제 2 패킷 워드(W2)의 3비트들은 6비트 명령을 포함한다. 전형적인 명령들은 메모리 셀들의 페이지들 또는 뱅크들(banks)에 대한 액세스와 같은 다양한 모드들로 판독되고 기입된다. 제 2 패킷 워드(W2)의 나머지 7 비트와 및 제 3 및 제 4 패킷 워드들(W3 및 W4)의 부분들은 메모리 전송 또는 다중 비트 메모리 전송의 시작을 위해 뱅크 어드레스, 행 어드레스 및 열 어드레스를 특정하는 20비트 어드레스를 포함한다. 일 실시예에서, 20-비트 어드레스는 3비트의 뱅크 어드레스, 10비트의 행 어드레스 및 7비트의 열 어드레스로 분할된다.
도 2에 표시한 명령 패킷은 각각 10비트 이하를 포함하는 4개의 패킷 워드로 구성되지만, 명령 패킷이 보다 작거나 또는 보다 많은 수의 패킷 워드를 포함할 수 있고, 각각의 패킷 워드는 보다 작거나 또는 보다 많은 수의 비트를 포함할 수 있음을 이해해야 할 것이다.
컴퓨터 시스템(10)은 간단히 할 목적으로 도 1에서 생략된 많은 다른 부품 및 신호 라인들을 포함하기도 한다. 예를 들면, 아래 설명한 바와 같이, 메모리 장치들(16a 내지 c)은 내부 타이밍 신호들을 제공하기 위한 마스터 클록 신호, 메모리 장치(16) 안으로 및 메모리 장치 밖으로 데이터를 클로킹(clock)하는 데이터 클록 신호, 및 명령 패킷의 시작을 표시하는 FLAG 신호를 수신한다.
메모리 장치(16)는 도 3의 블록도 형태로 표시한다. 각각의 메모리 장치(16)는 마스터 클록 신호(42)를 수신하고 메모리 장치(16)에서 다양한 동작들의 타이밍을 제어하도록 다수의 다른 클록 및 타이밍 신호들을 발생시키는 클록 분할기(clock divider) 및 지연 회로(40)를 포함한다. 메모리 장치(16)는 내부 클록 CLK 신호, 명령 버스(50) 상의 명령 패킷(CA0 내지 CA9), 및 라인(52) 상의 FLAG 신호를 수신하는 어드레스 캡처 회로(address capture circuit)(48)와 명령 버퍼(46)를 또한 포함한다. 상기에 설명한 바와 같이, 명령 패킷은 각각의 메모리 전송을 위한 제어 및 어드레스 정보를 포함하고, FLAG 신호는 명령 패킷의 시작을 식별한다. 명령 버퍼(46)는 버스(50)로부터 명령 패킷을 수신하고, 명령 패킷이 메모리 장치(16a) 또는 일부 다른 메모리 장치(16b,c)로 향하는 경우를 결정하기 위해 ID 레지스터(56)로부터 식별한 데이터와 명령 패킷의 적어도 일부를 비교한다. 명령 버퍼(46)가 명령이 메모리 장치(16a)로 향한 것으로 결정한 경우, 명령을 명령 디코더 및 시퀀서(60)에 제공한다. 명령 디코더 및 시퀀서(60)는 명령에 대응하는 메모리 전송 중에 메모리 장치(16a)의 동작을 제어하기 위해 많은 수의 내부 제어 신호들을 발생시킨다.
어드레스 캡처 회로(48)는 명령 버스(50)로부터 명령 패킷을 수신하기도 하고, 그 명령 내의 어드레스 정보에 대응하는 20비트 어드레스를 출력한다. 어드레스는 버스(66) 상의 대응하는 3비트 뱅크 어드레스, 버스(68) 상의 11비트 행 어드레스, 및 버스(70) 상의 6비트 열 어드레스를 발생시키는 어드레스 시퀀서(64)에 제공된다.
종래의 DRAM들의 한가지 문제점은 DRAM 어레이에서 회로를 사전충전 (precharge)하고 평형화(equilibrate)하는데 필요한 시간으로부터 초래되는 비교적 낮은 속도이다. 도 3에 표시한 패킷화된 DRAM은 복수의 메모리 뱅크(80), 이 경우 8개의 메모리 뱅크(80a 내지 h)를 사용함으로써 이러한 문제를 피할 수 있다. 메모리가 하나의 뱅크(80a)로부터 판독된 후, 뱅크(80a)는 나머지 뱅크(80b 내지 h)가 액세스되는 동안 사전충전될 수 있다. 각각의 메모리 뱅크(80a 내지 h)는 각각의 행 래치/디코더/구동기들(drivers)(82a 내지 h)로부터 행 어드레스를 수신한다. 모든 행 래치/디코더/구동기들(82a 내지 h)은 멀티플렉서(90)에 의해 결정된 리프레쉬 카운터(refresh counter) 또는 행 어드레스 레지스터(86)로부터 행 어드레스를 차례로 수신하는 프리디코더(84)로부터 동일한 행 어드레스를 수신한다. 그러나, 행 래치/디코더/구동기들(82a 내지 h) 중의 하나만이 뱅크 어드레스 레지스터(96)로부터 뱅크 데이터의 함수로서 뱅크 제어 논리(bank control logic)(94)에 의해 결정된 임의의 시점에 활성화된다.
버스(70) 상의 열 어드레스는 I/O 게이팅 회로(gating circuit)(102)에 I/O 게이팅 신호를 공급하는 열 래치/디코더(100)에 인가된다. I/O 게이팅 회로(102)는 센스 증폭기(sense amplifier)(104)를 통해 메모리 뱅크(80a 내지 h)의 열과 인터페이스로 접속된다. 데이터는 메모리 뱅크들(80a 내지 h)에 연결되거나 또는 메모리 뱅크로부터 센스 앰프(104) 및 I/O 게이팅 회로(102)를 통해 판독 데이터 경로(110) 및 기입 데이터 경로(112)를 포함하는 데이터 경로 서브 시스템(108)에 연결된다. 판독 데이터 경로(110)는 I/O 게이팅 회로(102)로부터 데이터를 수신하고 기억하는 판독 래치(120)를 포함한다. 도 2에 표시한 메모리 장치(16a)에서, 64비트 데이터는 판독 래치(120)에 인가되고 기억된다. 이어서, 판독 래치는 4개의 16비트 데이터 워드를 멀티플렉서(122)에 제공한다. 멀티플렉서(122)는 16비트 데이터 워드 각각을 판독 FIFO 버퍼(124)에 순차로 인가한다. 연속적인 16비트 데이터 워드는 프로그램 가능한 지연 회로(126)에 의해 내부 클록으로부터 발생된 클록 신호에 의해 FIFO 버퍼(124)를 통해 클록된다. FIFO 버퍼(124)는 16비트 워드 및 2개의 클록 신호(클록 신호 및 직각 위상 클록 신호)를 구동기 회로(128)에 순차로 인가하고, 구동기 회로는 차례로 프로세서 버스(14)의 일부를 형성하는 데이터 버스(130)에 16비트 데이터 워드를 인가한다. 구동기 회로(128)는 데이터 버스(130) 상의 데이터를 판독하는 처리기(12) 등의 장치가 데이터와 동기될 수 있도록 클록 버스(132)에 클록 신호들을 인가하기도 한다.
기록 데이터 경로(112)는 데이터 버스(130)에 결합된 수신기 버퍼(140)를 포함한다. 수신기 버퍼(140)는 데이터 버스(130)로부터 16비트 워드를 4개의 입력 레지스터(142)에 순차로 인가하고, 그들 각각은 클록 발생기 회로(144)로부터 신호에 의해 선택적으로 인에이블된다. 따라서, 입력 레지스터(142)는 4개의 16비트 데이터 워드를 순차로 기억하고, 이들을 기입 FIFO 버퍼(148)에 인가된 하나의 64비트 데이터 워드로 조합한다. 기입 FIFO 버퍼(148)는 64비트 기입 데이터를 기입 래치 및 구동기(150)에 순차로 인가하기 위해 클록 발생기(144)로부터 신호 및 내부 기입 클록 WCLK에 의해 클록킹된다. 기입 래치 및 구동기(150)는 I/O 게이팅 회로(102) 및 센스 증폭기(104)를 통해 메모리 뱅크(80a 내지 h) 중의 하나에 64비트 기입 데이터를 인가한다.
상술한 바와 같이, 싱크링크 아키텍처의 중요한 목표는 처리기와 메모리 장치 간의 데이터 전송이 현저하게 빠른 속도로 발생하게 하는 것이다. 그러나, 도 3에 표시한 패킷화된 DRAM을 포함하는 패킷화된 DRAM의 동작 속도는 메모리 장치(16a)에 인가된 명령 패킷을 수신하고 처리하는 데 필요한 시간에 의해 제한된다. 보다 상세하게는, 명령 패킷이 수신되고 저장되어야 할 뿐만 아니라, 이들 패킷은 광범위한 각종 신호를 발생시키기 위해 디코딩되고 사용되어야 한다. 그러나, 메모리 장치(16a)가 매우 빠른 속도로 동작하기 위해, 명령 패킷은 상응하게 빠른 속도로 메모리 장치(16a)에 인가되어야 한다. 메모리 장치(16a)의 동작 속도가 증가함에 따라, 명령 패킷들은 명령 버퍼(46)가 명령 패킷을 처리할 수 있는 속도를 초과할 수 있는 속도로 메모리 장치(16a)에 제공된다.
상기 고찰은 패킷화된 DRAM에서 신속한 명령 버퍼를 위한 요건에 관한 것이지만, 제어 신호 및 기타 신호를 고속으로 처리해야 하는 비동기 DRAM 및 동기 DRAM 등의 기타 메모리 장치에 유사한 문제점이 존재한다.
도 1은 싱크링크 아키텍처를 사용하는 컴퓨터 시스템의 블록도.
도 2는 싱크링크 패킷화된 DRAM을 위한 전형적인 명령 패킷을 표시하는 도면.
도 3은 도 1의 컴퓨터 시스템에 사용될 수 있는 패킷화된 DRAM의 블록도.
도 4는 도 3의 패킷화된 DRAM에 사용될 수 있는 본 발명에 따른 명령 발생기의 실시예의 블록도.
도 5는 도 3의 패킷화된 DRAM에 사용될 수 있는 본 발명에 따른 명령 발생기의 상세한 블록도.
도 6은 도 4 및 도 5에 표시한 명령 발생기의 제어 회로의 일부에 사용된 클록 신호를 표시하는 타이밍도.
도 7은 도 4 및 도 5에 표시한 명령 발생기에 사용된 시프트 레지스터 회로중의 하나의 논리도.
도 8은 도 7의 시프트 레지스터 회로에 사용된 시프트 레지스터 스테이지의 개략적인 논리도.
도 9는 도 8의 시프트 레지스터 스테이지에 존재하는 여러 가지 신호를 표시하는 타이밍도.
도 10은 도 4 및 도 5에 표시한 명령 발생기에 사용된 기록 레지스터 및 비교기의 개략적인 논리도.
도 11은 도 10에 표시한 기억 레지스터에 사용된 레지스터 회로의 논리도.
도 12는 도 4 및 도 5에 표시한 명령 발생기에 사용된 디코더의 논리도.
도 13은 각각의 메모리 장치에 독특한 식별 데이터를 저장하기 위해 도 4 및 도 5에 표시한 명령 발생기에 사용된 ID 레지스터의 논리도.
도 14는 도 13의 ID 레지스터 회로에 사용된 래치 회로의 개략도.
도 15는 도 4의 명령 발생기에 사용될 수 있는 명령 실행 시스템의 실시예의 블록도.
도 16은 도 15의 명령 실행 시스템에 사용된 명령 유닛 및 기타 회로의 블록도.
도 17은 도 15의 명령 유닛을 상세히 표시하는 블록 논리도.
도 18은 도 15의 명령 유닛 선택기를 표시하는 논리도.
도 19는 도 17의 명령 유닛에 사용된 카운터를 표시하는 논리도.
도 20은 도 17의 명령 유닛에 사용된 시작 명령 발생기의 논리도.
도 21은 도 15의 열 명령 유닛에 사용된 열 명령 처리기의 논리도.
도 22는 도 21의 열 명령 처리기에 사용된 열 상태 기계의 논리도.
도 23은 도 22의 열 상태 기계에 사용된 클로즈 뱅크 제어 회로의 논리도.
도 24는 도 21의 열 명령 처리기에 사용된 마이크로-동작 회로의 논리도.
도 25는 도 15의 열 명령 유닛에 사용된 열 어드레스 처리 유닛(506)의 논리도.
본 발명의 일 국면에 따라, 메모리 장치 명령 발생기는 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷을 수신한다. 명령 발생기는 복수의 명령 유닛을 포함한다. 각각의 명령 유닛은 인에이블될 때 명령 유닛에 의해 수신된 명령 패킷의 복수의 명령 비트를 기억하고 기억된 명령 비트를 순차로 출력한다. 각각의 명령 유닛에 결합된 명령 유닛 선택기는 어느 명령 유닛이 명령 비트를 기억하기에 바쁜지(busy)를 결정하고, 바쁘지 않은 명령 유닛중 하나를 인에이블시킨다. 각각의 명령 유닛에 결합된 명령 처리기는 인에이블된 명령 유닛으로부터 출력된 명령 비트를 수신하고, 그 명령 비트를 처리하여 그에 응답하여 적어도 하나의 명령 신호를 발생시킨다. 명령 처리기는 명령 유닛 중의 인에이블된 유닛으로부터 수신된 시작 명령 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키는 시퀀서를 바람직하게 포함한다. 명령 처리기는 또한 명령 유닛들로부터 명령 비트를 수신하고 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하도록 연결된 명령 신호 발생기를 바람직하게 포함한다. 명령 신호 발생기는 복수의 타이밍 신호들 중의 하나에 응답하여 명령 비트들에 대응하는 명령 신호를 발생시킨다. 명령 신호를 발생시키기 위해 사용된 타이밍 신호는 명령 발생기를 포함하는 메모리 장치의 동작을 제어하는 클록 신호의 주파수의 함수이다. 각각의 명령 유닛은 시작 명령 신호를 발생시키는 시작 명령 발생기 및 카운터를 바람직하게 포함한다. 카운터는 클록 신호에 응답하여 초기 카운트에서 최종 카운트를 카운트하고, 그 카운팅은 명령 유닛에 의해 수신된 명령 패킷과 연관된 타이밍 신호에 응답하여 시작된다. 시작 명령 발생기는 클록 신호의 주파수 및/또는 기억된 명령 비트들에 의해 표시된 명령의 특성의 함수인 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 생성한다. 시작 명령 신호는 명령 유닛들 각각에 결합된 명령 처리기가 명령 비트들을 처리하여 명령 신호를 발생하게 한다.
본 발명에 따른 명령 버퍼(200)의 일 실시예가 도 4에 예시된다. 명령 버퍼(200)는 도 3의 명령 버퍼(46) 대신에 사용될 수 있고, 결과적인 메모리 장치는 도 1에 표시한 컴퓨터 시스템에 사용될 수 있다. 도 4를 참조하여, 복수의 패킷 워드로 구성된 명령 패킷(CA)이 명령 데이터 버스(204)를 통해 시프트 레지스터(202)에 인가된다. 버스(204)의 폭(M)은 시프트 레지스터(202)의 크기에 대응하고, 명령 패킷의 패킷 워드들의 수(N)는 시프트 레지스터(202)의 스테이지들의 수의 정수 약수에 대응한다. 도 4에 표시한 실시예에서, 시프트 레지스터(202)는 4개의 패킷 워드가 존재하기 때문에, 명령 패킷에 존재하는 스테이지 수의 절반, 즉 2개의 시프트 스테이지를 갖는다. 따라서, 시프트 레지스터(202)는 클록 신호(CLK)에 응답하여 2개의 10비트 패킷 워드의 2개의 군을 순차로 수신한다. 4개의 워드 명령 패킷의 시작과 일치하여, FLAG 신호는 시프트 레지스터(202)에 따라 CLK 신호에 의해 클록되는 제어 회로(205)에 인가된다.
2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후, 제어 회로(205)는 제 1 기억 레지스터(206)에 인가되는 LOAD1 신호를 발생시킨다. 이어서, 제 1 기억 레지스터(206)는 시프트 레지스터(202)로부터 첫번째 2개의 패킷 워드를 로드한다. 2개 이상의 패킷 워드가 시프트 레지스터(202)로 시프트된 후, 제어 회로(205)는 제 2 기억 레지스터(208)에 인가되는 LOAD2 신호를 발생시킨다. 이어서, 제 2 기억 레지스터(208)는 시프트 레지스터(202)로부터 나머지 2개의 패킷 워드를 로드한다. 이어서, 제 1 및 제 2 기억 레지스터(206, 208)는 명령 버스(220) 상에 40비트 명령어 COMMAND를 집합적으로 출력한다.
명령 버퍼(200)는 라인(222) 상에 CHPSEL 신호를 선택적으로 발생시키는 비교기(214)를 또한 포함한다. 아래 설명하는 바와 같이, CHPSEL 신호는 높게 활성화될 때 명령 버퍼(200)를 포함하는 메모리 장치가 명령 버스(220) 상의 1개 이상의 COMMAND 신호에 대응하는 여러 가지 기능중의 하나를 수행하게 한다.
도 4에 표시한 실시예에서, 2개의 10비트 명령어의 2 세트는 시프트 레지스터(202)로 시프트되고, 제 1 및 제 2 기억 레지스터(206, 208)는 40비트 명령어를 수신하고 기억한다. 그러나, 보다 일반적인 경우에, 시프트 레지스터(202)는 N/Y개의 스테이지들을 갖고, 그들 각각은 M 비트의 폭을 갖고, Y 기억 레지스터(206, 208) 각각은 N/Y개의 M비트 명령어들을 로드한다. M이 8이고, Y 및 N이 모두 4인 실시예에서, 시프트 레지스터(202)는 8비트의 폭을 갖는 단일 스테이지를 갖고, 4개의 기억 레지스터들은 각각 하나의 8비트 명령어를 로드한다. 또한, 도 4에 표시한 실시예에서, 명령어 각각은 시프트 레지스터(202)의 2개의 스테이지를 통해 각각 CLK 주기로 시프트된다.
제 1 기억 레지스터(206)가 로드된 후, 이는 첫번째 2개의 패킷 워드를 초기화 디코더(210), ID 레지스터(212) 및 비교기(214)에 연속적으로 출력한다. 디코더(210), ID 레지스터(212), 및 비교기(214)의 기능은 제 1 패킷 워드의 ID 부분을 조사하는 것이고, 명령 패킷이 명령 버퍼(200)를 포함하는 메모리 장치에 대해 의도되는지 여부를 결정한다. 보다 상세하게는, 명령 버퍼(200)는 초기화 루틴 동안 초기화 패킷에 포함된 고유 식별 코드에 따라 프로그래밍된다. 기억 레지스터(206)로부터 출력된 초기화 패킷의 일부는 디코더(210)에 인가되고, 다른 부분은 ID 레지스터(212)에 인가된다. 초기화 패킷의 일부는 디코더(210)에 의해 인지되고, 이어서, ID 레지스터(212)가 초기화 패킷의 다른 부분을 기억하게 하는 래치 신호를 발생시킨다. 이어서, ID 레지스터(212)에 기억된 초기화 패킷의 일부는 명령 버퍼(200)를 포함하는 메모리 장치를 고유하게 식별한다. 따라서, 디코더(210)에 의해 디코딩된 초기화 패킷의 일부는 모든 메모리 장치에 대해 동일하며, 한편 ID 레지스터(212)에 인가된 초기화 패킷의 일부는 각각의 메모리 장치에 대해 상이하다(초기화하는 동안, 아래 설명되는 바와 같이, 모든 메모리 장치가 초기화 패킷에 동시에 응답하는 것을 방지하는 수단들이 제공된다). 초기화 후, ID 레지스터(212)는 명령 버퍼(200)를 포함하는 메모리 장치에 대해 고유한 식별 데이터를 포함한다.
식별 데이터가 초기화 동안에 ID 레지스터(212)에 기억된 후, 명령 버퍼(200)를 포함하는 메모리 장치는 메모리 장치로 및 메모리 장치로부터 데이터를 전송하기 위해 명령 패킷들을 수신한다. 메모리 장치에 인가되고 기억 레지스터(206)에 저장된 패킷 워드의 ID 부분은 비교기(214)에 인가된다. 이어서, 비교기(214)는 패킷 워드의 ID 부분을 ID 레지스터(212)에 기억된 식별 데이터와 비교한다. 매칭되는 경우, 비교기(214)는 메모리 장치가 명령 버스(220) 상의 COMMAND에 대응하는 동작을 수행하게 하는 활성(active) CHPSEL 신호를 발생시킨다. 중요하게는, 도 2에 표시한 바와 같이 ID 부분은 명령 패킷의 제 1 패킷 워드에 존재하기 때문에 단지 2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후, 비교기(214)는 명령 패킷의 ID 부분을 ID 레지스터(212)에 기억된 식별 데이터와 비교할 수 있다. 또한, 명령 버퍼(200)는 첫번째 2개의 패킷 워드들이 시프트 레지스터(202)로 시프트된 후에 첫번째 3개의 명령 비트들을 디코딩하는 것을 시작할 수 있다. 전체 명령 패킷이 명령 버퍼(200)에 의해 수신되기 전에 명령 패킷의 일부를 처리함으로써, 명령 버퍼는 명령 패킷을 보다 신속하고 완전하게 처리할 수 있다.
명령 버스(220) 상의 COMMAND는 행 명령 유닛("RCU")(226) 및 열 명령 유닛("CCU")(228)을 포함하는 명령 유닛(224)에 인가된다. RCU(226)는 행 어드레스 및 행 명령을 다룰 책임이 있는 한편, CCU(228)는 열 및 뱅크 어드레스 뿐만 아니라 메모리 어레이(80)의 열들에 관련된 명령들을 다룰 책임이 있다(도 3).
CCU(228)는 열 및 뱅크 어드레스를 열 어드레스 버스(230)에 출력하고, 하이 레벨 명령들(high level commands)을 명령 실행 유닛(232)에 출력하고, 타이밍 신호를 일련의 시프트 레지스터(234a 내지 n)에 의해 형성된 시퀀서(233)에 출력한다. 시프트 레지스터(234)는 CCU(228)로부터 명령 신호들에 응답하여 명령 실행 유닛(232)에 의해 발행된 평형 유지, 기입, DCLK(데이터 클록) 제어 등의 열 명령의 타이밍을 제어한다.
RCU(226)는 약간의 종래 디자인으로 이루어질 수 있으며, 특허 청구된 본 발명에 다소 주변적인 것이기 때문에 상세히 기재하지 않는다. CCU(228), 명령 실행 유닛(232) 및 시퀀서(233)는 도 15 내지 도 24를 참조하여 상세히 기재할 것이다.
시프트 레지스터(202), 제어 회로(205), 기억 레지스터(206, 208), 초기화 디코더(210), ID 레지스터(212) 및 비교기(214)는 도 5 내지 도 14에 보다 상세히 표시한다. 먼저, 도 5를 참조하여, 제어 회로(205)는 명령 버퍼(200)를 포함하는 메모리 장치내의 다른 장소로부터 클록 신호 CLK 및 그의 직각 위상(quadrature) CLK90을 수신하는 클록 회로(235)를 포함한다. CLK 및 CLK90 신호들은 도 6의 타이밍도에 예시된 바와 같이, CLK 및 CLK90 신호들이 모두 로우일 때마다 하이 값을 출력하는 NOR 게이트(236)에 인가된다. NOR 게이트(236)의 출력은 CLK1 신호를 발생시키기 위해 제 1 인버터(237)를 통해 인가되고, 이어서 CLK1* 신호를 발생시키기 위해 제 2 인버터(238)를 통해 인가된다(신호 명칭 다음의 "*" 기호는 신호의 보수를 지정하기 위해 전반적으로 사용됨).
CLK90 및 CLK 신호들은 도 6에 예시된 바와 같이, 모든 CLK 및 CLK90이 하이일 때마다 로우 값을 출력하는 NAND 게이트(240)로 또한 인가된다. NAND 게이트(240)의 출력은 CLK0 신호를 발생시키기 위해 인버터(242)를 통해 결합되고, 다음으로 CLK0* 신호를 발생시키기 위해 제 2 인버터(244)를 통해 결합된다. 이들 신호는 아래 상세히 설명하는 바와 같이 명령 버퍼(200) 전반에 사용된다.
제어 회로(205)는 8-스테이지 시프트 레지스터를 형성하기 위해 서로 직렬로 접속된 한 쌍의 시프트 레지스터(246, 248)를 또한 포함한다. 시프트 레지스터 (246)는 FLAG 신호를 수신하고, 순차로 이를 시프트 레지스터(246)의 4개의 스테이지를 통해 시프트하고, 이어서, CLK0, CLK0*, CLK1 및 CLK1* 신호들에 응답하여 시프트 레지스터(248)의 2개의 스테이지를 통해 시프트한다. FLAG 신호는 CLK 신호들의 각각의 주기로 시프트 레지스터(246, 248)의 2개의 스테이지를 통해 시프트된다. 따라서, 플래그가 하이로 될 때, 시프트 레지스터 회로(246, 248)의 2개의 연속적인 F<7:0> 출력은 매 클록 사이클마다 순차로 하이로 된다.
도 4에 표시한 시프트 레지스터(202)는 각각 인입되는 10비트 패킷 워드의 각각의 비트(CA0 내지 CA9)를 수신하는 10개의 별개의 시프트 레지스터 회로(250a 내지 j)를 포함한다. 아래 더 설명하는 바와 같이, 각각의 시프트 레지스터 회로(250a 내지 j)는 2개의 시프트 레지스터 스테이지를 포함한다. 따라서, 매 클록 사이클마다 2개의 명령 비트 CA는 각각의 시프트 레지스터 회로(250)로 시프트된 후, 이들 비트는 2비트 워드 B<1:0>로서 이용될 수 있다. 따라서, 10개의 시프트 레지스터 회로(250a 내지 j)는 20비트의 명령 패킷을 집합적으로 출력한다.
명령 버퍼(200)의 나머지 구성요소들은 도 5의 하나의 블록으로 표시한 디코더(210), ID 레지스터(212), 및 기억 레지스터(206, 208) 및 비교기(214)이다. 이들 구성요소들은 도 4를 참조하여 상기 설명한 바와 같이 동작한다. 그러나, 도 5의 블록도는 일부 추가의 신호 입력 및 출력, 즉 SI 및 RESET* 입력 및 S0 출력을 표시한다. 이들 신호 입력 및 출력 모두는 초기화 시퀀스동안 사용된다. 보다 상세하게는, 초기화 시에, RESET*는 소정의 식별 데이터, 즉, 숫자 "63"을 ID 레지스터(212)에 로드하기 위해 메모리 장치(도시하지 않음)의 어느 딴 곳의 종래의 회로에 의해 로우 값으로 활성화된다. 아래 설명하는 바와 같이, RESET* 신호는 각각의 기억 레지스터(206, 208)의 모든 20비트를 소거함으로써, 의사 (spurious) COMMAND 신호는 명령 버스(220) 상에 나타나지 않는다. ID 레지스터(212)의 식별 데이터를 공지된 값, 즉, 63으로 설정함으로써, 처리기는 명령 버퍼(200)를 포함하는 메모리 장치에 고유한 식별 데이터에 따라 ID 레지스터 (212)를 순차로 로드할 수 있다. 상술한 바와 같이 비교기(214)는 메모리 장치가 여러 가지 기능을 수행하도록 CHPSEL 신호를 발생시켜야 한다. 이들 여러 가지 기능에는 디코더(210)가 LOADID 신호를 발생시키게 하는 명령어의 일부를 디코딩하는 것이 포함된다. 따라서, 처리기가 ID 레지스터(212)에서 식별 데이터를 포함하는 명령 패킷을 명령 버퍼(200)에 인가할 수 없는 경우, 비교기(214)는 CHPSEL 출력을 발생시킬 수 없다. CHPSEL 출력 없이는, 디코더(210)는 식별 데이터를 ID 레지스터(212)에 로드하기 위한 LOADID 출력을 발생시킬 수 없다. 그러나, 명령 패킷은 ID 레지스터(212)의 "63" 초기 식별 데이터에 대해 비교기(214)에 의해 비교되는 것이 바람직한 63과 등가의 2진 값을 포함한다. 따라서, 이러한 초기화 명령에 따라, 비교기(214)는 명령 버퍼(200)를 포함하는 메모리 회로에 대해 고유한 식별 데이터로서 명령어의 다른 일부를 ID 레지스터(212)로 래치하는 LOADID 신호를 디코더(210)가 발생시키게 하는 CHPSEL 신호를 발생시킨다.
디코더(210)는 명령어 비트 Y<19:5> 및 F<5> 신호의 각각의 소정의 조합에 응답하여 START 펄스 및 LDEXCTR 펄스를 또한 발생시킨다. 아래 설명하는 바와 같이 START 펄스는 명령 패킷에서 명령의 실행을 개시하기 위해 사용되고, LDEXCTR 펄스는 명령으로부터 여러 가지 명령 신호를 발생시키는 데 사용된 카운터를 로드하기 위해 사용된다.
초기화 루틴 동안, 컴퓨터 시스템(10)의 모든 메모리 장치(도 1)는 동일한 명령 패킷을 수신하고, 따라서 모든 메모리 장치가 명령 패킷의 초기화에 동시에 응답하는 것을 방지하는 어떠한 수단도 존재하지 않는 경우 동일한 식별 데이터를 이들의 각각의 ID 레지스터(212)로 래치할 수 있다. SI 입력 및 SO 출력은 이러한 목적으로 제공된다. 컴퓨터 시스템(10)이 명령 버퍼(200)를 포함하는 3개의 메모리 장치(16)를 포함한다고 가정하면, 제 1 메모리 장치의 SI 입력은 점퍼 또는 유사한 수단(도시되지 않음)을 통해 영구적으로 하이로 유지된다. 하이 SI 입력은 명령 디코더(210)가 고유 식별 데이터로서 명령 패킷의 일부를 ID 레지스터(212)로 로드하도록 LOADID 출력을 발생시킨다. 메모리 장치의 SO 출력은 제 2 메모리 장치의 SI 입력에 결합되고, 제 2 메모리 장치의 SO 출력은 제 3 메모리 장치의 SI 입력에 결합된다. 각각의 메모리 장치의 SO 출력은 초기에 로우 값이다. 그러나, 유일한 식별 데이터가 ID 레지스터(212)로 로드될 때, ID 레지스터(212)는 하이 SO 출력을 발생시킨다. 후속하는 메모리 장치의 SI 입력에 결합된 하이 SO 출력은 후속 메모리 장치가 식별 데이터에 따라 프로그래밍되게 한다. 따라서, 식별 데이터가 제 1 메모리 장치를 위한 ID 레지스터(212)로 로드된 후, 그의 SO 출력은 하이로 됨으로써 제 2 메모리 장치의 SI 입력을 하이로 구동한다. 결과적으로, 초기화 명령 패킷에서 식별 데이터는 제 2 메모리 장치의 ID 레지스터(212)로 로드되고, 이어서 하이 SO 출력을 발생시킨다. 하이 SO 출력은 제 3 메모리 장치의 SI 입력을 하이로 구동하여 제 3 메모리 장치의 ID 레지스터(212)가 제 3 초기화 명령 패킷의 식별 데이터를 수신하고 기억하게 한다. 일단 고유 식별 데이터가 ID 레지스터(212)에 기억되면, 식별 데이터가 더이상 "63"이 아니기 때문에 메모리 장치는 초기화 명령 패킷에 더 이상 응답하지 않으며, 상기 식별 데이터는 초기화 명령 패킷내의 식별 데이터이다.
명령 버퍼(200)는 거친 버니어 회로(coarse vernier circuit)(331)를 또한 포함한다. 아래 상세히 설명하는 바와 같이, 거친 버니어 회로(331)는 명령어 Y<20:24, 11, 9>의 일부로부터 6비트의 거친 버니어 워드 CRSE_VERN<5:0>을 발생시킨다. 아래 더 설명하는 바와 같이, 거친 버니어 워드 CRSE_VERN<5:0>는 열 명령 유닛(228)에 카운터 (도 5에 표시한 바와 같음)를 프리로드(preload)하기 위해 사용된다.
도 5를 참조하여 상기 설명한 바와 같이, 시프트 레지스터(202)는 각각 인입되는 10비트 패킷 워드의 각각의 비트(CA0 내지 CA9)를 수신하는 10개의 별개의 시프트 레지스터 회로(250a 내지 j)를 포함한다. 도 7에 예시된 바와 같이, 각각의 시프트 레지스터 회로(250a 내지 j)는 2개의 시프트 레지스터 스테이지(252a,b)를 포함한다. 제 1 스테이지(252a)는 패킷 워드 비트(CA)를 수신하고, 그의 출력은 제 2 스테이지(252b)의 입력 및 외부 출력 B<0>에 접속된다. 제 2 스테이지(252b)의 출력은 외부 출력 B<1>에 접속된다. 각각의 스테이지(252a,b)의 입력에서 출력으로의 전송은 아래 상세히 설명하는 바와 같이 4개의 클록 신호 CLK0, CLK0*, CLK1, CLK1*에 응답하여 이루어진다. 2개의 클록 사이클 후에, 2개의 명령어 비트(CA)는 시프트 레지스터 스테이지(252a,b)로 시프트되고, 이들 비트 모두는 2비트 워드 B<1:0>으로서 입수할 수 있다. 따라서, 10개의 별개의 시프트 레지스터 회로(250a 내지 j)는 2개의 10비트 명령어를 집합적으로 출력한다.
각각의 시프트 레지스터 스테이지(252)는 도 8에 보다 상세히 표시한다. 각각의 시프트 레지스터 스테이지(252)는 제 1 전송 게이트(260), 제 2 전송 게이트(264) 및 제 2 래치(266)를 포함한다. 전송 게이트(260)는 CLK0 및 CLK0* 신호들에 의해 동작되는 제 1 통과 게이트(270) 및 제 1 통과 게이트(270)와 병렬이고, CLK1 및 CLK1* 신호들에 의해 동작되는 제 2 통과 게이트(272)를 포함한다. 제 1 래치(262) 및 제 2 래치(266)는 각각 입력-출력 접속된 한 쌍의 인버터(276, 278)에 의해 형성된다. 제 2 전송 게이트(264)는 제 2 래치(266)에 대한 입력과 공급 전압 간에 접속된 3개의 PMOS 트랜지스터(280, 282, 284)에 의해 형성된다. 제 2 전송 게이트(264)는 제 2 래치(266)에 대한 입력과 접지 간에 직렬로 접속된 3개의 NMOS 트랜지스터(290, 292, 294)를 또한 포함한다. 아래 설명하는 바와 같이, 제 2 전송 게이트(264)는 제 1 래치(262)로부터 신호를 전환시킨다. 따라서, 명령 신호(CA)의 정확한 페이징을 복원하기 위해, 인버터(298)는 제 2 래치(206)의 출력에 제공된다.
각각의 통과 게이트(270, 272)는 비반전 입력(non-inverting input)에 결합된 NMOS 트랜지스터의 게이트 및 반전 입력에 결합된 PMOS 트랜지스터의 게이트에 따라 서로 병렬로 접속된 NMOS 트랜지스터 및 PMOS 트랜지스터(도시하지 않음)에 의해 형성된다.
도 8에 도시된 시프트 레지스터 스테이지(252)의 동작은 도 9의 타이밍도를 참조하여 가장 잘 설명할 수 있다. 통과 게이트(270)는 CLK0 신호가 하이이고, CLK0* 신호가 로우일 때마다 도전성이다. 따라서, 통과 게이트(270)는 도 9의 270 COND 지정에 인접한 라인 세그먼트로 표시한 바와 같이 매 클록 사이클마다 짧은 기간 동안 도전성이다. 마찬가지로, 통과 게이트(270)는 CLK1 신호가 로우이고, CLK1* 신호가 하이일 때마다 도전성이다. 도 8의 라인 세그먼트로 표시한 바와 같이, 통과 게이트(272)는 매 클록 사이클마다 짧은 기간 동안 도전성이고, 단, 통과 게이트(270)의 도전 기간은 통과 게이트(272)의 도전 기간과 동일한 간격이다. 따라서, 제 1 전송 게이트(260)는 매 클록 사이클마다 2회 도전성이고, 단, 각각의 도전 주기는 하나의 비도전 주기에 후속한다. 전송 게이트(260)가 도전성일 때마다. 명령 비트(CA)의 역(inverse)은 래치(262)로부터 제 2 전송 게이트(264)에 출력된다.
제 2 전송 게이트(264)의 기능은 제 2 래치(266)의 입력을 제 1 래치(262)의 출력의 값에 따라 적절한 시간에 Vcc 또는 접지에 결합시키는 것이다. PMOS 트랜지스터(280, 282)는 CLK0 및 CLK1*이 모두 로우일 때마다 도전성이고, 이는 도 9에서 "PMOS" 지정에 인접한 라인 세그먼트에 의해 지정된 시점에 발생한다. NMOS 트랜지스터(292, 294) 모두는 CLK1 및 CLK0*이 모두 하이일 때마다 도전성이고, 이는 도 9에서 "NMOS"에 인접한 라인 세그먼트에 의해 지정된 시점에 발생한다. 따라서, PMOS 트랜지스터(280, 282) 및 NMOS 트랜지스터(292, 294)는 모두 동일한 시점에 도전성이고, 이들의 도전 기간은 제 1 전송 게이트(260)의 도전 기간으로 대체된다. 제 2 래치(260)에 대한 입력은 제 1 래치(262)의 출력이 PMOS 트랜지스터(284) 또는 NMOS 트랜지스터(290)를 턴 온시키는지 여부에 따라 이들 도전 기간 동안 Vcc 또는 접지에 결합된다. 보다 상세하게는, 제 1 래치(262)의 출력이 하이인 경우, NMOS 트랜지스터(290)는 턴 온됨으로써, 제 2 래치(266)의 입력에 로우 값을 인가한다. 제 1 래치(262)의 출력이 로우인 경우, PMOS 트랜지스터(284)는 턴 온됨으로써, 제 2 래치(266)의 입력에 로우 값을 인가한다. 제 1 래치(262)의 출력이 로우인 경우, PMOS 트랜지스터(284)는 턴 온됨으로써, 제 2 래치(266)의 입력에 하이 값을 인가한다. 따라서, 제 2 전송 게이트(264)는 제 1 래치(262)의 전환된 출력을 제 2 래치(266)의 입력에 결합시킨다.
제 2 전송 게이트(264)가 도전성인 시간동안, 제 2 래치(266)는 제 1 래치(262)의 출력과 동일하고, 인버터(298)를 통해 통과한 후, 인입하는 명령 비트(CA)와 동일한 위상인 신호를 출력한다. 래치 회로(250)의 동작은 초기에는 하이 값이지만, t0 후에 로우 값이 되는 명령 비트(CA)를 사용하여 표시한다. 시간(t1)에서 제 1 전송 게이트(260)의 다음 도전성 기간 동안, 하이 명령 비트(CA)는 도 9에 표시한 바의 전환된 형태로 제 1 래치(262)의 출력에 전송된다. 제 2 전송 게이트(264)의 다음 도전성 기간 동안, 래치(262)의 출력에서의 하이 값은 래치(266)의 출력에 결합됨으로써, 출력이 시간(t2)에서 로우 값으로 되게 한다. 이후, 명령 비트(CA)는 하이로 된다. 시간(t3)에서 제 1 래치(260)의 다음 도전성 기간에, 이러한 하이 값은 제 1 래치(260)를 통해 결합됨으로써, 제 2 래치(262)의 출력이 로우 값이 되게 한다. 시간(t4)에서 제 2 전송 게이트(264)의 다음 도전성 기간에, 제 1 래치(262)의 하이 촐력은 제 2 래치(266)의 출력에 결합됨으로써, 출력이 하이 값이 되게 한다. 따라서, 시프트 레지스터 스테이지(252)에 결합된 명령 비트는 1 클록 미만의 주기 후에 시프트 레지스터 스테이지(252)의 출력으로 시프트된다. 다음 절반의 클록 사이클에, 명령 비트는 1 클록 사이클이 경과할 때까지 다음 시프트 레지스터 스테이지의 출력으로 시프트되고, 그 시점에 2개의 명령 비트들은 각각의 시프트 레지스터 회로(250)로 시프트된다. 따라서, 2개의 명령 비트는 플래그 신호가 매 클록 사이클마다 시프트 레지스터 회로(246, 248)의 2개의 스테이지를 통해 시프트되는 것과 동일한 방식으로 매 클록 사이클마다 각각의 시프트 레지스터 회로(250)를 통해 시프트된다.
도 8에 표시한 시프트 레지스터 스테이지를 포함하여 도 7에 표시한 시프트 레지스터 회로(250)는 제어 회로(206)의 시프트 레지스터(246, 248)와 같이 사용될 수도 있다(도 5).
기억 레지스터(206, 208) 및 비교기(214)는 도 10에 예시되며, 여기서 기억 레지스터(208)에 대한 참조 번호 및 신호 명칭은 괄호 안에 나타내며, 기억 레지스터(206)에 대한 참조 번호 및 신호 명칭은 괄호 없이 표시한다. 기억 레지스터 (206, 208) 각각은 시프트 레지스터(202)로부터 2개의 10비트 명령어를 20비트 레지스터(302)로 로드하기 위해 HOLD 신호를 발생시키는 제어 회로(300)를 포함한다. 제어 회로(300)는 인버터(312)를 통해 CLK90 신호를 통과시킴으로서 발생된 CLK90* 신호를 수신하는 NOR 게이트(310)를 포함한다. NOR 게이트(310)는 지연 회로(314)의 출력을 수신하고, 이는 다시 CLK 신호를 수신하는 인버터(316)의 출력에 의해 구동된다. NOR 게이트(310)의 출력은 CLK90이 하이 값일 때마다 그리고 지연 회로(314)에 의해 지연이 제공된 후 CLK가 하이 값일 때마다 하이 값으로 된다. NOR 게이트(310)의 출력은 3개의 입력 NAND 게이트(318)의 하나의 입력에 인가된다. NAND 게이트(318)는 인버터(316)로부터 CLK* 신호 및 제어 회로(206)로부터 F 신호(기억 레지스터(206)의 경우에 F<1> 및 기억 레지스터(208)의 경우에 F<3>)를 수신하기도 한다. NAND 게이트(318)의 출력은 그의 모든 입력이 하이 값일 때 로우 값이다. 따라서, NAND 게이트(318)의 출력은 CLK90 신호가 하이 값이고, 지연된 CLK는 하이 값이며, CLK 신호는 로우 값이고, F 신호(F<1> 또는 F<3>)가 하이 값일 때 로우 값이다. 신호들의 이러한 조합은 F 신호가 CLK 신호의 하강 에지 (falling edge)에서 하이 값일 때마다 존재한다.
NAND 게이트(318)의 출력에서의 로우 값은 NAND 게이트(322)에 인가되고, 이는 이어서 2개의 인버터(324, 326)를 통해 결합되는 하이 값을 출력한다. 따라서, 하이 값으로 되는 F 신호(F<1> 또는 F<3>)에 이어 CLK의 하강 에지에서, 인버터 (324)의 출력은 액티브 로우 HOLD*를 발생시키고, 인버터(326)는 액티브 하이 HOLD 신호를 발생시킨다.
액티브 로우 HOLD* 신호 및 액티브 하이 HOLD 신호는 모두 NAND 게이트(322)로의 다른 입력이 로우 값인 경우에 발생된다. NAND 게이트(322)에 대한 다른 입력은 CLK 신호, F 신호(레지스터(206)에 대해 F<1> 및 레지스터(208)에 대해 F<3>)를 수신하는 NAND 게이트(330)의 출력 및 NOR 게이트(332)의 출력에 의해 구동된다. NOR 게이트(332)는 다시 지연 회로(334)에 의해 지연된 후 CLK90 신호 및 CLK 신호를 수신한다. 따라서, NAND 게이트(330)의 출력은 CLK 신호가 하이 값이고, CLK90 신호가 로우 값이고, 지연된 CLK 신호가 로우 값이고, F 신호(레지스터(206)에 대해 F<1> 및 레지스터(208)에 대해 F<3>)가 하이 값으로 될 때 액티브 HOLD 및 HOLD* 신호를 발생시키도록 로우 값이 될 수 있다. 신호들의 이러한 조합은 F 신호(F<1> 또는 F<3>)가 CLK 신호의 상승 에지에서 하이일 때마다 존재한다.
요약하면, 액티브 HOLD 및 HOLD* 신호들이 발생되고, F<1> 신호가 제어 회로(205)에 의해 발생된 후, CLK 신호의 상승 에지 또는 하강 에지 상에서 기억 레지스터(206)에 대한 20비트 레지스터(302)에 인가된다(도 5). 제어 회로(205)는 플래그 신호가 제어 회로(205)에 인가된 후 2개의 클록 에지마다 F<1> 신호를 발생시킨다. 상기 설명한 바와 같이, 2개의 클록 에지(즉, 1 클록 사이클) 후에, 첫번째 2개의 10비트 명령어는 시프트 레지스터(202)로 시프트되고, 이 시점에서 HOLD 및 HOLD* 신호들은 이들 20비트를 레지스터(302)로 전송한다.
마찬가지로, 액티브 HOLD 및 HOLD* 신호들이 발생되고, F<3> 신호가 제어 회로(205)에 의해 발생된 후, CLK 신호의 상승 에지 또는 하강 에지 상에서 기억 레지스터(208)에 대한 20비트 레지스터(302)에 인가된다. 제어 회로(205)는 플래그 신호가 제어 회로(205)에 인가된 후 4개의 클록 에지마다 F<3> 신호를 발생시킨다. 상기 설명한 바와 같이, 4개의 클록 에지(즉, 2 클록 사이클) 후에, 두번째의 2개의 10비트 명령어는 시프트 레지스터(202)로 시프트되고, 이 시점에서 HOLD 및 HOLD* 신호들은 이들 20비트를 기억 레지스터(208)에 대한 레지스터(302)로 전송한다.
레지스터(302)는 각각 시프트 레지스터(202)로부터 액티브 로우 리셋 신호 R*, HOLD와 HOLD* 신호 및, 20비트 C<19:0> 중의 하나를 수신하는 20개의 레지스터 셀(340a 내지 340t)을 포함한다. 레지스터 셀들(340b) 중의 하나는 도 11에 상세히 나타내며, 여기서, 기억 레지스터(208)의 레지스터(302)에 대한 신호는 일단 다시 괄호로 표시한다. 레지스터 셀들(340) 각각은 제 1 통과 게이트(344), 제 1 래치(346), 제 2 통과 게이트(348), 및 제 2 래치(350)를 포함한다. 제 2 래치(350)의 입력은 리셋 신호 R*가 로우 값으로 되어 그의 출력 Y가 로우 값으로 될 때마다 PMOS 트랜지스터(352)에 의해 선택적으로 하이 값으로 풀링된다. 따라서, 리셋에 따라, 기억 레지스터(206, 208)의 모든 출력 Y는 로우 값으로 설정된다.
통과 게이트(pass gate)(344)는 HOLD 입력에 접속된 게이트를 갖는 NMOS 트랜지스터(도시하지 않음)와, HOLD* 입력에 접속된 게이트를 갖는 NMOS 트랜지스터와 병렬로 접속된 PMOS 트랜지스터(도시하지 않음)를 포함한다. 따라서, 전송 게이트(344)는 HOLD 및 HOLD* 신호들이 활성화될 때 닫혀진다. 제 2 통과 게이트 (348)는 PMOS 트랜지스터(도시하지 않음)와 병렬인 NMOS 트랜지스터(도시하지 않음)를 사용하기도 하지만, 이들의 게이트는 반대 극성을 갖는 HOLD 및 HOLD* 신호들에 접속된다. 따라서, HOLD 및 HOLD*가 비활성일 때, 시프트 레지스터(202)로부터 명령 비트는 래치(346)로 전송된다. HOLD 및 HOLD* 신호들이 활성이 된 바로 이후에, 통과 게이트(348)는 명령 비트를 제 2 래치(350)에 전송하도록 닫혀진다. 시프트 레지스터 스테이지(252)에 사용된 래치에 의해서와 같이(도 8), 각각의 래치(346, 350)는 입력-출력 접속된 한 쌍의 인버터(360, 362)에 의해 형성된다.
도 10으로 돌아가서, 비교기(214)는 명령이 명령 버퍼(200)를 포함하는 메모리 장치에 의해 사용하도록 의도될 때 액티브 하이 칩 선택 CHPSEL 신호를 발생시키기 위해 시프트 레지스터(208)로부터 6개의 명령 비트와 6비트의 식별 데이터 ID<5:0>를 비교하는 논리 회로들의 수집을 포함한다. 비교기(214)의 동작은 액티브 하이 칩 선택 CHPSEL 출력으로부터 뒤쪽으로 추적함으로써 가장 잘 이해될 수 있다. CHPSEL 출력은 NAND 게이트(372)의 출력에 결합된 인버터(370)의 출력에서 발생된다. CHPSEL은 NAND 게이트(372)의 출력이 로우 값일 때마다 액티브 하이로 될 것이고, 이는 NAND 게이트(372)에 대한 두 입력이 하이 값일 때마다 발생할 것이다. NAND 게이트(372)에 대한 입력은 NOR 게이트(374, 376)의 출력에서 발생한다. NOR 게이트(374, 376)의 출력은 NOR 게이트(374, 376)에 대한 모든 입력이 로우 값인 경우 모두 하이 값으로 될 것이다. NOR 게이트(374)에 대한 입력은 3개의 NOR 게이트(380, 382, 384)중 임의의 것의 출력이 하이 값인 경우 로우 값으로 될 것이다. 각각의 NOR 게이트(380, 382, 384)는 2개의 입력을 갖고, 그중 하나는 배타적 OR 회로(390)의 출력에 접속되고, 그중 다른 하나는 부가적 논리 회로를 통하거나 또는 직접적으로 명령 비트들(Y) 중의 하나에 결합된다.
각각의 배타적 OR 회로(390)는 인버터(396)의 출력에서 ID 비트 및 그의 보수 ID*에 의해 교대로 인에이블되는 한 쌍의 통과 게이트(392 394)를 포함한다. 통과 게이트(392)는 인버터(398)로부터 명령 비트 Y를 수신하는 한편, 통과 게이트 (394)는 명령 비트의 보수 Y*를 수신한다. 명령 비트 Y 및 ID 비트가 모두 로우 값인 경우, 통과 게이트(394)는 인에이블되고, 명령 비트의 하이인 보수는 통과 게이트(394)를 통해 NOR 게이트(380)의 입력에 결합된다. 명령 비트 Y 및 ID 비트가 모두 하이 값인 경우, 통과 게이트(392)는 인에이블되고, 하이 명령 비트는 NOR 게이트(380)의 입력에 결합된다. 따라서, 배타적 OR 회로(390)의 출력은 명령 비트 Y가 식별 비트 ID와 매칭되는 경우 하이 값이다.
명령 비트 Y가 로우 값이고, 식별 비트 ID가 하이 값인 경우, 통과 게이트(392)는 인에이블되고, 로우 명령은 NOR 게이트(380)의 입력에 전송된다. 마지막으로, 명령 비트가 하이 값이지만 식별 비트 ID가 로우 값인 경우, 통과 게이트(394)가 인에이블되고, 명령 비트 Y의 로우인 보수는 통과 게이트(394)를 통해 NOR 게이트(380)에 결합된다. 따라서, 배타적 OR 회로(390)의 출력은 명령 비트 Y가 식별 비트 ID와 매칭되지 않는 경우에 로우 값이다.
NOR 게이트(380)의 출력은 Y<0> 명령 비트가 ID<0> 식별 비트와 매칭되거나 또는 Y<6> 명령 비트가 하이 값인 경우 로우 값으로 될 것이다. 마찬가지로, NOR 게이트(382)의 출력은 Y<1> 명령 비트가 ID<1> 비트와 매치되거나 또는 인버터(400)의 출력이 하이 값인 경우 로우 값으로 되고 이는 NAND 게이트(402)의 출력이 로우 값일 때 초래되고 Y<6> 및 Y<0> 명령 비트 모두가 하이 값일 때 발생한다. 마찬가지로, NOR 게이트(384)의 출력은 Y<2> 명령 비트가 ID<2> 비트와 매치되거나 또는 Y<0>, Y<1> 및 Y<6> 명령 비트가 NAND 게이트(402) 및 인버터(400)를 통해 결합된 후 모두 하이 값일 때마다 로우 값이 된다.
NOR 게이트(376)의 입력은 3개의 NOR 게이트(410, 412, 414) 각각에 대한 입력이 하이 값인 경우에 로우 값이 될 것이다. 따라서, NOR 게이트(376)에 대한 입력은 Y<3> 명령 비트가 ID3 비트와 매치되고, Y<4> 명령 비트가 ID<4> 비트와 매치되고, Y<5> 명령 비트가 ID<5> 비트와 매치되는 경우 모두 로우 값이 될 것이다. NOR 게이트(376)에 대한 모든 3개의 입력은 Y<0>, Y<1>, Y<6>, Y<2>, Y<3> 및 Y<4> 명령 비트가 모두 하이 값인 경우 역시 로우 값으로 될 것이다. 따라서, CHPSEL 신호는 Y<5:0> 명령 비트가 ID<5:0> 식별 비트와 매치되거나 또는 Y<5:0> 명령 비트가 ID<5:0> 식별 비트와 매치되는 경우에 발생할 것이다. Y<6:0> 명령 비트는 Y<6:0> 명령 비트가 하이 값이고, Y<5:0> 명령 비트가 숫자 63에 대응할 때마다 모두 하이 값으로 될 것이다. 상술한 바와 같이, 파워-업될 때, 식별 데이터 ID<5:0>는 "63"(2진수 "111111")으로 설정된다. 따라서, 유일한 식별 데이터가 ID 레지스터(212)(도 3 및 4)에 기록되어야 할 때, 처리기는 Y<6:0> 비트가 모두 하이 값인 명령 패킷을 발생시킨다. 결과적으로, 비교기 회로(214)는 디코더(210)가 LOADID 신호를 출력하게 하는 CHPSEL 신호를 발생시킨다. 유일한 Y<5:0> 비트가 ID 레지스터(212)에 기억된 후, 이들은 Y<5:0> 명령 비트와 비교되고, 매치되는 경우에, CHPSEL 신호는 명령 버퍼(200)를 포함하는 메모리 장치가 명령어의 다른 비트들에 대응하는 기능을 수행하게 한다.
디코더(210)(도 4 및 도 5)는 도 12에 보다 상세히 예시된다. 도 5에 표시한 바와 같이, 디코더(210)는 3개의 디코더 유닛(210a 내지 c)을 포함하고, 이들 각각은 CHPSEL에 응답하여 명령어 비트들 Y<19:5>의 조합 및 F<5> 신호를 디코딩한다. 디코더 유닛(210a)은 LOADID 신호를 발생시키고, 디코더 유닛(210b)은 START 신호를 발생시키고, 디코더 유닛(210c)은 LDEXCTR 신호를 발생시킨다. 디코더 유닛(210a 내지 c)은 실질적으로 동일한 방식으로 동작하고, 이들 디코더 유닛들 중 하나(210a)를 상세히 설명할 것이다.
디코더(210a)의 동작은 액티브 하이 LOADID 출력으로부터 회로를 역으로 추적함으로써 가장 잘 이해될 수 있을 것이다. LOADID 출력은 인버터(420)의 입력이 로우 값일 때마다 하이 값으로 될 것이다. 인버터(420)의 입력은 그의 모든 입력이 하이 값일 때마다 로우 값을 발생할 NAND 게이트(422)의 입력에 결합된다. NAND 게이트(422)에 대한 모든 입력은 칩 CHPSEL 및 F<5> 입력이 하이 값이고, Y<19:7> 명령 비트가 소정의 패턴을 가질 때 하이 값으로 될 것이다. 보다 상세하게는, 제어 회로(205)로부터 입력된 F<5>는 한 쌍의 인버터(424, 426)를 통해 NAND 게이트(422)의 하나의 입력에 결합된다. NAND 게이트(422)에 대한 다른 입력은 NAND 게이트(432)의 출력을 수신하는 인버터(430)에 의해 발생된다. NAND 게이트(432)의 출력은 NAND 게이트(432)에 대한 모든 입력이 하이 값일 때 인버터(430)가 NAND 게이트(422)의 입력에 하이 값을 인가하도록 로우 값으로 될 것이다. 인버터(432)로의 입력은 SI 입력이 하이 값이고, 2개의 NOR 게이트(436, 438)에 대한 모든 입력이 로우 값일 때 하이 값으로 될 것이다. 따라서, NAND 게이트(422)에 대한 제 2 입력은 SI 신호가 하이 값이고, Y<19:3>이 모두 로우 값일 때마다 하이 값으로 될 것이다. NAND 게이트(422)에 대한 제 3 입력은 NAND 게이트(422)에 의해 인버터(440)에 로우 값이 인가될 때마다 하이 값으로 될 것이다. NAND 게이트(422)의 출력은 그의 모든 입력이 하이 값일 때마다 로우 값으로 될 것이다. NAND 게이트(422)에 대한 제 1 입력은 인버터(446)로부터 Y<12> 명령 비트의 보수와, Y<10> 및 Y<11> 명령 비트를 수신하는 NOR 게이트(444)에 의해 출력된다. 따라서, NOR 게이트(444)의 출력은 Y<10> 및 Y<11>이 로우 값이고, Y<12>가 하이 값일 때 하이 값일 것이다. NAND 게이트(422)에 대한 제 2 입력은 상술한 바와 같이 명령 패킷이 명령 버퍼(200)를 포함하는 메모리 장치에 의해 실행되도록 의도될 때마다 하이 값인 CHPSEL 신호이다. NAND 게이트(422)에 대한 제 3 입력은 NOR 게이트(450)에 대한 3개의 입력 모두가 로우 값일 때마다 하이 값으로 될 것이다. NOR 게이트(450)는 인버터(452)를 통해 Y<7> 및 Y<8> 명령 비트와, Y<9> 명령 비트의 보수를 수신한다. 따라서, NAND 게이트(422)의 출력은 CHPSEL, Y<12> 및 Y<9>가 하이 값이고, Y<7>, Y<8>, Y<9>, Y<10> 및 Y<11>이 로우 값일 때마다 로우 값으로 될 것이다.
요약하면, LOADID 펄스는 SI 신호가 하이 값이고, Y<19:7>가 "0000000100100 "으로서 디코딩될 때마다 제어 회로(205)(도 4 및 도 5)로부터 F<5> 펄스 상의 ID 레지스터(212)(도 4 및 도 5)로 식별 데이터를 로드하기 위해 발생될 것이다. 상기 설명한 바와 같이, SI 입력은 다른 메모리 장치의 SO 출력에 결합됨으로써, 어느 시점에서 단지 하나의 메모리 장치의 메모리 버퍼는 초기화 명령 패킷에 응답하여 LOADID 펄스를 발생할 것이다.
상술한 바와 같이, 디코더(210)는 START 펄스 및 LDEXCTR 펄스를 발생시키기 위한 디코더 유닛(210b,c)을 포함한다. 이들 디코더 유닛(210b,c) 각각은 디코더(210a)와 실질적으로 유사한 방식으로 구축되고 동작된다. 각각의 경우에, 디코더 유닛(210b,c)은 액티브 하이인 CHPSEL 신호와 F<3> 신호에 응답하여 명령어 비트들 Y<19:0>의 각각의 조합들을 디코딩하는 것에 응답하여 START 펄스 및 LDEXCTR 펄스를 발생시킨다.
ID 레지스터(212)는 도 13에 상세히 표시한다. ID 레지스터(212)는 6개의 래치 회로(460a 내지 460f)를 포함하고, 이들 각각은 기억 레지스터(208)(도 4 및 도 5)로부터 각각의 명령 비트 Y<29:Y24>를 수신한다. 래치 회로(460a 내지 460f) 각각은 인버터(462, 464)를 통해 액티브 로우 리셋 신호 RESET*에 결합된 RESET* 입력을 포함한다. 상기 설명한 바와 같이, 초기화 명령 패킷을 수신하기 전에, 메모리 장치가 리셋된다. 액티브 로우 RESET* 신호는 모든 래치 회로들(460a 내지 460f)이 하이 값을 출력하고, 상기 하이 값은 식별 데이터 ID<5:0>의 모든 비트들이 2진수 "63"에 대응하게 하며, 상기 이진수 "63"은 비교기 회로(214)가 도 12를 참조하여 상기에 설명된 초기화시에 CHPSEL 신호를 출력하는 것을 허용한다. 이후, 각각의 메모리 장치에 대해 고유한 식별 데이터는 Y<29:24> 명령 비트를 통해 래치 회로(460a 내지 460f)에 인가되고, LOADID 펄스는 상술한 바와 같이 발생된다. LOADID 펄스는 인버터(470)를 통해 래치 회로(460a 내지 460f)의 입력에 결합되는 한편, 인버터(470)의 출력은 인버터(472)를 통해 래치 회로(460a 내지 460f)의 S 입력에 결합된다. 액티브 하이 S 및 액티브 로우 S* 신호는 래치 회로(460a 내지 460f)가 명령 버퍼를 포함하는 메모리 장치에 대한 고유한 식별 데이터 ID<5:0>로서 Y<29:24> 명령 비트를 저장하게 한다.
ID 레지스터(212)는 SO 출력을 발생시키기 위해 래치 회로(480) 및 인버터(482)를 또한 포함한다. RESET* 신호가 액티브 로우로 구동될 때, 래치(480)는 리셋되어 인버터(482)가 로우 SO 신호를 출력하게 한다. 그러나, LOADID 펄스는 래치 회로(480)의 출력에 로우 값을 래치함으로써, 인버터(482)가 SO 하이 값을 구동하게 한다. 하이 SO 신호는 상기 설명한 바와 같이 다른 메모리 장치의 디코더(210)의 SI 입력에 인가됨으로써 다른 메모리 장치는 다음 초기화 명령 패킷에 응답할 것이다.
도 13의 ID 레지스터(212)에 사용된 래치 회로(460a 내지 460f)는 도 14에 상세히 표시한다. 래치 회로(460)는 단지 하나의 래치(346)를 포함하는 것을 제외하고는 도 11에 표시한 래치 회로(340)와 동일하고, 이 회로는 PMOS 트랜지스터(352)를 사용하여 제 1 래치(346)에 대한 입력을 하이로 풀링하고, 이 회로는 도 10의 래치 회로(340)의 제 2 통과 게이트(348) 및 래치(350) 대신에 인버터(490)를 사용한다. 동작 중에, 액티브 로우 RESET* 신호는 트랜지스터(352)를 턴 온 시켜 인버터(490)의 출력을 하이 값으로 구동한다. 액티브 하이 S 및 액티브 로우 S* 신호에 응답하여, 통과 게이트(344)는 래치(346)에 의해 한번 및 인버터(490)에 의해 한번씩 2번 전환된 후 출력 ID에 명령 비트 Y를 결합시키도록 닫혀진다.
도 3에 표시한 기억 레지스터(208)는 모두 4개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후 명령 패킷의 모든 패킷 워드를 기억한다. 그러나, 시프트 레지스터로 시프트된 패킷 워드는 명령 패킷의 모든 패킷 워드가 시프트 레지스터로 시프트되기 전에 1개 이상의 기억 레지스터로 전송될 수 있다. 예를 들면, 각각의 명령 패킷이 4개의 패킷 워드를 포함하는 경우, 패킷 워드는 단지 2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후 2개의 기억 레지스터 중의 하나로 전송될 수 있다. 나머지 2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후, 이들은 동일한 기억 레지스터 또는 제 2 기억 레지스터(도시하지 않음)로 전송될 수 있으므로써, 2개의 기억 레지스터 각각은 2개의 패킷 워드의 각각의 세트를 기억한다. 그와 함께, 2개의 기억 레지스터는 도 3의 기억 레지스터(208)와 동일한 방식으로 40비트 명령어를 출력할 수 있다.
도 4를 참조하여 상기 설명한 바와 같이, 명령 버퍼(200)는 열 명령 유닛(228), 명령 실행 유닛(232) 및 시퀀서를 또한 포함한다. 이들 부품은 도 15 내지 도 24에 상세히 예시된다. 도 15를 참조하여, 열 명령 유닛(228)은 8개의 명령 유닛(500)(도 15에 단일 블록으로서 나타냄) 및 대응하는 명령 유닛 선택기(502)(도 15에 단일 블록으로서 도시됨)를 포함한다. 명령 유닛(500)은 기억 레지스터(206, 208)(도 4)에 기억된 명령어의 Y<32:26, 19:17, 15:12, 10:7> 비트를 수신한다. 명령 유닛들은 거친 버니어 회로(331)(도 5)로부터 거친 버니어 신호 CRSE_VERN<5:0>를 수신하고, 명령 디코더(200)의 어느 딴 곳으로부터 클록 속도를 표시하는 MBPS400 내지 800 신호, 클록 신호 CLK 및 CLK90, 데이터 클록 수신확인 신호 DCLKACK 및 8개의 선택 신호 EXSEL<7:0>를 또한 수신한다. 아래 설명하는 바와 같이, EXSEL<7:0> 신호들은 8개의 명령 유닛(500) 중의 각각의 것을 인에이블시킨다. 명령 유닛(500)은 열 어드레스 처리 회로(506)에 인가된 7비트 열 어드레스 COL<6:0>을 발생시킨다. 열 어드레스 처리 회로(506)는 INC_COL 신호에 응답하여 증가될 수 있는 초기 열 어드레스에 대응하는 열 어드레스 COL<6:0>를 출력한다. 마지막으로, 명령 유닛(500)은 이 명령 유닛(500)중 각각의 신호가 비지(busy)임을 표시하는 비지 신호 EXBUSY<7:0> 및 아래 기재된 방식에 사용된 여러 가지 제어 신호 STARTCOL*, STARTDCLK*, BNKREG<2:0>, CMDLAT<3:1>, DCMD<3,2,0>, STARTCMD<7:0> , CNTHALT* 및 DRVCMD*를 출력한다.
명령 유닛 선택기(502)는 단일 명령어가 1개 이상의 명령 유닛(500)에 기억되는 것을 방지하는 방식으로 명령 유닛(500a 내지 h) 각각에 명령어를 기억시키는 것을 제어한다. 도 18을 참조하여 아래 기재한 바와 같이, 명령 유닛 선택기(502)는 이 명령 유닛이 기억된 명령어로부터 대응하는 명령 신호를 발생시키기 전에 명령어가 명령 유닛(500)에 이미 기억된 명령어를 중복 기입하는 것을 방지한다. 기본적으로, 각각의 명령 유닛(500)은 명령어가 명령 유닛(500a 내지 h)에 기억될 때 각각의 액티브 하이 EXBUSY<7:0> 신호를 발생시킨다. 명령 신호들이 기억된 명령어로부터 발생된 후, EXBUSY<7:0> 신호들은 인액티브 로우 값으로 전이(transition)됨으로써 명령어들은 일단 다시 명령 유닛(500a 내지 h)에 기억될 수 있다.
명령 유닛 선택기(502)는 액티브 하이 EXSEL<7:0> 신호를 어느 시점에 명령 유닛(500a 내지 h) 중의 하나로 발생시킴으로써 어느 명령 유닛(500a 내지 h)이 기억 레지스터(206, 208)로부터 출력된 명령어를 기억하는지를 제어한다. EXSEL<7:0> 신호를 수신하는 명령 유닛(500a 내지 h)은 명령어를 기억한다. 명령 유닛 선택기(502)는 모든 명령 유닛(500a 내지 h)으로부터 BUSY<7:0> 신호들을 조사함으로써 어떤 명령 유닛(500a 내지 h)이 EXSEL<7:0> 신호를 수신해야 하는지를 결정한다. 명령 유닛 선택기(502)는 명령어를 기억하는 제 1 명령 유닛(500a)(즉, 어떤 명령 유닛도 명령어를 아직 기억하지 않음)으로부터 명령어를 기억하는 최종 명령 유닛(500h)(즉, 모든 다른 명령 유닛(500a 내지 g)은 명령어를 이미 기억함)에 이르는 계층 구조로 명령 유닛(500a 내지 h)을 배열한다. 명령 유닛 선택기(502)는 BUSY<7:0> 신호가 액티브 로우이고, 계층 구조에서 더 높은 모든 명령 유닛들(500)에 대한 각각의 BUSY<7:0> 신호들이 액티브 하이인 경우에만 액티브 하이 EXSEL<7:0> 신호를 명령어에 발행한다. 이어서, 선택된 명령 유닛(500)은 아래 상세히 설명하는 바와 같이 기억 레지스터(206, 208)로부터 명령어 COMMAND를 수신하고 처리한다.
열 명령 유닛(228)은 도 4의 열 실행 유닛(232) 및 시퀀서(233)를 포함하는 열 명령 처리기(508)를 또한 포함한다. 열 명령 처리기(508)는 명령 유닛(500)으로부터 BNKGEG<2:0>, CMDLAT<3:1> 및 STARTCOL* 신호를 수신할 뿐만 아니라, 역시 명령 유닛(500a 내지 h)으로 인가되는 클록 신호 CLK 및 CLK90, 및 클록 속도 신호 MBPS400 내지 800을 수신한다. 열 명령 처리기(508)는 INC_COL 신호를 열 어드레스 처리 유닛(506)에 출력하고, STARTCMD<8>, CMDACK 및 CB*<7:0> 신호를 명령 유닛(500a 내지 h)으로 출력한다. 명령 유닛(500), 열 어드레스 처리 유닛(506) 및 열 명령 처리기(508)의 동작 모두는 개별적으로 및 서로 연결시켜 아래 상세히 기재한다.
상술한 바와 같이, 명령 실행 유닛(232)은 8개의 동일한 명령 유닛(500a 내지 h)을 포함한다. 이들 명령 유닛(500) 중의 하나는 명령 실행 유닛(232)의 일부인 일부 추가 회로에 따라 도 16에 표시한다. 명령 유닛(500a 내지 h) 각각은 기억 레지스터(206, 208)로부터 수신된 명령어 Y<39:0>의 소정의 부분을 기억할 수 있다. 기억된 명령어는 대응하는 기능이 메모리 장치에서 수행되게 하는 명령 신호의 시퀀스를 발생시키기 위해 사용된다. 명령어들은 메모리 장치(16)가 대응하는 기능을 수행할 수 있는 것보다 더 빠른 속도로 명령 유닛(500a 내지 h)에 기억될 수 있다. 각각의 명령어를 기억하는 다중 명령 유닛(500a 내지 h)을 사용함으로써 메모리 장치(16)의 속도를 증가시키기 위해 현저한 장점을 제공한다. 다중 명령 유닛(500a 내지 h)을 사용함으로써, 메모리 장치(16)는 이전의 명령 패킷이 아직 처리되지 않았더라도 명령 패킷을 계속 수신할 수 있다. 사실상, 명령 패킷은 이 명령 패킷이 수신하는 평균 속도가 명령 패킷을 처리하고 메모리 전송 동작을 완성하기 위한 평균 시간보다 더 적은 한 수신될 수 있다. 결과적으로, 명령 버퍼(200)를 사용하는 메모리 장치는 비교적 고속으로 동작할 수 있다.
명령 실행 유닛(232)은 루프로 접속된 각각의 인버터 쌍들에 의해 형성된 4개의 래치(510, 512, 514, 515)를 또한 포함한다. 래치(510 내지 516)는 각각의 래치된 DCMD<3,2,0>, COL<6:0>, BNKREG<0> 및 CMDLAT<3:1> 신호를 출력한다. 명령 실행 유닛(232)은 STARTCOL* 및 STARTDCLK* 신호들을 각각 발생시키는 한쌍의 동일한 논리 회로(520, 522)를 포함한다. STARTCOL* 신호는 인버터(530)의 출력에서 발생되고, 이는 NAND 게이트(532)에 의해 구동된다. NAND 게이트(532)는 3개의 NOR 게이트(534, 536, 538)에 의해 구동되고, 이들 각각은 STARTCMD<7:0>의 각각의 비트를 수신한다. NAND 게이트(532)는 액티브 로우 CMDACK 신호에 의해 인에이블된다. CMDACK 신호가 하이일 때, 트랜지스터(540)는 턴 온되어 STARTCOL*이 하이 값이 되게 한다. 논리 회로(520)는 STARTCOL<7:0>의 모든 9비트가 액티브 로우 값일 때 인액티브 하이 STARTCOL* 신호를 발생시킨다. 액티브 하이 STARTCOL<7:0> 비트는 각각의 명령 유닛(500a 내지 h)에 의한 열 명령의 시작을 표시한다. 따라서, 액티브 로우 STARTCOL* 신호는 명령 유닛(500a 내지 h) 중의 하나에 의한 열 명령의 시작을 지시한다.
논리 회로(522)는 논리 회로(520)와 구조적으로 및 기능적으로 동일하고, 그의 동작은 상세히 확대시키지 않을 것이다. 간단히 말하자면, 논리 회로(522)는 STARTDCLK<7:0>의 모든 9개의 비트가 액티브 로우일 때 인액티브 하이 STARTDCKL* 신호를 발생시킨다. 따라서, STARTCOL<7:0>의 1개 이상의 비트가 액티브 하이일 때, STARTDCKL* 신호는 액티브 로우로 될 것이다. STARTDCKL* 신호는 하이 값인 DCLKACK에 의해 역시 하이 값으로 될 수 있다.
명령 유닛(500a 내지 h)은 도 17에 상세히 예시된다. 상술한 바와 같이, 각각의 명령 유닛(500)은 디코더(210)에 의해 발생된 LDXCTR 신호에 응답하여 CRSE_VERN<5:0> 워드로 프리로딩되는 카운터(550)를 포함한다(도 5). 카운터(550)는 디코더(210)에 의해 또한 발생되는 START 신호를 수신한다. START 신호는 카운터(550)가 감소를 시작하게 한다. 그러나, 카운터(550)는 선택적으로 증가하는 카운터일 수 있음을 이해해야 한다. 카운터(550)는 그의 EXSEL 입력이 하이 값인 경우에만 CLK 및 CLK90 신호들에 응답하여 증가할 수 있다. 카운터(550)가 감소를 시작할 때마다. 카운터(550)는 쇼트 액티브 로우 START_EN* 신호를 발생시킨다. 카운터의 출력은 6-비트 워드 CNT<5:0>이다. 카운터의 제로 최종 카운트(zero terminal count)는 카운터(550)의 최종 카운트가 아래 상세히 설명되는 바와 같이 도달할 때 액티브 로우 CNTHALT* 신호를 발생시키도록 시작 명령 발생기(560)에 의해 디코딩된다. CNTHALT* 신호는 카운터(550)가 감소를 종료하고 아래 설명하는 다른 기능을 수행하게 한다. 카운터(550)의 CNT<5:0> 출력은 메모리 장치의 다른 부분에 의해 여러 가지 명령 신호를 발생시키도록 디코딩된다.
도 15를 참조하여 상기 설명하는 바와 같이, 명령 유닛들 각각(500)은 명령 유닛들 각각(500)으로부터의 EXBUSY 신호들에 응답하여 각각의 EXSEL 신호를 발생시키는 각각의 명령 유닛 선택기(502)를 또한 포함한다. EXBUSY 신호는 플립-플롭을 형성하기 위해 접속된 한 쌍의 NAND 게이트(562, 564)에 의해 발생된다. NAND 게이트(564)의 출력은 인버터(568)의 출력에 EXBUSY 신호를 발생시키기 위해 2개의 인버터(566, 568)를 통해 결합된다. NAND 게이트(562, 564)에 의해 형성된 플립-플롭은 카운터(550)가 감소를 시작할 때 START_EN*에 의해 액티브 하이 EXBUSY 신호를 발생시키도록 설정된다. 따라서, 카운터(550)가 감소를 시작할 때, 액티브 하이 EXBUSY 신호는 카운터(550)가 바쁘게 감소함을 표시한다. NAND 게이트(562, 564)에 의해 형성된 플립-플롭은 액티브 로우 RESET* 신호에 의해 파워 온 상태에서 리셋된다. NAND 게이트(562, 564)에 의해 형성된 플립-플롭은 카운터(560)의 제로 최종 값에 도달할 때 발생된 액티브 로우 CNTHALT* 신호에 의해 또한 리셋된다. 상술한 바와 같이, CNTHALT* 신호는 카운터(560)가 더 감소하는 것을 방지하고, 이 CNTHALT* 신호는 카운터(560)가 더 이상 바쁘게 감소하지 않음을 지시하도록 EXBUSY 신호를 또한 종료시킨다.
NAND 게이트(562, 564)에 의해 형성된 플립-플롭이 설정될 때, NAND 게이트(564)의 출력은 여러 가지 래치(580, 582, 584)에 인가된 신호들을 래치하기 위해 한 쌍의 인버터(572, 574)에 의해 전환되는 지연 회로(570)를 트리거링 (trigger)한다. 래치(580)는 3-상태 인버터(tri-state inverter)(590)를 통해 결합된 후 열 어드레스 COL<6:0>를 포함하는 명령어 비트 Y<32:27>를 기억한다. 마찬가지로, 래치(582)는 3-상태 인버터(594)에 의해 반전된 후 뱅크 어드레스 BNKREG<2:0>로서 출력되는, 멀티플렉서(592)로부터 수신된 뱅크 또는 레지스터 어드레스를 기억한다. 뱅크 어드레스는 Y<15:13>이고, 이것은 메모리 액세스를 위해 8개의 메모리 뱅크 중의 하나를 선택하기 위해 사용된다. 멀티플렉서(592)는 Y<12> 명령어 비트의 상태에 따라 뱅크 어드레스 BNKREG<2:0>로서 Y<15:13> 또는 Y<19:17>을 선택한다. 마지막으로, 명령어 비트 Y<11:7>는 래치된 명령어 CMDLAT*<4:0>를 발생하기 위해 래치(584)에 기억된다. CMDLAT<4:0>인 비트1 내지 3은 CMDLAT<3:1> 출력을 발생시키기 위한 CMDLAT*<3:1>로서 3-상태 인버터(600)에 인가된다. 마찬가지로, CMDLAT* 비트<3,2,0>는 DCMD<3,2,0> 출력을 발생시키기 위해 3-상태 인버터(602)에 인가된다. 3-상태 버퍼(590, 594 및 600)는 DRVCMD* 신호 및 DRVCMD* 신호가 인가되는 인버터(608)의 출력에서 발생된 보수 DRVCMD에 의해 액티브 하이 임피던스 상태들 간에 스위칭된다. DRVCMD* 신호는 아래 설명되는 바와 같이 시작 명령 발생기(560)에 의해 발생된다. 마찬가지로, 3-상태 버퍼(602)는 STARTDCLK 신호와, DRVCMD 신호가 인가되는 인버터(610)의 출력에서 발생된 보수 STARTDCLK*에 의해 액티브 및 하이 임피던스 상태들 간에 스위칭된다.
EXVUSY 신호가 인액티브 로우 값으로 전이될 때, 인버터(566)의 출력에서 로우-하이 전이는 인버터(622)의 출력에서 펄스가 발생되게 하는 펄스 발생기(620)를 트리거링한다. 인버터(622)의 출력에서 펄스는 한 쌍의 NAND 게이트(624, 626)에 의해 형성된 플립-플롭을 설정한다. 결과적으로, 액티브 하이 EXPREP 신호가 아래 설명되는 방식으로 사용되는 NAND 게이트(624)의 출력에서 발생된다. NAND 게이트(624, 626)에 의해 형성된 플립-플롭은 카운터(550)에 의해 발생된 액티브 로우 RESET* 신호 또는 액티브 로우 EXACT* 신호에 의해 리셋된다.
카운터(550)의 동작을 제어하기 위해 EXBUSY<7:0> 신호에 응답하여 EXSEL<7:0> 신호를 발생시키는 명령 유닛 선택기(502)(도 15)는 도 18에 예시된다. 상기 설명한 바와 같이, 명령 유닛 선택기(502)는 각각의 명령 유닛(500)에 명령어를 기억시키는 것을 제어하는 각각의 EXSEL 신호들을 발생시키기 위해 각각의 명령 유닛(500)으로부터 각각의 BUSY 신호들을 조사한다. 결과적으로, 명령 유닛 선택기(502)는 단일 명령어가 1개 이상의 명령 유닛(500)에 기억되는 것을 방지하고, 명령어가 이전에 기억된 명령어를 너무 이르게 중복 기입하는 것을 방지한다. 상술한 바와 같이, 명령 유닛 선택기(502)는 각각의 명령 유닛 및 이들의 각각의 EXBUSY 신호들을 계층 구조로 배열함으로써 이들 기능을 수행한다.
명령 유닛 선택기(502)는 래치 제어 회로(720)에 의해 동작되는 각각의 명령 유닛(500a 내지 h)에 대응하는 각각의 래치(740)를 포함한다. 각각의 래치(710)는 인버터(722)의 출력이 하이 값으로 되고, 인버터(724)의 출력이 로우 값으로 될 때 각각의 EXBUSY 신호를 기억한다. 이러한 조건은 NOR 게이트(726, 728)에 의해 형성된 플립-플롭이 펄스 발생기(730)에 의해 발생된 펄스에 의해 설정될 때마다 발생한다. 펄스 발생기(730)는 그의 입력에서 F<2> 신호를 수신하는 인버터(732)의 출력에서 음으로 진행되는 전이에 의해 트리거링된다. F<2> 신호는 FLAG 신호가 시프트 레지스터 회로(246)에 의해 수신된 후 제 3 CLK 신호 전이에 의해 시프트 레지스터 회로(246)(도 5)에 의해 발생된다. 따라서, F<2> 신호가 발생될 때 EXBUSY 신호들은 이들의 각각의 래치(710)에 기억된다. NOR 게이트들(726, 728)에 의해 형성된 플립-플롭은 F<2> 신호 후 한 클록 사이클로 F<4> 신호에 응답하여 발생하는 펄스 발생기(738)로부터의 펄스, 또는 인버터(736)를 통해 결합된 음으로 진행되는 파워-온 리셋 신호 RESET*에 의해 리셋된다. 그러므로, EXSEL<7:0> 신호들은 F<3> 신호가 활성인 시간동안, 즉, 하이 값으로 되는 F<2> 신호와 하이 값으로 되는 F<4> 신호 간에 안정하다. 이러한 시점 동안 이용 가능한 명령 유닛(500)이 선택되고, 명령어에 따라 로드되고, 이어서 인에이블된다. F<4>가 하이 값으로 될 때 선택된 명령 유닛(500)의 EXSEL 출력은 선택된 명령 유닛이 바쁜(busy) 것을 나타내도록 하이 값으로 된다. 요약하자면, 명령 유닛(500)의 비지 상태가 F<2>에서 동결될 때, 이용 가능한 명령 유닛(500)이 F<3>에서 선택되고, 로드되고, 인에이블되며, 선택된 명령 유닛의 비지 상태는 F<4>에서 표시된다.
명령 유닛 선택기(502)의 나머지는 각각의 명령 유닛(720)으로부터 EXBUSY 신호들을 상기 설명한 바와 같이 계층 구조로 배열시키는 논리 회로(740)를 포함한다. EXBUSY<0> 신호는 가장 높은 계층을 갖고, EXBUSY<7> 신호는 가장 낮은 계층을 갖는다. 즉, EXBUSY<0> 신호를 수신하는 명령 유닛(500)은 임의의 다른 명령 유닛(500) 전의 명령어를 기억할 것이고, EXBUSY<7> 신호를 수신하는 명령 유닛은 다른 모든 명령 유닛(500)이 명령어를 기억할 때까지 명령어를 기억하지 않을 것이다. EXBUSY<0> 신호를 발생시키는 논리 회로(740)는 3개의 인버터(746, 748, 750)를 포함한다. 모든 다른 EXSEL 신호들을 발생시키는 논리 회로(740)는 NOR 게이트(752) 및 한 쌍의 인버터(754, 756)를 포함한다. 인버터(760)는 아래 설명하게 될 이유 때문에 하위 계층을 갖는 NOR 게이트(752)에 각각의 래치 회로(710)의 출력을 결합시킨다.
액티브 하이 EXSEL<0> 신호는 인액티브 로우 EXBUSY<0> 신호가 래치(710a)에 기억될 때마다 발생되는 것이 명백할 것이다. 따라서, EXBUSY<0> 신호를 발생시키는 명령 유닛(500a)이 카운팅하는데 바쁘지 않는 한, 하이 EXSEL<0> 신호는 명령 유닛(500a)이 명령어를 기억하게 하도록 발생될 것이다. 인버터(746)의 출력은 NOR 게이트들(752)에 결합되어, EXSEL<7:1> 신호들이 각각의 비지 입력 신호들인 EXBUSY<7:1>가 인액티브 로우인 경우에도 활성이 되는 것을 방지한다. 보다 상세하게는, 래치(710a)의 출력에서 로우 EXBUSY<0> 신호는 인버터(746)의 출력이 하이로 되게 할 것이다. 인버터(746)의 출력에서의 하이 값은 그것이 결합되는 NOR 게이트들(752)을 디스에이블할 것이고, 그에 의해 EXSEL<2:1> 신호들이 하이 값으로 되는 것을 방지한다. 인버터(746)의 출력은 인버터(760)를 통해 NAND 게이트(770)에 결합됨으로써 인버터(746)의 출력에서 하이 값은 NAND 게이트(770)가 하이 값을 출력하게 한다. NAND 게이트(770)의 출력에서 하이 값은 EXSEL<7:3> 신호들에 대한 나머지 NOR 게이트(752)를 디스에이블시킨다. 따라서, EXBUSY<0> 신호가 로우 값일 때마다, 액티브 하이 EXSEL<0> 신호가 발생되고, EXSEL<7:1> 신호들은 강제적으로 인액티브 로우 값으로 된다.
EXBUSY<0> 신호가 액티브 하이일 때, 인버터(746)는 로우 값을 출력한다. 인버터(746)의 출력에서 로우 값은 직접적으로 또는 NAND 게이트(770)를 통해 모든 NOR 게이트(752)를 인에이블시킨다. 그러나, 액티브 하이 EXSEL<N> 신호는 계층 구조에서 상위인(higher) EXBUSY<N+1> 신호들이 액티브 하이인 경우에만 인액티브 로우 EXBUSY<N> 신호에 응답하여 발생될 수 있다. 예를 들면, EXBUSY<4> 신호가 인액티브 로우인 경우, 액티브 하이 EXSEL<4> 신호는 EXBUSY<4> 신호를 발생시키는 NAND 게이트(752)가 인에이블되는 경우에만 발생될 것이다. NAND 게이트(752)는 래치된 EXBUSY<3> 신호가 액티브 하이이고, NAND 게이트(770)의 출력이 액티브 하이인 EXBUSY<2:0> 신호들에 응답하여 로우인 경우에만 인에이블될 것이다. EXSEL<4> 신호가 인액티브 로우 EXBUSY<4> 신호로부터 발생되는 경우, 그의 래치(410e)의 출력에서 하이 값은 하위 계층(lower hierarchy)을 갖는 모든 NAND 게이트(752)를 디스에이블시키기 위해 인버터(760)를 통해 결합된다. 이러한 방식으로, 명령 유닛 선택기(502)는 각각의 명령어가 단지 하나의 명령 유닛(500)에 기억되고, 그의 각각의 EXBUSY 신호가 인액티브 로우로 될 때까지 기억된 명령을 중복 기입하지 않도록 보장한다. 상술한 바와 같이, 명령 유닛(500)에 대한 EXBUSY 신호는 카운터 (550)가 최종 카운트로 감소될 때까지 CNTHALT* 신호에 응답하여 인액티브 로우 값으로 된다.
EXBUSY 및 EXSEL 신호들의 루핑 특성(looping nature)(즉, EXSEL 신호는 EXBUSY 신호를 제어하고, EXBUSY 신호는 EXSEL 신호 등을 제어함)은 EXSEL 신호들이 발생되는 시점을 제어하는 것을 중요하게 만든다. 기본적으로, 타이밍 회로(720)는 F<2> 신호가 발생될 때 EXBUSY 신호들의 상태를 동결시킨다. 간단하게는, F<2> 신호 후에, F<3> 신호는 명령 유닛 선택기(502)로부터 EXSEL 출력중 하나가 명령 유닛(500)을 로드하고 인에이블시키기 위해 액티브 하이로 되는 시간 동안 발생된다. 상기 설명한 바와 같이, F<4>에서의 CLK 신호의 다음의 전이에서, START 신호는 카운터(550)가 감소를 시작하게 하도록 발생된다. F<4> 신호는 NOR 게이트들(726, 728)에 의해 형성된 플립-플롭을 리셋함으로써 래치들(720)을 동결 해제한다. 결과적으로, 신호들의 과도적인 특성이 2개의 명령 유닛들(500)이 동일한 명령어를 기억하도록 하거나 또는 명령어가 다른 명령어를 중복 기입하도록 하는 경쟁 조건들이 방지된다.
카운터(550)의 구조 및 동작을 이하 도 19를 참조하여 설명할 것이다. 카운터(550)는 상기 설명한 바와 같이 제어 회로(205)(도 5)에 의해 생성된 클록 신호 CLK0, CLK0*, CLK1, CLK1*에 응답하여 초기의 프리로드 카운트로부터 0으로 감소하는 6단계 직각 위상 카운터(6-stage quadrature counter)이다. 그러나, 본 명세서에 기재된 원리들은 감소하는 카운터들보다는 증가하는 카운터들에 그리고 더 크거나 더 작은 수의 단계들을 갖는 카운터들에 동일하게 적용될 수 있다.
카운터(550)는 각각이 카운트 CNT<5:0>의 6비트들 각각을 제공하는 6개의 레지스터들(800a 내지 f)을 포함한다. 각각의 레지스터는 매 클록 사이클마다 발생하는 클록 신호 CLK0, CLK0*, CLK1, CLK1*의 소정의 조합에 응답하여 그의 보수인 신호를 출력한다. 이들 특성을 갖는 레지스터는 통상적이며, 따라서 상세히 설명하지 않을 것이다.
일련의 레지스터에 의해 형성된 종래의 카운터에서, 각각의 레지스터는 바로 이전의 레지스터의 전이에 응답한다. 각각의 레지스터가 전이될 수 있기 전에, 모든 선행 레지스터들은 순차로 전이되어야 한다. 예를 들면, 제 3 최소 유효 비트의 전이를 위해, 최소 유효 비트가 먼저 전이되고, 제 2 최소 유효 비트의 전이를 유발하고, 이는 차례로 제 3 최소 유효 비트의 전이를 유발한다. 당업계의 숙련자라면 최소 유효 비트의 전이는 최대 유효 비트의 전이를 유발하기 위해 레지스터들을 통해 "리플(ripple)"해야 함을 인식할 것이다. 각각의 레지스터는 지연을 부과하기 때문에, 카운터의 제 3 최소 유효 비트는 2개의 선행 레지스터의 지연에 의해 지연된다.
종래의 카운터와 달리, 제 1 레지스터(800a)를 제외하고, 카운터(500)의 각각의 레지스터(800b 내지 f)는 각각의 논리 회로(804b 내지 f)를 통해 그의 출력을 연속 레지스터(800b 내지 f)를 향하여 공급한다. 각각의 논리 회로(804b 내지 f)는 이어서 모든 선행하는 비트가 "0"일 때 결정될 수 있고 다음 클록 사이클 동안 그의 대응하는 레지스터(800b 내지 f)이 전이하도록 인에이블시킨다. 선행하는 비트들은 임의의 중재하는 레지스터(800b 내지 f)를 우회하기 때문에, 신호 전이가 레지스터(800b 내지 f) 각각을 통해 순서대로 리플될 필요는 없다.
도 19를 더 참조하여, 레지스터(800a 내지 b)는 인버터(810)의 출력에서 전력을 수신하고, 또한 인버터(812)의 출력에서 접지 전위를 수신한다. 인버터(810)는 다시 한 쌍의 인버터(814, 816)에 의해 형성된 래치에 의해 구동된다. 인버터(812, 814)는 NMOS 트랜지스터(820)의 드레인에 결합된다. NMOS 트랜지스터 (820)의 게이트는 NAND 게이트(824)의 모든 출력 및 CNTHALT* 신호를 수신하는 NAND 게이트(822)에 의해 구동된다. CNTHALT* 신호는 카운터(550)가 카운트할 때마다 하이 값으로 될 것이고, 따라서 NAND 게이트(822)를 인에이블시킨다. NAND 게이트 (824)가 액티브 로우 EXBUSY* 신호를 검출할 때, NAND 게이트(824)는 NAND 게이트(822)가 로우 값을 출력하게 하는 하이 값을 출력함으로써 트랜지스터(820)를 턴 오프시킨다. 카운터(550)를 인에이블시키기 전에, 인버터(810)의 출력은 로우 값으로 됨으로써 인버터(830)가 NAND 게이트(832)를 인에이블시키는 하이 값을 출력하게 한다. EXPREP 신호는 그 시점에서 크기 때문에, NAND 게이트(832)는 PMOS 트랜지스터(834)를 턴 온 시키는 로우 값을 출력한다. 따라서, START 신호가 하이 값으로 될 때, 인버터(810)의 출력은 레지스터(800a 내지 f)에 파워를 공급하기 위해 하이로 된다. START 신호는 인버터(812)의 출력이 로우 값을 출력하게 함으로써, 레지스터(800a 내지 f)의 접지 단자를 접지에 결합시킨다. 인버터들(812, 814)에 대한 입력들은 이후에 인버터(816)가 인버터(814)와 래치를 형성하므로 하이 값을 인버터(816)가 계속 출력하기 때문에 하이 값으로 남게 된다. 따라서, 레지스터(800a 내지 f)는 EXBUSY* 신호가 액티브 로우인 한, START 신호에 응답하여 파워 및 접지에 결합될 것이다.
EXBUSY* 신호가 인액티브 하이 값으로 될 때, NAND 게이트(824)는 로우 값을 출력함으로써 NAND 게이트(822)가 하이 값을 출력하게 한다. NAND 게이트(822)의 출력에서 하이 값은 트랜지스터(820)를 턴 온시킴으로써, 인버터(812, 814)에 대한 입력을 로우 값으로 풀링한다. 이어서, 인버터(810)의 출력은 레지스터(800a 내지 f)로부터 파워를 제거하기 위해 로우 값으로 되고, 인버터(812)의 출력은 레지스터(800a 내지 f)로부터 접지 전위를 제거하기 위해 하이 값으로 된다. ON 트랜지스터(820)에 의해 생성된 로우 값은 NAND 게이트(824)로 피드백되고, 이어서 다시 NAND 게이트(822)가 로우 값을 출력하게 하도록 하이 값을 출력한다. 이어서, 트랜지스터(820)는 턴 오프된다. 그러나, 래치된 인버터(816)는 계속 로우 값을 출력하기 때문에 인버터(812, 814)에 대한 입력은 로우 값으로 남게 된다. 트랜지스터(820)를 턴 온시키는 NAND 게이트(822)의 출력에서 하이 값은 트랜지스터 (840)를 턴 온시키기도 한다. 결과적으로, 인버터(830)에 대한 입력은 로우 값으로 풀링되고, 그에 의해 인버터(830)가 NAND 게이트(832)에 하이 값을 인가하게 한다. NAND 게이트(832)는 PMOS 트랜지스터(834)를 턴 온시키기 위해 로우 값을 출력한다.
레지스터(800a 내지 f)는 CNTHALT* 신호가 도달된 카운터(550)의 최종 카운트에 응답하여 액티브 로우 값으로 될 때 파워 및 접지로부터 결합 해제된다 (decoupled). CNTHALT* 신호가 로우 값으로 될 때, NAND 게이트(822)의 출력이 하이 값을 출력하게 함으로써, 트랜지스터(820)를 턴 온시키고, 인버터(812, 814)에 대한 입력을 상술한 바와 같이 로우 값으로 풀링한다. 로우 CNTHALT* 신호는 PMOS 트랜지스터(844)를 턴 온시켜 인버터(810)에 대한 입력에 하이 값을 풀링함으로써 인버터(810)가 로우 값을 출력하게 한다.
상술한 바와 같이, 카운터(550)는 그의 카운트를 시작하기 전에 거친 버니어 워드 CRSE_VERN<5:0>에 대응하는 값으로 프리로드된다. 거친 버니어 워드(coarse vernier word) CRSE_VERN<5:0>의 각각의 비트는 각각의 인버터(850a 내지 f)를 통해 통과 게이트(852a 내지 f)에 인가된다. 멀티플렉서들(852a 내지 f)은 펄스 발생기(860)로부터의 펄스에 응답하여 발생하는 인버터(858)의 출력에서의 로우 값과 인버터 (856)의 출력에서의 하이 값에 의해 인에이블된다. 펄스 발생기(860)는 NAND 게이트(862)의 출력에서 로우 값에 의해 트리거링되는 것에 응답하여 펄스를 발생시킨다. NAND 게이트(862)는 NAND 게이트(862)가 EXSEL 신호에 의해 인에이블될 때마다 LDEXCNTR 펄스에 응답하여 펄스 발생기(860)를 트리거링한다. 상기 설명한 바와 같이, EXSEL 신호는 카운터(550)를 인에이블시키기 위해 하이 값이다. 따라서, 카운터(550)가 EXSEL 신호에 의해 인에이블될 때, 레지스터(800a 내지 f)는 거친 버니어 워드 CRSE_VERN<5:0>에 의해 프리로드된다. 거친 버니어 워드 CRSE_VERN<5:0>는 미합중국 특허 출원 제*호에 개시된 다른 회로에 의해 발생되고, 이 문헌은 본 명세서에 참조로서 통합되어 있다.
상술한 바와 같이, 레지스터(800a 내지 f)는 각각의 논리 회로(804b 내지 f)를 통해 결합된 입력들을 수신한다. 최소 유효 비트 CNT<0>을 발생시키는 제 1 레지스터(800a)는 레지스터(800a)의 출력으로부터 그의 입력을 수신한다. 따라서, 레지스터(800a)의 출력은 매 클록 사이클마다 토글링(toggle)된다. 논리 회로(804b)는 한 쌍의 NOR 게이트(870, 872)를 포함한다. 레지스터(800b)의 출력은 인버터(874)를 통해 NOR 게이트(872)의 입력으로 직접적으로 NOR 게이트(870)에 인가된다. 따라서, NOR 게이트(870, 872)는 레지스터(800b)의 출력에 의해 교대로 인에이블된다. 결과적으로, 레지스터(800a)의 출력에서 발생된 로우값은 NOR 게이트(870) 및 NOR 게이트(872)를 통해 교대로 결합된다. 레지스터(800a)의 출력에서의 로우 값은 레지스터(800b)의 A 입력에 하이 값으로서 결합되고, 레지스터(800a)의 출력에서의 로우 값은 인버터(876)를 통해 레지스터(800b)의 A* 입력에 로우 값으로서 결합된다. 결과적으로, 레지스터(800b)는 레지스터(800b)의 출력에서 발생된 각각의 로우 값에 의해 토글링된다.
논리 회로(804c)는 NOR 게이트(870, 872)가 이전의 모든 레지스터, 즉 레지스터(800a,b)로부터 출력을 수신하는 것을 제외하고는 논리 회로(804b)와 본질적으로 동일한 방식으로 동작한다. 결과적으로, 레지스터(800c)에 도달하기 전에 레지스터(800a)의 출력에서의 하이-로우 전이가 레지스터(800b)를 통해 결합될 필요가 없다.
논리 회로(804d 내지 f)는 바로 이전의 레지스터 및 업스트림 레지스터로부터의 출력들을 결합하기 위해 NOR 게이트(880) 및 인버터(882)를 포함하는 것을 제외하고는 논리 회로들(804b, c)과 실질적으로 동일한 방식으로 동작한다.
시작 명령 발생기(560)(도 17)는 도 20에 상세히 예시된다. 시작 명령 발생기(560)의 기본 기능은 클록 신호 CLK 및 CLK90의 주파수에 따라 적절한 시간에 여러 가지 명령, 즉 CNTHALT*, CRVCMD* 및 STARTCMD를 발생시키는 것이다. 클록 속도의 기능인 경우에는 이들 명령의 타이밍이다. 예를 들면, 명령들은 명령 버퍼를 포함하는 메모리 장치에게 명령들에 대응하는 다양한 동작들을 완료시킬 더 많은 클록 사이클들을 허용하도록 더 높은 클록 속도들에서 더 일찍 발생된다. 도 19를 참조하여 상기 설명한 바와 같이, CNTHALT* 신호는 카운터(550)의 "000000" 최종 카운트에 도달할 때 클록(550)이 계속 감소하는 것을 방지한다. DRVCMD* 신호는 시작 명령 발생기(560)를 포함하는 명령 유닛(500)(도 17)에 명령을 발생시키기 위해 사용되고, STARTCMD 신호는 아래 설명하는 바와 같이 열 명령을 시작하기 위해 사용된다.
카운터(550)의 "000000" 최종 카운트는 카운트 CNT<3:0>의 4개의 최소 유효 비트의 보수를 수신하는 다중 입력 AND 게이트(900)에 의해 검출된다. CNT<3:0>의 보수는 일반적으로 (902)로 표시한 각각의 인버터에 CNT<3:0>를 인가함으로써 발생된다. AND 게이트(900)는 인버터(912)의 출력이 로우 값일 때마다 하이 값인 인버터(908)의 출력을 수신한다. 인버터(912)의 출력은 NOR 게이트(910)에 대한 CNT<4> 및 CNT<5> 입력이 모두 로우일 때마다 로우로 될 것이다. 따라서, NOR 게이트(910)에 대한 모든 입력은 CNT<5:0>가 모두 로우일 때 하이일 것이다. AND 게이트(900)는 EXACT*가 액티브 로우일 때마다 인버터(906)의 출력에서 하이 값에 의해 인에이블되는 한 하이 값을 발생시킬 것이다. 카운터(950)의 최종 카운트에 도달할 때, AND 게이트(900)는 NAND 게이트(904)에 의해 검출된 하이 값을 출력하고, 이는 통상적으로 시작 명령 발생기(560)에 대응하는 카운터(560)가 감소할 때 하이 EXBUSY 신호에 의해 인에이블된다. 따라서, 최종 카운트에 도달할 때, CNTHALT* 신호는 액티브 로우 값이 된다.
도 20에 표시한 시작 명령 발생기(560)의 나머지는 클록 주파수에 따라 적절한 시간에 DRVCMD* 신호 및 STARTCOMD 신호를 발생시킨다. 이어서, 시작 명령 발생기(560)는 명령이 아래 기재된 다운 스트림 회로에 의해 수신되는 것을 인식하는 CMDACK 신호를 기다린다.
인버터(920)의 출력에서의 DRVCMD* 신호는 STARTCMD 신호가 하이 값으로 될 때마다 로우 값으로 될 것이다. 인버터(922)의 출력에서의 STARTCMD 신호는 입력이 턴 온된 6개의 NMOS 트랜지스터들(924 내지 934) 중 임의의 것에 의해 풀링될 때마다 하이 값으로 된다. 인버터(922)의 출력에서 하이 값은 인버터(938)에 의해 래치된다. 따라서, DRVCMD* 신호 및 STARTCMD 신호들은 턴 온된 트랜지스터(924 내지 934)중 어느 것에 응답하여 발생된다.
NMOS 트랜지스터(924)는 하이 값으로 되는 AND 게이트(940)의 출력에 응답하여 턴 온될 것이다. AND 게이트(940)는 카운터(550)의 4개의 최소 유효 비트 CNT<3:0>를 수신하고, 그중 2개의 CNT<1:0>은 인버터(942, 944)에 의해 반전된다. AND 게이트(940)는 CNT<5:4> 모두가 하이 값일 때마다 아래 설명하는 바와 같이 하이 값인 인버터(908)의 출력을 수신한다. 따라서, AND 게이트(940)는 카운터(550)의 "001100" 카운트, 즉 카운트 12를 디코딩한다. AND 게이트(940)는 NAND 게이트(948)에 대한 모든 입력이 하이 값일 때마다 발생하는 NAND 게이트(948)의 출력에서 로우 값에 의해 인에이블된다. 상기에 설명한 바와 같이, 시작 명령 발생기(560)에 의해 개시된 명령이 다운스트림 회로에 의해 인식될 때까지 CMDACK 신호는 통상적으로 로우 값이기 때문에, NAND 게이트(948)는 통상적으로 인버터(950)의 출력에서 하이 값을 수신한다. NAND 게이트(948)는 판독 동작 동안 인액티브 하이인 WRITE* 신호를 또한 수신한다. NAND 게이트(948)는 한쌍의 NAND 게이트(954, 956)에 의해 형성된 플립-플롭의 출력을 수신한다. 플립-플롭은 카운터(550)가 감소를 시작하는 시점 전에 로우 값인 EXBUSY에 의해 먼저 설정된다. 플립-플롭은 NOR 게이트(960)가 로우 DRVCMD* 신호에 의해 인에이블되고, CMDACK가 액티브 하이로 될 때 발생하는 인버터(958)의 출력에서 로우 값에 응답하여 리셋된다. 마지막으로, NAND 게이트(948)는 400MHz 클록 주파수를 표시하는 MBPS400 신호를 수신한다. 따라서, 트랜지스터(924)는 400MHz 클록 주파수에서의 판독 동작 동안 카운터 (550)의 카운트(12)에서 턴 온된다.
마찬가지로, 트랜지스터(926)는 AND 게이트(970)로부터 하이 값에 응답하여 턴 온될 것이고, 이는 600MHz에서 판독 동작 동안 "001110"의 카운트 CNT<5:0>, 즉 카운터(550)의 카운트(14)를 디코딩할 때 발생한다. 트랜지스터(928)는 AND 게이트(972)의 출력에서 하이 값에 응답하여 턴 온될 것이다. AND 게이트(972)는 CNT<0>, CNT<3:1>의 보수 및 NOR 게이트(974)의 출력을 수신한다. NOR 게이트(974)는 인버터(976)를 통해 CNT<5> 및 CNT<4>의 보수를 수신한다. 따라서, NOR 게이트(974)의 출력은 CNT<5:4>가 "01"일 때 하이 값으로 된다. 따라서, AND 게이트(972)는 800MHz의 클록 주파수에서 판독 동작 동안 "010001"의 카운트 CNT<5:0>, 즉 카운터(550)의 카운트(17)를 디코딩한다. 따라서, STARTCMD는 MBPS 신호들에 의해 지정된 클록 속도에 대응하는 시점의 판독 동작에서 하이 값으로 되고, 보다 큰 클록 속도는 STARTCMD 신호를 카운트 다운시에 일찍 발생되게 하고, 보다 느린 클록 속도는 STARTCMD 신호를 카운트 다운시에 나중에 발생되게 한다. 더 높은 클록 속도들에서 STARTCMD 신호를 더 일찍 발생시킴으로써, 메모리 장치는 명령들에 응답하도록 더 많은 클록 사이클들을 가져, 명령들을 처리하는데 할당된 시간은 클록 속도와 무관하게 비교적 균일하다.
시작 명령 발생기(560)는 회로(980)의 AND 게이트가 WRITE*보다는 오히려 인버터(982)의 출력에서 WRITE*의 보수를 수신하는 것을 제외하고는 상기 회로와 구조적으로 및 기능적으로 동일한 추가의 회로를 포함하고, 이들은 상이한 카운트 CNT<5:0>를 디코딩한다. 따라서, 간단히 할 목적으로, 이러한 추가의 회로는 상세히 설명하지 않을 것이다. AND 게이트는 WRITE*의 하이인 보수에 의해 인에이블되기 때문에, 회로(980)에서 AND 게이트는 STARTCMD 신호가 각각의 클록 속도에 대응하는 클록의 카운트에서 발생되게 한다. 보다 상세하게는, 기입 동작을 위해, STARTCMD 신호들은 400 MHz 클록 주파수에 대한 카운터(550)의 카운트(5)에서, 600MHz 클록 주파수에 대한 카운터(550)의 카운트(7) 및 800MHz 클록 주파수에 대한 카운터(550)의 카운트(10)에서 발생할 것이다. 판독 동작은 기입 동작보다 많은 시간을 필요로 하기 때문에 판독 동작에 대한 카운트(12, 14 및 17)보다 나중에 기입 동작에 대한 카운트(5, 7 및 10)가 발생함으로써 판독 동작을 위한 STARTCMD 신호가 보다 일찍, 즉, 보다 큰 카운트로 발생되는 것을 필요로 한다.
도 15의 열 명령 유닛(228)에서 열 명령 처리기(508)는 도 21에 상세히 예시된다. 상술한 바와 같이, 열 명령 처리기(508)의 기능은 클록 속도 신호 MBPS400 내지 MBPS800으로 지시된 바의 클록 속도에 대응하는 시점에 많은 명령을 발생시키는 것이다. 열 명령 처리기(508)의 동작은 액티브 로우 값으로 되는 STARTCOL* 신호에 의해 개시된다. 도 16을 참조하여 상기에 설명한 바와 같이, STARTCOL* 신호는 8개의 STARTCMD<8:0> 신호중 어느 것이 하이 값으로 될 때마다 논리 회로(520)에 의해 발생된다. STARTCOL*의 하이 값에서 로우 값으로의 전이는 STARTCOL*이 로우 값으로 되기 전에 로우 값을 출력하는 NOR 게이트(1000)에 의해 검출된다. 로우 값은 NOR 게이트(1000)의 출력에서 발생되어 제어 회로(1002)를 디스에이블시킨다. 제어 회로(1002)는 NOR 게이트(1000)의 출력에 의해 인에이블되는 것을 제외하고는 도 10에 표시한 기억 레지스터(206)에 사용된 제어 회로(300)와 본질적으로 동일하다. 따라서, 간단히 할 목적으로, 제어 회로(1002)의 상세한 설명은 반복하지 않을 것이다. 기본적으로, 제어 회로(1002)는 하이 값으로 되는 NOR 게이트(1000)의 출력에 의해 인에이블된 후 클록 신호 CLK의 상승 에지 및 하강 에지 상에 펄스를 출력한다. 결과적으로, STARTCOL*이 로우 값으로 될 때, 제어 회로(1002)는 NOR 게이트(1000)의 다른 입력에 양으로 가는 펄스(positive going pulse)를 출력한다. 양으로 가는 펄스는 즉각적으로 NOR 게이트(1000)를 디스에이블시킨다. 따라서, NOR 게이트(1000)는 로우 값으로 되는 STARTCOL*에 응답하여 클록 신호 CLK의 하나의 전이에 대해서만 하이 또는 논리 "1"인 신호를 발생시킬 수 있다.
제어 회로(1002)에 의해 발생된 양으로 가는 펄스는 명령 수신확인 신호 CMDACK를 생성한다. 도 20을 참조하여 상기 설명한 바와 같이, CMDACK 신호는 STATCMD 신호의 결과가 다운스트림 열 명령 처리기(508)에 의해 수신되고 처리되는 것을 시작 명령 발생기(560)에 인식시키기 위해 사용된다.
NOR 게이트(1000)의 출력에서 논리 "1"은 3개의 4비트 시프트 레지스터 (1010, 1012, 1014)에 또한 인가된다. 시프트 레지스터(1010 내지 1012)는 도 5에 표시한 클록 회로(235)와 동일한 클록 회로(1018)에 의해 클록킹된다. 다시, 간단히 하려는 목적으로, 클록 회로(1018)의 상세한 설명은 반복하지 않을 것이다. 그러나, 클록 회로(1018)는 CLK의 각각의 전이, 즉, CLK의 상승 에지 및 하강 에지 상의 시프트 레지스터(1010 내지 1014)를 클록하는 것을 상기시킬 것이다. 논리 "1" 신호가 시프트 레지스터(1010 내지 1014)를 통해 시프트됨에 따라, 각각의 12개의 열 명령 신호 COLCMD<19:8>는 COLCMD<19>로부터 COLCMD<8>로 연속하여 하이 값으로 된다. 아래 설명하는 바와 같이, 이들 열 명령 신호 COLCMD<19:8>는 여러 가지 명령 신호들의 타이밍을 제어하기 위해 열 상태 기계에서 타이밍 신호로서 사용된다. 따라서, 동작 중에, 이들 열 명령 신호 COLCMD<19:8>는 STARTCOL*이 로우 값으로 될 때마다 연속적으로 발생된다. 제어 회로(1002)는 논리 "1"이 CLK의 연속적인 전이에 따라 시프트 레지스터(1010 내지 1014)로 시프트되는 것을 방지한다. 그러나, 1개 이상의 논리 "1"은 CLK의 연속적인 전이들 상에서 시프트 레지스터(1010)로 시프트되지 않는 한, 한번에 시프트 레지스터들(1010 내지 1014)로 시프트될 수 있다.
로우 값으로 되는 STARTCOL*에 응답하여 NOR 게이트(1000)의 출력에서의 하이-로우 전이는 펄스 발생기(1020)가 양으로 가는 펄스를 출력하게 한다. 펄스 발생기(1020)는 STARTCOL*이 로우 값으로 되기 전에 로우 값을 출력하는 NAND 게이트 (1022)를 포함한다. 이러한 로우 값은 지연 회로(1026) 및 인버터(1028)를 통해서 직접적으로 NAND 게이트(1024)에 인가된다. 따라서, STARTCOL*이 로우 값으로 되기 전에, NAND 게이트(1024)는 인버터(1028)로부터 하이 값을 수신한다. STARTCOL*이 로우 값으로 될 때, NAND 게이트(1022)는 하이 값을 출력한다. 그러나 지연 회로(1026)에 의해 생성된 지연 때문에, 인버터(1028)는 로우 값으로 전이되기 전에 짧은 시간 동안 하이 값을 계속 출력한다. NAND 게이트(1024)에 대한 모든 입력이 하이 값인 시간 동안, NAND 게이트(1024)는 NAND 게이트(1022)를 디스에이블시키기 위해 로우 값을 출력한다. 따라서 양으로 가는 펄스는 인버터(1030)의 출력에 발생된다.
펄스 발생기(1020)의 출력에서 펄스는 카운터(1038) 및 4개의 열 상태 기계(1040 내지 1046)로 인가된다. 카운터(1038)의 기능은 열 상태 기계(1040 내지 1046) 각각을 순차로 인에이블시키는 대응하는 인에이블 신호 E0 및 E1을 발생시키기 위해 "0"으로부터 "3"으로 반복적으로 증가시키는 것이다. 이러한 목적상, NOR 게이트(1050)는 카운터(1038)의 "0" 카운트를 디코딩하고, NOR 게이트(1052) 및 인버터(1054)는 카운터(1038)의 "1" 카운트를 디코딩하고, NOR 게이트(1056) 및 인버터(1058)는 카운터(1038)의 "2" 카운트를 디코딩하고, NAND 게이트(1058) 및 인버터(1060)는 카운터(1038)의 "3" 카운트를 디코딩한다. 아래 상세히 설명하는 바와 같이, 각각의 상태 기계(1040 내지 1046)가 인에이블될 때, 그것은 열 명령 신호 COLCMD<10:8>에 의해 지정된 다양한 시간에 많은 명령 신호들을 발생시킨다. 명령을 발생시키기 위해 사용된 특정 열 명령 신호들은 차례로 클록 속도 및 발행된 명령 유형의 함수이다.
열 명령 처리기(508)에서 나머지 회로는 적절한 시간에 각각의 열 상태 기계(1040 내지 1046)에 의해 발생된 명령 신호로부터 각각의 명령을 발생시키는 4개의 마이크로 동작 회로(1070 내지 1076)이다. 이들 명령은 증가하는 열 명령 INC_COL, 기입 명령 WRITE, 시작 레지스터 명령 STARTREG, 및 평형 유지 I/O 명령 EQIO이다. INC_COL 명령은 메모리 장치의 데이터가 단숨에 8개의 열을 액세스할 때마다 하이 값으로 된다. STARTREG 명령은 판독 동작을 위해 데이터 경로를 인에이블시키기 위해 하이 값으로 된다. 마지막으로, EQIO는 메모리 어레이의 I/O라인이 평형을 유지할 때마다 하이 값으로 된다.
INC_COL 명령을 발생하는 마이크로-동작 회로(1070)는 신호를 NAND 게이트(1080)에 인가한다. NAND 게이트(1080)에 대한 입력이 모두 로우 값일 때마다, NAND 게이트(1080)는 NMOS 트랜지스터(1082)를 턴 온시킨다. 제 2 NMOS 트랜지스터(1084)는 인버터(1086)의 출력이 하이일 때마다 턴 온될 것이고, 이는 CMDACK 신호가 로우일 때 발생한다. 그러한 상황 하에, 인버터(1088)는 인버터(1090)에 의해 래치된 하이 STARTCMD<8> 신호를 출력할 것이다. 액티브 하이 STARTCMD<8> 신호는 PMOS 트랜지스터(1092)를 턴 온시키기 위해 로우 값으로 되는 리셋 신호 RESET*에 의해 발생될 수 있다. STARTCMD<8> 신호는 8개 열의 버스트를 갖는 메모리 액세스가 발생할 때 생성된다. STARTCMD<8> 신호는 4개 열의 제 2 버스트의 시작 시에 발생되고 상술한 바와 같이 사용된다. 상술한 바와 같이, STARTCMD<8> 신호는 하이 값으로 되는 수신확인 신호 CMDACK에 의해 종료된다.
도 21에 표시한 4개의 열 상태 기계(1040 내지 1046)는 도 22에 상세히 예시된다. 도 22에 클로즈 뱅크 제어 회로(close bank control circuit)(1100)(도 21에서 각각의 열 상태 기계(1040 내지 1046)의 일부로서 나타냄)와, 3개의 명령 래치 신호들 CMDLAT<3:1> 및 구동 신호 DRVIN*을 발생시키기 위해 사용된 논리 회로(1102)가 도시된다. 열 상태 기계(1040 내지 1046)는 인에이블 회로(1104)를 또한 포함한다. 도 21을 참조하여 상술한 바와 같이, 열 상태 기계(1040 내지 1046) 각각은 카운터(1038)에 의해 발생된 E0, E1 신호들에 의해 순차로 인에이블된다. 도 22를 참조하여, 인에이블 입력 신호는 인에이블 회로(1104)의 NAND 게이트(1110)에 인가된다. NAND 게이트(1110)가 INIT 신호를 수신할 때, NAND 게이트(1110)는 한 쌍의 NAND 게이트(1114, 1116)에 의해 형성된 플립-플롭(1112)을 설정하는 로우 값을 출력한다. 도 21을 참조하여 설명한 바와 같이, INIT 신호는 로우 값으로 되는 STARTCOL*에 응답하여 펄스 발생기(1020)의 출력에서 발생한다. 인에이블 신호가 하이 값으로 될 때, 펄스 발생기(1020)는 인버터(1124)에 의해 전환된 후 플립-플롭(1112)을 리셋하는 인버터(1112)를 통해 트리거링된다.
플립-플롭(1112)이 초기에 설정될 때, 이것은 지연 회로(1130)를 트리거링하고, 이는 상보성 펄스들(complementary pulses)이 각각의 인버터(1132, 1134)의 출력으로서 발생되게 한다. 이들 펄스는 일반적으로 (1140)으로 표시한 3개의 레지스터를 트리거링하고, 이는 각각의 명령 래치 신호 CMDLAT<3:1>를 래치한다. 도 17을 참조하여 설명한 바와 같이, CMDLAT<3:1> 신호들은 기억 레지스터들(206, 208)(도 5)로부터의 명령어의 Y<19:17> 비트들로부터 명령 유닛(500)에 의해 발생된다. 레지스터(1140)의 출력은 CMDLAT<3>, CMDLAT<2> 및 CMDLAT<1> 각각에 대응하는 버스트 길이 신호 BL8*, 기입 신호 WRITE*, 및 클로스 행 신호 CLROW*를 발생시키기 위해 각각의 인버터(1142)를 통해 결합된다. 논리 "0"인 BL8* 신호는 8개의 열들의 버스트(burst)를 지정하는 한편, 논리 "1"인 BL8* 신호는 4개의 컬럼의 버스트를 지정한다. 논리 "0"인 WRITE* 신호는 기입 동작을 지정하는 한편, 논리 "1"인 WRITE* 신호는 판독 동작을 지정한다. 마지막으로, 논리 "0"인 CLROW* 신호는 현재 액세스되는 메모리 어레이의 행이 현재 메모리 액세스 후에 클로즈 다운될(closed down) 것임을 명시한다. 논리 "1"인 CLROW* 신호는 그 행에서 추가의 열이 액세스될 수 있도록 현재 액세스된 행이 남겨지도록 명시한다. BL8*, WRITE* 및 CLROW* 신호들은 직접적으로(WRITE* 및 CLROW*의 경우) 또는 인버터(1150)를 통해(BL8의 경우) 각각의 3-상태 인버터(1148)에 인가된다. 인버터(1148)는 DRVIN*을 발생시키기 위해 인버터 (1154)를 통해 결합된 하이 DRVIN 신호에 의해 인에이블된다. DRVN 신호는 NAND 게이트(1158)가 모두 하이 값인 DRVCMD 및 INC_COL에 응답하여 로우 값을 출력할 때 인버터(1156)의 출력에서 발생한다.
열 상태 기계(column state machine)(1040)는 초기 평형 유지 신호(initiate equilibrate signal) INIT_EQIO*를 발생시킨다. 그러나 INIT_EQIO* 신호의 타이밍은 클록 속도 신호(800MBPS)의 함수일 수 있다. 이들 상황 하에서, NOR 게이트 (1170)는 인에이블됨으로써 그것은 인에이블 회로(1104)의 NAND 게이트(1110)가 INIT 신호에 응답하여 로우 값을 출력할 때 하이 값을 출력할 수 있다. NOR 게이트(1070)의 출력에서 하이 값은 로우 값으로 출력되는 NOR 게이트(1072)에 인가된다. 인버터(1174, 1176)에 의해 2회 반전된 후, NOR 게이트(1072)의 출력의 로우 값은 액티브 로우 INIT_EQIO* 신호를 초래한다.
INIT_EQIO* 신호는 NOR 게이트(1172)에 대한 다른 입력이 하이 값으로 될 때 또한 발생한다. NOR 게이트(1172)에 대한 다른 입력은 통과 게이트(1180)가 인에이블되는 한 하이 값인 COLCMD<19>에 응답하여 하이 값으로 될 것이다. 통과 게이트(1180)는 한 쌍의 NAND 게이트(1184, 1186)에 의해 형성된 플립-플롭(1182)이 설정될 때 인에이블될 것이다. 플립-플롭(1182)은 NAND 게이트(1188)가 하이 MBPS800 신호(즉 클록 주파수가 800MBPS이다)에 의해 인에이블되고, 인버터(1190)가 NAND 게이트(1188)에 하이 값을 출력하게 하는 로우 값을 NAND 게이트(1110)가 출력할 때 NAND 게이트(1188)에 의해 설정된다. 플립-플롭(1182)은 INIT_EQIO* 신호가 2개의 인버터(1194, 1196)를 통해 NAND 게이트(1186)에 인가되기 때문에 일단 INIT_EQIO* 신호가 발생되면 리셋된다. 플립-플롭(1182)은 또한 인버터(1134)의 출력이 NAND 게이트(1186)에 인가되기 때문에 플립-플롭(1112)에 응답하여 리셋된다. 플립-플롭(1182)이 리셋될 때, NAND 게이트(1184)는 인버터(1196)가 NMOS 트랜지스터(1198)를 턴 온시키는 하이 값을 출력하게 하는 로우 값을 출력한다. NMOS 트랜지스터(1198)는 이어서 NOR 게이트(1172)에 대한 입력을 로우 값으로 유지한다.
INIT_WRITE* 신호를 발생시키는 열 상태 기계(1044)는 3개의 동일한 선택 회로(1200, 1202, 1204)를 포함하고, 그들중 하나를 상세히 설명할 것이다. 이들 3개의 선택 회로(1200 내지 1204)의 출력은 NOR 게이트(1210)의 각각의 입력에 결합된다. NOR 게이트(1210)는 한 쌍의 인버팅 버퍼(1212, 1214)를 통해 INIT_WRITE* 신호를 발생시킨다.
선택 회로(1200)는 시프트 레지스터(1010 내지 1014)(도 21)로부터 COLCMD<16> 신호를 수신한다. 통과 게이트(1220)가 인에이블될 때, COLCMD<16> 신호는 INIT_WRITE* 신호가 발생되도록 통과 게이트(1220)를 통해 결합된다. 통과 게이트(1220)는 NOR 게이트(1224)가 하이 값을 출력할 때마다 인에이블된다. NOR 게이트(1224)는 인버터(1226)의 출력이 하이 값인 MBPS800에 응답하여 로우 값이고, 인버터(1230)의 출력이 로우 값일 때마다 통과 게이트(1220)를 인에이블시킬 것이다. 인버터(1230)의 출력은 한 쌍의 NAND 게이트(1234, 1236)에 의해 형성된 플립-플롭(1232)이 설정될 때마다 로우 값으로 될 것이다. 플립-플롭(1232)은 NAND 게이트(1238)의 출력에서 로우 값으로 설정되고, 이는 WRITE가 액티브 하이이고, INIT_EQIO* 신호가 인버터(1240)를 통해 NAND 게이트(1238)에 인가되기 때문에 INIT_EQIO* 신호가 발생될 때마다 발생한다. INIT_WRITE* 신호는 한 쌍의 인버터 (1242, 1244)에 의해 NAND 게이트(1236)에 인가되기 때문에, 플립-플롭(1232)은 플립-플롭(1112)이 리셋되거나 또는 INIT_WRITE* 신호가 발생될 때마다 리셋된다.
요약하면, INIT_WRITE* 신호는 COLCMD<16> 신호에 응답하여 800MBPS의 클록 주파수로 기입 동작 동안 발생된다. 유사한 방식으로, 선택기 회로(1202)는 INIT_WRITE* 신호가 COLCMD<17> 신호에 응답하여 600MBPS의 클록 속도로 기입 동작 동안 발생되게 한다. COLCMD<16> 신호는 COLCMD<17> 신호가 발생된 후에 발생되기 때문에, 많은 수의 클록 사이클이 800MBPS에서 기입 동작에 할당된다. 선택 회로(1204)는 400MBPS의 클록 주파수에서 기입 동작 동안 INIT_WRITE* 신호를 발생시키기 위해 동일한 방식으로 동작한다.
열 상태 기계(1044)는 약간 상이한 회로를 포함하지만 열 상태 기계(1042)와 실질적으로 동일한 방식으로 동작한다. 기본적으로, 열 상태 기계는 800MBPS에서 COLCMD<16> 신호에 응답하고, 600MBPS에서 COLCMD<19> 신호에 응답하고, 400MBPS에서 로우 값으로 되는 NAND 게이트(1110)의 출력에 응답하여 INIT_LDREG* 신호가 판독 동작의 경우(액티브 하이 WRITE 신호가 무시 게이트(ignore gate)(1250)에 인가됨)에 재생되게 한다. 그러나, INIT_LDREG* 신호가 발생되게 하는 플립-플롭(1252)은 800MBPS의 클록 주파수에서 INIT_EQIO* 신호에 응답하고, 600MBPS의 클록 주파수에서 로우 값으로 되는 NAND 게이트(1110)의 출력에 응답하여 설정될 수 있다.
열 상태 기계(1046)는 NEXT_BURST* 신호를 발생시키는 것과 실질적으로 동일한 방식으로 동작한다. 플립-플롭(1260)이 로우 값으로 되는 DRVCMD에 의해 설정될 때, NAND 게이트(1262)는 인에이블된다. 메모리 액세스가 8개 컬럼의 버스트에서 발생할 경우, BL8은 상기 설명한 바와 같이 하이 값으로 될 것이다. 결과적으로, 열 상태 기계(1046)에서 모든 선택 회로가 인에이블된다. 이들 상황 하에, NEXT_BURST* 신호는 800MBPS의 클록 주파수에서 COLCMD<16> 신호에 응답하고, 600MBPS의 클록 주파수에서 COLCMD<17> 신호에 응답하고, 400MBPS의 클록 주파수에서 COLCMD<18> 신호에 응답하여 발생할 것이다.
액티브 로우 NEXT_BURST* 신호는 액티브 하이 구동 명령 신호 DRVCMD를 발생시키기 위해 한 쌍의 NAND 게이트(1272, 1274)에 의해 형성된 플립-플롭(1270)을 리셋한다. 플립-플롭(1270)은 펄스 발생기(1078)가 하이 값으로 되는 증가하는 열 신호 INC_COL에 의해 트리거될 때마다 인버터(1276)를 통해 설정된다. 플립-플롭(1270)은 하이 값으로 되는 INIT에 응답하여 NAND 게이트(1110)의 출력에서 하이 값에서 로우 값으로의 전이에 의해 설정될 수도 있다. DRVCMD 신호는 메모리의 첫번째 4개의 열을 액세스하기 위해 사용된 명령 신호가 일단 메모리의 두번째 4개의 열을 액세스하기 위해 사용되도록 "8개의 버스트" 메모리 액세스의 경우에 하이 값으로 구동된다.
클로즈 뱅크 제어 회로(1100)는 도 23에 보다 상세히 표시한다. 클로즈 뱅크 제어 회로(1100)는 디코더 제어 회로(1300) 및 디코더(1302)를 포함한다. 디코더(1302)는 도 22를 참조하여 상기 설명한 바와 같이 3개의 뱅크 레지스터 비트 BNKREG<2:0>*를 래치함으로써 얻어진 3개의 비트 뱅크 어드레스 ADDR*<0:2>에 기초하여 8개의 뱅크 선택 신호 CB*<7:0> 중의 하나를 발생시킨다. 따라서, 8개의 메모리 뱅크(80)(도 3) 중의 하나는 뱅크 어드레스 ADDR<2:0>*에 대응하는 각각의 CB<7:0>* 신호에 의해 인에이블된다.
디코더 제어 회로(1300)는 한 쌍의 NAND 게이트(1312, 1314)에 의해 형성된 제 1 플립-플롭(1310)을 포함한다. 플립-플롭(1310)은 도 22를 참조하여 상기 설명한 바와 같이 열 상태 기계(1040)에 의해 발생된 초기 평형 유지 신호 INIT_EQIO* 신호에 의해 설정된다. 플립-플롭(1310)이 설정될 때, 그것은 NAND 게이트(1320)를 인에이블시킨다.
NAND 게이트(1320)는 도 21을 참조하여 상기 설명한 바와 같이 STARTCOR*의 하강 에지 후에 1 클록 사이클에서 하이 값으로 되는 COLCMD<17> 신호 및 NOR 게이트(1326)의 출력을 수신한다. CLROW 신호가 인버터(1328)를 통해 NOR 게이트(1326)에 인가되기 때문에, NOR 게이트(1326)의 출력은 BL8 신호가 로우 값이고 CLROW 신호가 하이 값일 때 하이 값이다. 도 22를 참조하여 상기 설명한 바와 같이, BL8 신호는 데이터가 8개의 열의 버스트의 메모리로부터 판독되어야 할 때 하이 값이고, CLROW*는 그 행의 어떠한 추가의 열도 판독될 수 있도록 현재 액세스되는 행이 개방되어 남겨질 때 하이 값으로 될 것이다. 따라서, NAND 게이트(1320)는 INIT_EQIO*가 로우 값으로 된 후 COLCMD<17>* 신호가 하이 값으로 될 때 현재 액세스된 행으로부터 4개의 열의 버스트 판독 중에 로우 값을 출력할 것이다.
NAND 게이트(1320)의 출력이 로우 값으로 될 때, 그것은 한 쌍의 NAND 게이트(1332, 1334)에 의해 형성되는 플립-플롭(1310)을 설정한다. 플립-플롭(1330)을 설정함으로써 COLCMD<14> 신호를 또한 수신하는 NAND 게이트(1340)를 인에이블시킨다. 따라서, 상기 설명한 조건 하에 COLCMD<17> 신호가 플립-플롭(1310, 1330)을 설정한 후 하나의 1/2 클록 사이클 후에, NAND 게이트(1340)는 로우 값을 출력한다. NAND 게이트(1340)의 출력에서 로우 값은 한 쌍의 NAND 게이트(1352, 1354)에 의해 형성된 플립-플롭(1350)을 설정한다.
플립 내지 플롭(1330, 1350)은 함께 6개의 NAND 게이트(1360 내지 1370)를 인에이블시킨다. 플립-플롭(1330)은 NAND 게이트(1360, 1362, 1366, 1368)를 인에이블시키고, 플립-플롭(1350)은 NAND 게이트(1364, 1370)를 인에이블시킨다. NAND 게이트(1360 내지 1364)는 WRITE* 신호를 수신하고, 따라서 판독 동작 동안 인에이블된다. NAND 게이트(1366 내지 1370)는 WRITEB 신호를 수신하고, 따라서 기입 동작 동안 인에이블된다. NAND 게이트(1360 및 1366)는 MBPS400 신호를 수신하고, 따라서 400MBPS의 클록 주파수에서 인에이블되고, NAND 게이트(1362, 1368)는 MBPS600 신호를 수신하고, 따라서 600MBPS의 클록 주파수에서 인에이블되고, NAND 게이트(1364 내지 1370)는 MBPS800 신호를 수신하고, 따라서 800MBPS의 클록 주파수에서 인에이블된다. 각각의 NAND 게이트(1360 내지 1370)는 각각의 열 명령 신호를 수신하고, 이와 같이 인에이블된 신호 NAND 게이트(1360 내지 1370)는 상이한 시간에 로우 값을 출력한다. 따라서, NAND 게이트(1360 내지 1370) 중의 하나는 클록 주파수에 따라서 및 메모리 액세스가 판독 또는 기입 동작인지 여부에 따라 각각의 시간에 로우 값을 출력할 것이다.
NAND 게이트(1360 내지 1370) 중의 하나가 로우 값을 출력할 때, 로우 값은 NOR 게이트(1386)에 하이 값을 인가하는 2개의 NAND 게이트(138, 1382) 중의 하나에 의해 검출된다. 이어서, NOR 게이트(1386)는 한 쌍의 NAND 게이트(1392, 1394)에 의해 형성된 플립-플롭(1390)을 설정하는 로우 값을 출력한다. 플립-플롭(1390)이 설정될 때, NAND 게이트(1392)는 펄스 발생기(1396)를 트리거하는 하이 값을 출력한다. 이어서, 펄스 발생기(1396)는 플립-플롭(1390)을 리셋하기 위해 인버터 (1398)에 의해 반전되는 펄스를 발생시킨다. 따라서, 플립-플롭(1390)이 설정될 때, 이는 이후 짧은 시간 동안 자동으로 리셋된다. 플립-플롭(1390)이 리셋될 때, NAND 게이트(1392)의 출력에서 하이 값에서 로우 값으로의 전이는 펄스 발생기(1400)를 트리거링하는 로우 값에서 하이 값으로의 전이로서 인버터(1402)에 의해 펄스 발생기(1400)에 결합된다. 이후, 펄스 발생기(1400)는 인버터(1410)가 음으로 가는 펄스를 출력하게 하고, 인버터(1402)가 양으로 가는 펄스를 출력하게 하는 양으로 가는 펄스를 출력한다. 아래 설명하는 바와 같이, 인버터(1410)의 출력에서 음으로 가는 펄스는 디코더(1302)로부터 리셋을 제거하는 한편, 인버터(1412)의 출력에서 양으로 가는 펄스는 디코더(1302)에 전력을 인가한다. 요약하면, 디코더 제어 회로(1300)는 클록 주파수에 의해서 및 메모리 액세스가 판독 또는 기입 동작인지 여부가 결정되는 시점의 짧은 기간 동안 디코더(1302)를 인에이블시킨다.
디코더(1302)는 각각의 NMOS 트랜지스터들(1420 내지 1434)의 드레인들에서 출력 신호 CB<7:0>*를 발생시킨다. 트랜지스터(1420 내지 1434)의 게이트는 일반적으로 참조 번호(1440)로 표시한 각각의 NMOS 트랜지스터에 의해 통상적으로 로우 값으로 풀링된다. 트랜지스터(1440)의 게이트는 인버터(1410)의 출력에 결합된다. 상술한 바와 같이, 인버터(1410)의 출력은 통상적으로 하이 값이므로, 트랜지스터 (1440)를 턴 온시키고, 이는 이들 각각의 트랜지스터(1420 내지 1434)의 게이트를 로우 값으로 풀링시킨다. 트랜지스터(1420 내지 1434)의 게이트들은 이들이 각각의 래치에 의해 설정되는 레벨로 유지되고, 그들 각각은 일반적으로 (1450)으로 표시한 한 쌍의 인버터에 의해 형성된다.
트랜지스터(1420 내지 1434)는 일반적으로 (1460)으로 표시한 직렬 접속된 PMOS 트랜지스터의 각각의 군을 통해 선택적으로 결합된 인버터(1412)의 출력에서 양으로 가는 펄스에 의해 선택적으로 턴 온된다. PMOS 트랜지스터(1460)는 직접적으로 또는 일반적으로 (1464)로 표시한 인버터를 통해 뱅크 어드레스 신호 ADDR*<2:0>에 의해 턴 온된다.
디코더(1302)의 동작은 이 디코더(1302)의 나머지 부분이 어떻게 동작하는지를 당업계의 숙련자라면 누구나 명백히 알 것이기 때문에 단일 실시예를 참조하여 설명할 것이다. 예로써, 뱅크 어드레스 ADDR*<2:0>이 "011"일 때, 하이 ADDR*<1:0> 비트는 PMOS 트랜지스터(1470, 1472)를 턴 온시키기 위해 인버터(1464)를 통해 결합된다. 로우 ADDR*<2> 비트는 PMOS 트랜지스터(1474)를 턴 온시킴으로써 인버터 (1412)의 출력으로부터 PMOS 트랜지스터(1470 내지 1474)를 통한 NMOS 트랜지스터 (1422)로의 현재 경로가 존재한다. 결과적으로, 트랜지스터(1422)는 턴 온되어 CB*<1>을 로우 값으로 구동한다. 모든 다른 NMOS 트랜지스터(1420, 1424 내지 1434)는 오프 상태로 남겨진다. 나머지 클로즈 뱅크 신호들 CB*<7:2,0>은 유사한 방식으로 뱅크 어드레스 신호들 ADDR*<2:0>의 함수로서 발생된다. 따라서, 클로즈 뱅크 제어 신호(1100)는 클록 속도의 함수인 시점에 뱅크 어드레스 ADDR*<2:0>의 함수로서 클로스 뱅크 신호 CB*<7:0>를 발생시키고, 메모리 액세스가 기입 동작인지 또는 판독 동작인지가 결정된다.
도 21의 마이크로-동작 회로(1070 내지 1076)를 도 24에 상세히 표시한다. 각각의 마이크로-동작 회로(1070 내지 1076)는 동일하고, 따라서 단 하나의 마이크로-동작 회로(1070)를 도 24에 나타내어 본 명세서에서 설명한다. 마이크로-동작 회로(1070 내지 1076)의 기능은 각각의 열 상태 기계(1040 내지 1046)로부터 초기 신호들 INIT*<3:0> 중의 하나에 응답하여 클록 속도에 의존하는 열 명령 신호 CMDCOL에 의해 결정된 시간에 각각의 단일 명령 펄스를 발생시키는 것이다.
초기 신호 INIT*<3:0> 중의 어느 것이 로우 값으로 될 때, 그것은 항 쌍의 NAND 게이트(1502, 1504)에 의해 형성된 플립-플롭(1500)을 설정한다. 플립-플롭 (1500)이 설정될 때, NAND 게이트(1510)는 아래 설명하는 바와 같이 초기에 인에이블되기 때문에, 그것은 NAND 게이트(1510)를 로우 값으로 출력하게 한다. 이어서, NAND 게이트(1510)는 직접적으로 또는 인버터(1528)를 통해 통과 게이트(1520, 1522, 1524) 세트를 인에이블시킨다. 통과 게이트(1520 내지 1524)는 각각의 통과 게이트(1530 내지 1534)의 출력을 수신한다. 각각의 통과 게이트(1530 내지 1534)는 직접적으로 또는 각각의 인버터(1540 내지 1544)를 통해 통과 게이트(1530 내지 1534)에 결합된 각각의 클록 속도 신호(MBPS400 내지 MBPS800)에 의해 인에이블된다. 따라서, 활성화되는 단 하나의 클록 속도 신호가 존재하기 때문에 단 하나의 통과 게이트(1530 내지 1534)가 인에이블된다. 인에이블된 통과 게이트(1530 내지 1534)는 플립-플롭(1500)이 설정될 때 각각의 통과 게이트(1520 내지 1524)를 통해 그의 각각의 시작 신호(START400 내지 START800)을 결합시킨다. 도 21을 참조하여 상기 설명한 바와 같이, START 신호는 도 21에 표시한 바의 각각의 열 명령 신호 COLCMD<19:6>에 대응한다. 특히, START400은 COLCMD<17>에 대응하고, START600은 COLCMD<15>에 대응하고, START800은 COLCMD<13>에 대응한다.
인에이블된 통과 게이트(1520 내지 1524)의 출력은 펄스 발생기(1550)의 클록 입력에 인가된다. 펄스 발생기(1550)에 대한 입력은 통상적으로 NAND 게이트 (1510)의 출력에서 하이 값에 의해 온으로 유지되는 NMOS 트랜지스터(1552)에 의해 통상적으로 로우 값으로 유지된다. 펄스 발생기(1550)는 기억 레지스터(206, 208)에 사용된 펄스 발생기(300)(도 10)와 실질적으로 동일하고, 따라서, 그의 동작에 대한 설명은 반복하지 않는다. 간단히 말하자면, 펄스 발생기(1550)는 통과 게이트(1520 내지 1524) 중의 하나로부터 큰 출력 값에 따라 CLK의 전이에 의해 NAND 게이트(1556) 또는 NAND 게이트(1558)의 출력에서 음으로 가는 펄스를 발생시킨다. NAND 게이트(1556, 1558) 중의 하나는 CLK의 제 1 전이에 따라 로우 값을 출력하는 한편, NAND 게이트(1556, 1558) 중의 나머지 하나는 CLK의 다음 전이에 따라 로우 값을 출력한다. NAND 게이트(1556, 1558)의 출력에서 로우 값은 NAND 게이트(1560)가 하이 값을 출력하게 한다. NAND 게이트(1560)의 출력은 NAND 게이트(1562)에 인가되고, 지연 회로(1564) 및 3개의 인버터(1566 내지 1570)의 직렬 결합에 인가된다. NAND 게이트(1550)의 초기에 로우 값이기 때문에, 인버터(1570)의 출력은 초기에 하이 값이다. 펄스 발생기(1550)는 로우 값을 출력함으로써, NAND 게이트 (1560)가 하이 값을 출력하게 하고, 인버터(1570)의 출력은 지연 회로(1564) 및 인버터(1566 내지 1570)의 지연 때문에 로우 값으로 즉각적으로 전이되지 않는다. 따라서, NAND 게이트(1562)는 NAND 게이트(1560)의 출력에서 로우 값에서 하이 값으로의 전이가 지연 회로(1564) 및 인버터(1566 내지 1570)를 통해 전파될 때까지 로우 값을 출력한다. 이어서, 인버터(1570)의 출력은 NAND 게이트(1562)가 그의 음으로 가는 펄스를 종료시키게 하기 위해 로우 값으로 전이된다. 인버터(1574)는 NAND 게이트(1562)로부터 출력된 음으로 가는 펄스로부터 양으로 가는 펄스를 출력한다. 인버터(1574)의 출력에서의 양으로 가는 펄스는 플립-플롭(1500)을 리셋하기 위해 음으로 가는 펄스로서 인버터(1576)를 통해 결합된다. 플립-플롭(1500)이 리셋될 때, 이것은 NAND 게이트(1510)가 NMOS 트랜지스터(1552)를 턴 온시키는 하이 값을 출력하게 한다. 이어서, 트랜지스터(1552)는 플립-플롭(1500)이 다시 설정될 때까지 임의의 추가의 펄스를 발생시키는 것으로부터 펄스 발생기(1550)를 디스에이블시킨다. NAND 게이트(1562)의 출력에서 음으로 가는 펄스는 NAND 게이트(1560)를 디스에이블시킨다.
요약하자면, 초기 신호 INIT*<3:0> 중의 하나에 응답하여, 마이크로-동작 회로(1070 내지 1076)는 클록 속도에 의해 결정된 시점에 로우 U_OPA 및 U_OPB 신호 및 양으로 가는 U_OP 펄스를 출력한다. 도 21에 표시한 바와 같이, 마이크로-동작 회로(1070)는 유일하게 레벨 신호 U_OPA 및 U_PAB를 이용한다. 나머지 마이크로-동작 회로(1072 내지 1076)는 단지 양으로 가는 펄스 U_OP를 이용한다. 도 21에 표시한 바와 같이, 마이크로-동작 회로(1070 내지 1076)에 의해 발생된 양으로 가는 펄스들은 각각 명령 펄스 INC_COL, WRITE, STARTREG 및 EQIO이다. 상술한 바와 같이, 도 21을 참조하여, INC_COL 신호는 8개의 메모리 액세스 버스트 동안 열 어드레스를 증가시키고, WRITE 신호는 열 어드레스에 대응하는 각각의 숫자 라인에 메모리 어레이의 상보적인 I/O 라인을 접속시키고, STARTREG 신호는 데이터 경로 판독 레지스터를 인에이블시키고, EQIO, 신호는 I/O 라인이 평형을 유지하게 한다. 도 21에 표시한 바와 같이, 논리 레벨 신호 U_OPA 및 U_OPB는 STARTCMD<8> 신호가 발생되게 한다.
도 15 내지 도 17을 참조하여 상술한 바와 같이, 각각의 패킷 워드의 비트 Y<27:32>는 각각의 명령 유닛(500)(도 15 내지 도 17)의 래치(580)(도 17)에 기억된 열 어드레스 COL<6:0>를 구성한다. 도 15를 참조하여 상기 설명한 바와 같이, 각각의 명령 유닛(500a 내지 h)으로부터 열 어드레스는 각각의 열 어드레스 처리 유닛(506)에 인가된다. 도 15에 표시한 열 어드레스 처리 유닛(506)은 도 25 및 도 26에 상세히 예시된다.
각각 열 어드레스를 기억하는 다중 열 어드레스 처리 유닛(506)을 사용함으로써 메모리 장치(16)의 속도를 증가시키는 중요한 장점을 제공한다. 종래의 DRAM 및 패킷화된 DRAM에 대해 공지된 구조들에서, DRAM은 어드레스를 디코딩함으로써 이전의 열 어드레스가 래치되고 처리될 때까지 메모리 동작을 위해 열 어드레스를 수신할 수 없다. 다중 열 어드레스 처리 유닛들(506)을 사용함으로써, 메모리 장치들은 열 어드레스들을 디코딩함으로써 하나 이상의 이전의 열 어드레스들이 아직 처리되지 않았더라도 열 어드레스들을 계속 수신할 수 있다.
도 25를 참조하여, 명령 유닛(500a 내지 h)의 출력에 존재하는 열 어드레스 COL<0:6>는 열 어드레스 COL<0:6>의 각각의 비트에 대해 하나의 래치 회로(1602a 내지 g)로 구성된 열 어드레스 래치(1600)에 인가된다. 각각의 래치 회로(1602)는 한 쌍의 인버터(1606, 1608)로 구성된다. 인버터들(1608)의 출력 임피던스는 명령 유닛들(500)의 출력 임피던스보다 더 높아서, 인버터(1608)들 보다는 명령 유닛들(500)이 인버터들(1606)로의 입력들에서 논리 레벨을 제어한다. 따라서, 논리 레벨(즉, 논리 "1" 또는 "0")이 인버터들(1606) 중 한 입력에 인가될 때, 동일한 논리 레벨이 인버터(1608)의 출력에서 발생되고, 그에 의해, 이전에 인에이블된 명령 유닛(500)이 더 이상 인에이블되지 않은 이후에 논리 레벨에서 인버터(1606)로의 입력을 유지한다.
상술한 바와 같이, 하나의 래치(1602)가 각각의 열 어드레스 비트 COL<0:6>에 대해 제공된다. 따라서, 각각의 명령 유닛(500)으로부터 COL<0>이 래치(1602a)에 결합되고, 각각의 명령 비트(500)로부터 COL<1>이 래치(1602b) 등에 결합된다. 그러나, 상술한 바와 같이, 단지 하나의 명령 유닛(500)이 임의의 시간에 인에이블된다. 결과적으로, 래치(1602a 내지 g)는 한번에 단지 하나의 명령 유닛(500)으로부터 신호를 수신한다.
열 어드레스 래치(1600)의 출력에서 열 어드레스 COL<0:6>는 그것을 열 디코더(100)(도 3)에 인가함으로써 처리된다.
열 어드레스 래치(1600)는 동작의 버스트 모드로 가산기(1620)와 인터페이스로 접속되도록 적응된다. 상술한 바와 같이, 버스트 메모리 액세스에서, 명령 유닛(500) 중의 하나로부터 열 어드레스는 메모리 액세스에 대한 시작 어드레스를 지정한다. 이후, 메모리 셀들로부터의 복수의 메모리 어드레스들은 부가적 열 어드레스들을 수신하고 그것을 열 어드레스 래치(1600)에 인가하기 위해 명령 유닛들(500) 중 한 유닛에 대한 필요성 없이 열 어드레스로부터 증가하며 발생한다. 버스트 모드 액세스에서, 하이 INCR 신호는 INC_COL을 발생시키는 마이크로-동작 회로(1070)(도 21)에 의해 디코더(1620)에 인가된다. 가산기(1620)는 열 어드레스 래치(1600)의 각각의 COL<0:6> 출력으로부터 가산기(1620)의 A<0:6> 입력에 인가된 열 어드레스를 래치한다. 이후, 가산기(1620)는 열 어드레스를 하나씩 증가시키고, 증가된 열 어드레스는 그의 Z<0:6> 출력에 인가한다. 가산기(1620)의 Z<0:6> 출력은 열 어드레스 래치(1600)에 대한 각각의 COL<0:6> 입력에 결합된다. 결과적으로, 열 어드레스 래치(1600)는 증가된 열 어드레스를 수신한다.
여러 가지 다양한 종래의 회로는 가산기(1620)를 위해 사용될 수 있다. 따라서, 간단히 할 목적으로, 가산기(1620)의 구조 및 동작은 상세히 도시하거나 기재하지 않을 것이다. 간단히 말하자면, 가산기(1620)는 다중-비트 디지털 워드가 그 비트보다 유효도가 더 적은 모든 비트들이 논리 "1"인 경우 유효도가 더 적은 비트 및 모든 비트들을 반전시킴으로써 간단히 1만큼 증가될 수 있다는 공지된 원리로 동작할 수 있다. 따라서, 예를 들면, 열 어드레스가 "100111"인 경우, 열 어드레스는 "101000"을 얻기 위해 비트 3:0을 반전시킴으로써 간단히 1만큼 증가시킬 수 있다.
상술한 바와 같이, 도 3 내지 도 25에 표시한 명령 버퍼(200)는 도 2에 표시한 패킷화된 DRAM(16)에서 명령 시퀀서 및 디코더(60) 대신에 사용될 수 있다. 결과적인 메모리 장치(16)는 우수한 동작 속도를 제공하도록 도 1에 표시한 컴퓨터 시스템에 사용될 수 있다.
본 발명은 예시의 목적으로 전형적인 실시예들에 의해 기재되었지만, 본 발명의 정신 및 범위에서 벗어나지 않는 여러 가지 변형이 이루어질 수 있다. 따라서, 본 발명은 첨부된 특허 청구의 범위에 의한 것을 제외하고는 한정되지 않는다.
열 어드레스는 DRVCMD 신호가 명령 유닛(500)에 의해 발생될 때 열 어드레스 버스(230)(도 4) 상에 항상 놓임을 알 수 있다. 동시에, 열 상태 기계(column state machine)(1040 내지 1046)가 시동된다. 그 다음에, 신호들은 선택된 시간들에서 마이크로-동작 회로들(1070 내지 1076)에 의해 발생되어, 어레이는 클록 속도 또는 메모리 액세스 유형과 무관하게 적절한 지점에서 동시에 항상 자극된다. 또한, 열 어드레스는 열 어드레스 버스 상에 놓이고, 열 플레이트 기계들(column plate machines)(1040 내지 1046) 중의 하나가 시작되어, 메모리 장치의 데이터 핀들은 카운터(550)에 인가된 CRSE_VERN<5:0> 신호들에 의해 설정된 스케줄에 따라 데이터를 전송하고 수신한다.
CRSE_VERN<5:0> 신호들은 사용자에 의해 프로그래밍된 값들 및 메모리 액세스의 유형의 함수로서 다른 회로(도시하지 않음)에 의해 발생된다.

Claims (45)

  1. 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷들을 수신하는 메모리 장치 명령 발생기로서,
    명령 유닛들 각각은 인에이블될 때 상기 명령 유닛들에 의해 수신된 명령 패킷의 복수의 명령 비트들을 기억하고, 활성화될 때 상기 명령 유닛에 기억된 상기 명령 비트들을 출력하는 복수의 명령 유닛들과,
    상기 명령 유닛들 중 어느 것이 명령 비트들을 기억하는지를 결정하고, 첫 번째로 상기 명령 유닛들에 의해 수신된 명령 패킷으로부터 복수의 명령 비트들을 기억하기 위해 명령 비트들을 기억하지 않고 있는 상기 명령 유닛들중 하나를 인에이블시키고, 첫 번째와 상이할 수 있는 두 번째에서 상기 명령 유닛에 기억된 상기 명령 비트들을 출력하도록 상기 명령 유닛들 중 하나를 또한 활성화시키는, 상기 명령 유닛들 각각에 결합된 명령 유닛 선택기와,
    활성화된 명령 유닛으로부터 출력된 상기 명령 비트를 수신하고, 두 번째와 상이할 수 있는 세 번째에서 그에 응답하여 적어도 하나의 명령 신호를 발생시키도록 상기 명령 비트들을 처리하는, 상기 명령 유닛들 각각에 결합된 명령 처리기를 포함하는, 메모리 장치 명령 발생기.
  2. 제 1 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 기억된 명령 비트들에 의해 표시된 명령의 특성의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 명령 비트들을 처리하게 하는, 상기 시작 명령 발생기를 포함하는, 메모리 장치 명령 발생기.
  3. 제 2 항에 있어서,
    상기 시작 명령 발생기가 상기 시작 명령 신호를 발생시키는 상기 카운트들은 또한 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 메모리 장치 명령 발생기.
  4. 제 1 항에 있어서,
    상기 명령 처리기는,
    상기 명령 유닛들에 결합된 시퀀서로서, 클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터의 상기 시작 명령 신호에 응답하여 시퀀스를 시작하는, 상기 시퀀서와,
    상기 명령 유닛들로부터 상기 명령 비트들을 수신하고, 상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하도록 결합된 명령 신호 발생기로서, 상기 명령 신호 발생기는 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들에 대응하는 명령 신호를 발생시키고, 상기 명령 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 상기 명령 신호 발생기를 포함하는, 메모리 장치 명령 발생기.
  5. 제 4 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 명령 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 신호 발생기는,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고 상기 명령 유닛들로부터 상기 명령 비트들과 시작 명령 신호들을 수신하도록 결합된, 명령 상태 기계로서, 상기 명령 상태 기계는 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 복수의 함수 신호들을 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 명령 상태 기계와,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 상태 기계로부터 상기 함수 신호들을 수신하기 위해 결합된 마이크로-동작 회로로서, 상기 마이크로-동작 회로는 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 신호들을 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 속도 신호에 의해 결정되는, 상기 마이크로-동작 회로를 포함하는, 메모리 장치 명령 발생기.
  6. 제 1 항에 있어서,
    상기 명령 상태 기계는,
    상기 시작 명령 신호에 응답하여 클로즈 뱅크 인에이블 신호(close bank enable signal)를 발생시키는 클로즈 뱅크 제어 회로와,
    뱅크 어드레스와 상기 클로즈 뱅크 인에이블 신호를 수신하기 위해 결합되고, 상기 뱅크 어드레스의 값에 대응하는 복수의 클로즈 뱅크 신호들 중의 하나를 발생시키는 뱅크 디코더를 포함하는, 클로즈 뱅크 회로를 더 포함하는, 메모리 장치 명령 발생기.
  7. 제 1 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 명령 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 처리기는,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들에 결합된 시퀀서와,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 유닛들로부터 상기 명령 비트들 및 시작 명령 신호들을 수신하기 위해 각각 결합된 복수의 명령 상태 기계들로서, 상기 명령 상태 기계들은 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 각각의 함수 신호들을 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 복수의 명령 상태 기계들과,
    상기 함수 신호들 각각에 대응하는 각각의 메모리 동작과 각각 연관되는 복수의 마이크로-동작 회로로서, 각각의 마이크로-동작 회로는 상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 상태 기계들 각각으로부터 대응하는 함수 신호들을 수신하기 위해 결합되고, 상기 마이크로-동작 회로들 각각은 복수의 상기 타이밍 신호들 중의 하나에 응답하여 각각의 명령 신호들을 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 마이크로-동작 회로에 대응하는 상기 메모리 동작의 특성 및 상기 클록 속도 신호에 의해 결정되는, 상기 복수의 마이크로-동작 회로들을 포함하는, 메모리 장치 명령 발생기.
  8. 제 1 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 비트들을 처리하게 하는, 상기 시작 명령 발생기를 포함하는, 메모리 장치 명령 발생기.
  9. 제 8 항에 있어서,
    상기 카운터는 카운트 중지 신호에 응답하여 카운팅을 종료하고, 상기 명령 유닛들 각각은 상기 카운터의 카운트를 표시하는 신호들을 수신하는 최종 카운트 디코더를 더 포함하고, 상기 최종 카운터 디코더는 상기 카운터의 최종 카운트를 검출하고, 그에 응답하여 상기 카운트 중지 신호를 발생시키는, 메모리 장치 명령 발생기.
  10. 제 1 항에 있어서,
    상기 복수의 명령 유닛들은 모든 상기 명령 유닛들에 의해 공유된 공통 버스를 통해 상기 명령 처리기에 결합된, 메모리 장치 명령 발생기.
  11. 제 1 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 유닛들 각각은 수신확인 신호를 수신할 때까지 상기 시작 명령 신호를 발생시키고, 상기 명령 처리기는 상기 시작 명령 신호의 수신에 응답하여 상기 수신확인 신호를 발생시키고, 상기 시작 명령 신호를 송신하는 상기 명령 유닛에 상기 수신확인 신호를 결합시키는, 메모리 장치 명령 발생기.
  12. 제 1 항에 있어서,
    상기 명령 처리기는 시작 명령 신호에 응답하여 상기 명령 비트들의 처리를 시작하고, 상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 명령 발생기에서의 소정의 위치에서 수신된 상기 명령 패킷의 타이밍에 대응하는 상기 초기 카운트의 값에 따른 상기 카운터를 로드하기 위해 결합된 카운터 프리로더(counter preloader)와,
    상기 카운터의 카운트를 수신하기 위해 결합된 복수의 카운터 디코더들로서, 상기 카운터 디코더들 각각은 상기 카운트의 각각의 값들의 디코딩에 응답하여 상기 시작 명령 신호를 발생시키고, 각각의 디코더에 의해 디코딩된 값은 상기 명령 유닛에 인가된 명령 비트들에 의해 표시된 명령의 특성 및 클록 속도 중의 적어도 하나의 함수인, 상기 복수의 카운터 디코더와,
    상기 명령 유닛에 인가된 명령 비트들을 수신하고, 상기 시작 명령 신호에 응답하여 상기 명령 유닛에 상기 명령 비트들을 기억시키는 래치를 포함하는, 메모리 장치 명령 발생기.
  13. 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷을 수신하는 메모리 장치 명령 발생기에 있어서
    적어도 하나의 패킷 워드의 적어도 일부를 각각의 명령 패킷에 수신 및 기억시키고, 각각의 명령 패킷의 저장된 부분을 명령 버스에 인가하는, 명령 버퍼와,
    상기 명령 버퍼의 명령 버스에 결합된 복수의 명령 유닛들로서, 상기 명령 유닛들 각각은 인에이블될 때 적어도 하나의 패킷 워드의 복수의 명령 비트들을 기억하고 상기 명령 유닛에 기억된 명령 비트들을 출력 버스에 출력하고, 상기 명령 유닛들 각각은 각각의 선택 신호에 응답하여 인에이블되고, 상기 명령 유닛이 명령 비트들을 기억하고 있고, 상기 기억된 명령 비트들을 상기 출력 버스에 출력하지 않았음을 표시하는 각각의 비지 신호(busy signal)를 발생시키고,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 인에이블된 명령 유닛에 의해 수신된 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와, 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기를 각각 포함하는, 상기 복수의 명령 유닛들과,
    상기 명령 유닛들 중 어느 것이 패킷 워드의 일부를 기억하고 있는지를 결정하기 위해 각각의 상기 명령 유닛들로부터 상기 비지 신호들을 수신하고, 상기 선택 신호를 수신하는 상기 명령 유닛이 상기 명령 버퍼로부터 수신된 패킷 워드의 일부분을 기억하게 하도록 비지 신호를 송신하고 있지 않는 상기 명령 유닛들 중의 하나에 각각의 선택 신호를 인가하는, 제어 회로와,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들의 출력 버스에 결합된 시퀀서와,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 유닛들로부터 명령 비트들 및 시작 명령 신호들을 수신하기 위해 각각 결합된 복수의 명령 상태 기계들로서, 상기 명령 상태 기계들은 복수의 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 각각의 함수 신호를 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 복수의 명령 상태 기계와,
    상기 함수 신호들 각각에 대응하는 각각의 메모리 동작과 각각 연관되는 복수의 마이크로-동작 회로들로서, 각각의 마이크로-동작 회로는 상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 상태 기계들 각각으로부터 대응하는 함수 신호들을 수신하기 위해 결합되고, 마이크로-동작 회로들 각각은 복수의 상기 타이밍 신호들 중의 하나에 응답하여 각각의 명령 신호를 발생시키고, 상기 함수 신호를 발생시키는데 사용된 타이밍 신호는 상기 마이크로-동작 회로에 대응하는 상기 메모리 동작의 특성 및 상기 클록 속도 신호에 의해 결정되는, 상기 복수의 마이크로-동작 회로를 포함하는, 메모리 장치 명령 발생기.
  14. 제 13 항에 있어서,
    상기 카운터는 카운트 중지 신호에 응답하여 카운팅을 종료하고, 상기 명령 유닛들 각각은 상기 카운터의 카운트를 표시하는 신호들을 수신하는 최종 카운트 디코더를 더 포함하고, 상기 최종 카운터 디코더는 상기 카운터의 최종 카운트를 검출하고, 그에 응답하여 상기 카운트 중지 신호를 발생시키는, 메모리 장치 명령 발생기.
  15. 패킷화된 랜덤 액세스 메모리로서,
    위상 명령 신호에 의해 결정된 외부 클록 신호에 대한 위상을 갖는 내부 클록 신호를 발생시키는 클록 발생기 회로와,
    행 어드레스 및 열 어드레스에 의해 결정된 위치에 데이터를 기억시키도록 적응된 메모리 셀들 중 적어도 하나의 어레이와,
    상기 행 어드레스를 수신하고 디코딩하고, 명령 신호들의 제 1 세트에 응답하여 상기 행 어드레스에 대응하는 메모리 셀들의 행을 선택하도록 적응된 행 어드레스 회로와,
    명령 신호들의 제 2 세트에 응답하여 상기 열 어드레스에 대응하는 선택된 행에서의 메모리 셀들 중의 하나에 데이터를 인가하거나 또는 데이터를 수신하도록 적응된 열 어드레스 회로와,
    명령 신호들의 제 3 세트에 응답하여 외부 단자와 상기 열 어드레스 회로 사이에 데이터를 결합시키도록 적응된 데이터 경로 회로와,
    명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷들을 수신하는 명령 발생기로서,
    각각의 명령 유닛들은 인에이블될 때 상기 명령 유닛들에 의해 수신된 명령 패킷의 복수의 명령 비트들을 기억하고, 활성화될 때 상기 명령 유닛에 기억된 상기 명령 비트들을 출력하는, 복수의 명령 유닛들과,
    상기 명령 유닛들 각각에 결합된 명령 유닛 선택기로서, 상기 명령 유닛들 중 어느 것이 명령 비트들을 기억하고 있는지를 결정하고, 첫 번째로 명령 비트들을 기억하고 있지 않은 상기 명령 유닛들 중 하나가 상기 명령 유닛들에 의해 수신된 명령 패킷으로부터의 복수의 명령 비트들을 기억하도록 인에이블시키고, 상기 첫 번째와 상이할 수 있는 두 번째에서 상기 명령 유닛에 기억된 상기 명령 비트들을 출력하도록 상기 명령 유닛들 중 하나를 더 활성화시키는, 상기 명령 유닛 선택기와,
    활성화된 명령 유닛으로부터 출력된 상기 명령 비트들을 수신하고, 상기 두 번째와 상이할 수 있는 세 번째에서 그에 응답하여 적어도 하나의 명령 신호를 발생시키기 위해 상기 명령 비트를 처리하는, 상기 명령 유닛들 각각에 결합된 명령 처리기를 포함하는 상기 명령 발생기를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  16. 제 15 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 기억된 명령 비트들에 의해 표시된 상기 명령의 특성의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 명령 비트들을 처리하게 하는, 상기 시작 명령 발생기를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  17. 제 16 항에 있어서,
    상기 시작 명령 발생기가 상기 시작 명령 신호를 발생시키는 상기 카운트들은 또한 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 패킷화된 다이내믹 랜덤 액세스 메모리.
  18. 제 15 항에 있어서,
    상기 명령 처리기는,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터의 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들에 결합된 시퀀서와,
    상기 명령 유닛들로부터 상기 명령 비트들을 수신하고, 상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하도록 결합된 명령 신호 발생기로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들에 대응하는 명령 신호를 발생시키고, 상기 명령 신호를 발생시키는데 사용된 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 상기 명령 신호 발생기를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  19. 제 18 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 상기 명령 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 신호 발생기는,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 유닛들로부터 상기 명령 비트들 및 시작 명령 신호들을 수신하기 위해 결합되는 명령 상태 기계로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들의 적어도 하나에 대응하는 복수의 함수 신호들을 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 명령 상태 기계와,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 상태 기계로부터 함수 신호들을 수신하기 위해 결합되는 마이크로-동작 회로로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 신호들을 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 속도 신호에 의해 결정되는, 상기 마이크로-동작 회로를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  20. 제 15 항에 있어서,
    명령 상태 기계는 클로즈 뱅크 회로를 더 포함하고, 상기 클로즈 뱅크 회로는,
    상기 시작 명령 신호에 응답하여 클로즈 뱅크 인에이블 신호를 발생시키는 클로즈 뱅크 제어 회로와,
    뱅크 어드레스 및 상기 클로즈 뱅크 인에이블 신호를 수신하기 위해 결합되고, 상기 뱅크 어드레스의 값에 대응하는 복수의 클로즈 뱅크 신호들 중의 하나를 발생시키는 뱅크 디코더를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  21. 제 15 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 상기 명령 비트들을 처리하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 처리기는,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터의 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들에 결합된 시퀀서와,
    상기 시퀀서로부터 타이밍 신호들의 상기 시퀀스를 수신하고, 상기 명령 유닛들로부터 상기 명령 비트들 및 시작 명령 신호들을 수신하기 위해 각각 결합된, 복수의 명령 상태 기계들로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 각각의 함수 신호들을 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 복수의 명령 상태 기계들과,
    상기 함수 신호들 각각에 대응하는 각각의 메모리 동작과 각각 연관된 복수의 마이크로-동작 회로들로서, 각각의 마이크로-동작 회로는 상기 시퀀서로부터 타이밍 신호들의 상기 시퀀스를 수신하고, 상기 명령 상태 기계들 각각으로부터 대응하는 함수 신호들을 수신하기 위해 결합되고, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 각각의 명령 신호를 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 마이크로-동작 회로에 대응하는 상기 메모리 동작의 특성 및 상기 클록 속도 신호에 의해 결정되는, 상기 복수의 마이크로-동작 회로를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  22. 제 15 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 비트들을 처리하도록 하는, 상기 시작 명령 발생기를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  23. 제 22 항에 있어서,
    상기 카운터는 카운트 중지 신호에 응답하여 카운팅을 종료하고, 상기 명령 유닛들 각각은 상기 카운터의 카운트를 표시하는 신호들을 수신하는 최종 카운트 디코더를 더 포함하고, 상기 최종 카운터 디코더는 상기 카운터의 최종 카운트를 검출하고, 그에 응답하여 상기 카운트 중지 신호를 발생시키는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  24. 제 15 항에 있어서,
    상기 복수의 명령 유닛들은 모든 상기 명령 유닛들에 의해 공유된 공통 버스를 통해 상기 명령 처리기에 결합된, 패킷화된 다이내믹 랜덤 액세스 메모리.
  25. 제 15 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 상기 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 수신확인 신호를 수신할 때까지 상기 시작 명령 신호를 발생시키고, 상기 명령 처리기는 상기 시작 명령 신호의 수신에 응답하여 상기 수신확인 신호를 발생시키고, 상기 시작 명령 신호를 송신한 상기 명령 유닛에 상기 수신확인 신호를 결합시키는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  26. 제 15 항에 있어서,
    상기 명령 처리기는 시작 명령 신호에 응답하여 상기 명령 비트들의 처리를 시작하고, 상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 명령 발생기에서의 소정의 위치에서 수신된 상기 명령 패킷의 타이밍에 대응하는 상기 초기 카운트의 값에 따른 상기 카운터를 로드하기 위해 결합된 카운터 프리로더와,
    상기 카운터의 카운트를 수신하기 위해 결합된 복수의 카운터 디코더들로서, 상기 카운터 디코더들은 각각 상기 카운트의 각각의 값들의 디코딩에 응답하여 상기 시작 명령 신호를 발생시키고, 각각의 디코더에 의해 디코딩된 값은 상기 명령 유닛에 인가된 상기 명령 비트들에 의해 표시된 상기 명령의 특성 및 클록 속도 중의 적어도 하나의 함수인, 상기 복수의 카운터 디코더들과,
    상기 명령 유닛에 인가된 상기 명령 비트들을 수신하고, 상기 시작 명령 신호에 응답하여 상기 명령 유닛에 상기 명령 비트들을 기억시키는 래치를 포함하는, 패킷화된 다이내믹 랜덤 액세스 메모리.
  27. 컴퓨터 시스템으로서,
    처리기 버스를 갖는 처리기와,
    데이터가 상기 컴퓨터 시스템에 입력되는 것을 허용하도록 적응된 상기 처리기 버스를 통해 상기 처리기에 결합된 입력 장치와,
    데이터가 상기 컴퓨터 시스템으로부터 출력되는 것을 허용하도록 적응된 상기 처리기 버스를 통해 상기 처리기에 결합된 출력 장치와,
    데이터가 기억되는 것을 허용하도록 적응되고, 복수의 입력 신호들을 수신하고 복수의 출력 신호들을 각각의 외부로 액세스 가능한 단말기들 상에 발생시키도록 적응된, 상기 처리기 버스에 결합된, 패킷화된 다이내믹 랜덤 액세스 메모리를 포함하고, 상기 패킷화된 다이내믹 랜덤 액세스 메모리는,
    위상 명령 신호에 의해 결정된 외부 클록 신호에 대한 위상을 갖는 내부 클록 신호를 발생시키는 클록 발생기 회로와,
    행 어드레스 및 열 어드레스에 의해 결정된 위치에 데이터를 기억시키도록 적응된 메모리 셀들의 적어도 하나의 어레이와,
    상기 행 어드레스를 수신 및 디코딩하고, 명령 신호들의 제 1 세트에 응답하여 상기 행 어드레스에 대응하는 메모리 셀들의 행을 선택하도록 적응된 행 어드레스 회로와,
    명령 신호들의 제 2 세트에 응답하여 상기 열 어드레스에 대응하는 상기 선택된 행에서의 메모리 셀들 중의 하나에 데이터를 인가하거나 또는 데이터를 수신하도록 적응된 열 어드레스 회로와,
    명령 신호들의 제 3 세트에 응답하여 외부 단자와 상기 열 어드레스 회로 사이에 데이터를 결합시키도록 적응된 데이터 경로 회로와,
    명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷들을 수신하는 명령 발생기를 포함하고, 상기 명령 발생기는,
    명령 유닛들 각각이, 인에이블될 때, 상기 명령 유닛들에 의해 수신된 명령 패킷의 복수의 명령 비트들을 기억하고, 활성화될 때, 상기 명령 유닛에 기억된 상기 명령 비트를 출력하는, 복수의 명령 유닛들과,
    상기 명령 유닛들 중 어느 것이 명령 비트들을 기억하고 있는지를 결정하고, 첫번째로 명령 비트들을 기억하고 있지 않은 상기 명령 유닛들 중 하나가 상기 명령 유닛들에 의해 수신된 명령 패킷으로부터 복수의 명령 비트들을 기억하게 하도록 인에이블시키고, 상기 첫 번째와 상이할 수 있는 두 번째에서 상기 명령 유닛에 기억된 상기 명령 비트들을 출력하도록 상기 명령 유닛들 중 하나를 또한 활성화시키는, 상기 명령 유닛들 각각에 결합된 명령 유닛 선택기와,
    활성화된 명령 유닛으로부터 출력된 상기 명령 비트들을 수신하고, 상기 두 번째와 상이할 수 있는 세 번째에서 그에 응답하여 적어도 하나의 명령 신호를 발생시키기 위해 상기 명령 비트들을 처리하는, 상기 명령 유닛들 각각에 결합된 명령 처리기를 포함하는, 컴퓨터 시스템.
  28. 제 27 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 기억된 명령 비트들에 의해 표시된 상기 명령의 특성의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는, 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 명령 비트들을 처리하게 하는, 상기 시작 명령 발생기를 포함하는, 컴퓨터 시스템.
  29. 제 28 항에 있어서,
    상기 시작 명령 발생기가 상기 시작 명령 신호를 발생시키는 상기 카운트들은 또한 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 컴퓨터 시스템.
  30. 제 27 항에 있어서,
    상기 명령 처리기는,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들에 결합된 시퀀서와,
    상기 명령 유닛들로부터 상기 명령 비트들을 수신하고, 상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하도록 결합된 명령 신호 발생기로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들에 대응하는 명령 신호를 발생시키고, 상기 명령 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 상기 명령 신호 발생기를 포함하는, 컴퓨터 시스템.
  31. 제 30 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 명령 비트를 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 신호 발생기는,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 유닛들로부터 상기 명령 비트들 및 시작 명령 신호들을 수신하기 위해 결합된 명령 상태 기계와, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 복수의 함수 신호들을 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 명령 상태 기계와,
    상기 시퀀서로부터 타이밍 신호들의 상기 시퀀스를 수신하고, 상기 명령 상태 기계로부터 상기 함수 신호들을 수신하도록 결합된, 마이크로-동작 회로로서, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 신호들을 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 속도 신호에 의해 결정되는, 상기 마이크로-동작 회로를 포함하는, 컴퓨터 시스템.
  32. 제 27 항에 있어서,
    명령 상태 기계는 클로즈 뱅크 회로를 더 포함하고, 상기 클로즈 뱅크 회로는,
    상기 시작 명령 신호에 응답하여 클로즈 뱅크 인에이블 신호를 발생시키는 클로즈 뱅크 제어 회로와,
    뱅크 어드레스 및 상기 클로즈 뱅크 인에이블 신호를 수신하기 위해 결합되고, 상기 뱅크 어드레스의 값에 대응하는 복수의 클로즈 뱅크 신호들 중의 하나를 발생시키는 뱅크 디코더를 포함하는, 컴퓨터 시스템.
  33. 제 27 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 상기 명령 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 상기 명령 처리기는,
    클록 신호에 응답하여 타이밍 신호들의 시퀀스를 발생시키고, 상기 명령 유닛들 중의 하나로부터의 상기 시작 명령 신호에 응답하여 상기 시퀀스를 시작하는, 상기 명령 유닛들에 결합된 시퀀서와,
    상기 시퀀서로부터 타이밍 신호들의 시퀀스를 수신하고, 상기 명령 유닛들로부터 상기 명령 비트들 및 시작 명령 신호들을 수신하기 위해 각각 결합된 복수의 명령 상태 기계들로서, 상기 명령 상태 기계들은 복수의 상기 타이밍 신호들 중의 하나에 응답하여 상기 명령 비트들 중 적어도 하나에 대응하는 각각의 함수 신호를 발생시키고, 상기 함수 신호들 각각을 발생시키는데 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는, 상기 복수의 명령 상태 기계들과,
    상기 함수 신호들 각각에 대응하는 각각의 메모리 동작과 각각 연관된 복수의 마이크로-동작 회로들로서, 각각의 마이크로-동작 회로는 상기 시퀀서로부터 타이밍 신호들의 상기 시퀀스를 수신하고, 상기 명령 상태 기계들 각각으로부터 대응하는 함수 신호들을 수신하기 위해 결합되고, 복수의 상기 타이밍 신호들 중의 하나에 응답하여 각각의 명령 신호를 발생시키고, 상기 함수 신호를 발생시키는데 사용된 상기 타이밍 신호는 마이크로-동작 회로에 대응하는 상기 메모리 동작의 특성 및 상기 클록 속도 신호에 의해 결정되는, 상기 복수의 마이크로-동작 회로들을 포함하는, 컴퓨터 시스템.
  34. 제 27 항에 있어서,
    상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 상기 카운터의 복수의 각각의 카운트들 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기로서, 상기 시작 명령 신호는 상기 명령 유닛들 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 비트를 처리하게 하는, 상기 시작 명령 발생기를 포함하는, 컴퓨터 시스템.
  35. 제 34 항에 있어서,
    상기 카운터는 카운트 중지 신호에 응답하여 카운팅을 종료하고, 상기 명령 유닛들 각각은 상기 카운터의 카운트를 표시하는 신호들을 수신하는 최종 카운트 디코더를 더 포함하고, 상기 최종 카운터 디코더는 상기 카운터의 최종 카운트를 검출하고, 그에 응답하여 상기 카운트 중지 신호를 발생시키는, 컴퓨터 시스템.
  36. 제 27 항에 있어서,
    상기 복수의 명령 유닛들은 모든 상기 명령 유닛들에 의해 공유된 공통 버스를 통해 상기 명령 처리기에 결합된, 컴퓨터 시스템.
  37. 제 27 항에 있어서,
    상기 명령 유닛들 각각은 상기 명령 신호를 발생시키기 위해 상기 명령 처리기가 상기 명령 유닛으로부터 수신된 상기 비트들을 처리하게 하도록 각각의 시작 명령 신호를 발생시키고, 수신확인 신호를 수신할 때까지 상기 시작 명령 신호를 발생시키고, 상기 명령 처리기는 상기 시작 명령 신호의 수신에 응답하여 상기 수신확인 신호를 발생시키고, 상기 시작 명령 신호를 송신한 상기 명령 유닛에 상기 수신확인 신호를 결합시키는, 컴퓨터 시스템.
  38. 제 27 항에 있어서,
    상기 명령 처리기는 시작 명령 신호에 응답하여 상기 명령 비트들의 처리를 시작하고, 상기 명령 유닛들 각각은,
    클록 신호에 응답하여 초기 카운트에서 최종 카운트까지 한 방향으로 카운팅하는 카운터로서, 상기 카운팅은 상기 명령 유닛이 상기 명령 유닛 선택기에 의해 활성화될 때 명령 유닛에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는, 상기 카운터와,
    상기 명령 발생기의 소정의 위치에서 수신된 상기 명령 패킷의 타이밍에 대응하는 상기 초기 카운트의 값에 따른 상기 카운터를 로드하기 위해 결합된 카운터 프리로더와,
    상기 카운터의 카운트를 수신하기 위해 결합된 복수의 카운터 디코더로서, 상기 카운터 디코더들 각각은 상기 카운트의 각각의 값들의 디코딩에 응답하여 상기 시작 명령 신호를 발생시키고, 각각의 디코더에 의해 디코딩된 값은 상기 명령 유닛에 인가된 상기 명령 비트들에 의해 표시된 상기 명령의 특성 및 상기 클록 속도 중의 적어도 하나의 함수인, 상기 복수의 카운터 디코더들과,
    상기 명령 유닛에 인가된 상기 명령 비트들을 수신하고, 상기 시작 명령 신호에 응답하여 상기 명령 유닛에 상기 명령 비트들을 기억시키는 래치를 포함하는, 컴퓨터 시스템.
  39. 메모리 장치에 인가된 메모리 명령들을 처리하는 방법으로서,
    상기 메모리 명령들이 상기 메모리 장치에서 수신됨에 따라 복수의 기억 레지스터들 중 하나에 상기 메모리 명령들 각각을 기억시키는 단계와,
    단일 명령 실행 유닛에서 상기 기억된 메모리 명령들 각각을 순차로 실행하는 단계를 포함하는, 메모리 명령 처리 방법.
  40. 제 39 항에 있어서,
    상기 기억된 메모리 명령들 각각이 상기 메모리 장치의 동작 속도의 함수로서 실행되는 시간을 변경하는 단계를 더 포함하는, 메모리 명령 처리 방법.
  41. 제 39 항에 있어서,
    상기 기억된 메모리 명령들 각각이 상기 메모리 명령의 특성의 함수로서 실행되는 시간을 변경하는 단계를 더 포함하는, 메모리 명령 처리 방법.
  42. 제 39 항에 있어서,
    상기 기억된 메모리 명령들을 실행하는 상기 단계는 상기 메모리 장치내에서 신호들의 타이밍의 함수인 클록 사이클 내의 시간에 상기 명령 신호들을 실행하는 단게를 더 포함하는, 메모리 명령 처리 방법.
  43. 메모리 장치에 인가된 메모리 명령들을 처리하는 방법으로서,
    상기 메모리 명령들이 상기 메모리 장치에서 수신됨에 따라 복수의 기억 레지스터들 중의 하나에 상기 메모리 명령들 각각을 기억시키는 단계와,
    상기 기억 레지스터들 각각에 기억된 상기 메모리 명령들을 상이한 시간들에서 단일 명령 실행 유닛으로 전송하는 단계와,
    시작 명령 신호를 상기 명령 실행 유닛에 인가하는 단계와,
    대응하는 명령 신호들을 발생시키기 위해 상기 시작 명령 신호에 응답하여 상기 명령 실행 유닛에 전송된 각각의 메모리 명령을 처리하는 단계와,
    상기 명령 실행 유닛이 상기 메모리 명령을 처리하기 시작한 후, 상기 시작 명령 신호를 종료시키는 단계를 포함하는, 메모리 명령 처리 방법.
  44. 제 43 항에 있어서,
    상기 시작 명령 신호가 상기 메모리 장치의 동작 속도의 함수로서 상기 명령 실행 유닛에 인가되는 시간을 변경하는 단계를 더 포함하는, 메모리 명령 처리 방법.
  45. 제 43 항에 있어서,
    상기 시작 명령 신호가 상기 메모리 명령의 특성의 함수로서 상기 명령 실행 유닛에 인가되는 시간을 변경하는 단계를 더 포함하는, 메모리 명령 처리 방법.
KR10-2000-7006831A 1997-12-19 1998-12-18 파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템 KR100514712B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/994,461 1997-12-19
US08/994,461 US6202119B1 (en) 1997-12-19 1997-12-19 Method and system for processing pipelined memory commands
US8/994,461 1997-12-19
PCT/US1998/026982 WO1999033058A1 (en) 1997-12-19 1998-12-18 Method and system for processing pipelined memory commands

Publications (2)

Publication Number Publication Date
KR20010033364A KR20010033364A (ko) 2001-04-25
KR100514712B1 true KR100514712B1 (ko) 2005-09-14

Family

ID=25540686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7006831A KR100514712B1 (ko) 1997-12-19 1998-12-18 파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템

Country Status (8)

Country Link
US (2) US6202119B1 (ko)
EP (1) EP1040484B1 (ko)
JP (1) JP2001527262A (ko)
KR (1) KR100514712B1 (ko)
AT (1) ATE224576T1 (ko)
AU (1) AU2003499A (ko)
DE (1) DE69808132T2 (ko)
WO (1) WO1999033058A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2105841A1 (en) * 1997-10-10 2009-09-30 Rambus Inc. Apparatus and method for pipelined memory operations with write mask
US6128749A (en) * 1998-11-03 2000-10-03 Intel Corporation Cross-clock domain data transfer method and apparatus
US6178133B1 (en) * 1999-03-01 2001-01-23 Micron Technology, Inc. Method and system for accessing rows in multiple memory banks within an integrated circuit
KR100296964B1 (ko) * 1999-06-28 2001-11-01 박종섭 패킷 명령어 구동형 메모리소자
US6438681B1 (en) * 2000-01-24 2002-08-20 Hewlett-Packard Company Detection of data hazards between instructions by decoding register indentifiers in each stage of processing system pipeline and comparing asserted bits in the decoded register indentifiers
US6862654B1 (en) * 2000-08-17 2005-03-01 Micron Technology, Inc. Method and system for using dynamic random access memory as cache memory
KR100366627B1 (ko) * 2000-08-23 2003-01-09 삼성전자 주식회사 Dtc 기반 플립플럽 회로 및 비교기
US6779076B1 (en) * 2000-10-05 2004-08-17 Micron Technology, Inc. Method and system for using dynamic random access memory as cache memory
KR100752602B1 (ko) * 2001-02-13 2007-08-29 삼성전자주식회사 쉬프트 레지스터와, 이를 이용한 액정 표시 장치
US6661554B2 (en) * 2001-08-23 2003-12-09 Cyoptics (Israel) Ltd. Biasing of an electro-optical component
US6985388B2 (en) * 2001-09-17 2006-01-10 Sandisk Corporation Dynamic column block selection
US6806881B2 (en) 2001-09-18 2004-10-19 Seiko Epson Corporation Graphics controller for high speed transmission of memory read commands
US20030149870A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services wide area network connection anti-spoofing control
US6983354B2 (en) * 2002-05-24 2006-01-03 Micron Technology, Inc. Memory device sequencer and method supporting multiple memory device clock speeds
US7299329B2 (en) 2004-01-29 2007-11-20 Micron Technology, Inc. Dual edge command in DRAM
US7730282B2 (en) * 2004-08-11 2010-06-01 International Business Machines Corporation Method and apparatus for avoiding data dependency hazards in a microprocessor pipeline architecture using a multi-bit age vector
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US9898438B2 (en) 2014-10-13 2018-02-20 Samsung Electronics Co., Ltd. Symbol lock method and a memory system using the same
KR102401271B1 (ko) 2015-09-08 2022-05-24 삼성전자주식회사 메모리 시스템 및 그 동작 방법
US10210918B2 (en) 2017-02-28 2019-02-19 Micron Technology, Inc. Apparatuses and methods for determining a phase relationship between an input clock signal and a multiphase clock signal
US10090026B2 (en) * 2017-02-28 2018-10-02 Micron Technology, Inc. Apparatuses and methods for providing internal memory commands and control signals in semiconductor memories
US10269397B2 (en) 2017-08-31 2019-04-23 Micron Technology, Inc. Apparatuses and methods for providing active and inactive clock signals
US10607671B2 (en) * 2018-02-17 2020-03-31 Micron Technology, Inc. Timing circuit for command path in a memory device
KR20190128451A (ko) * 2018-05-08 2019-11-18 에스케이하이닉스 주식회사 반도체장치

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960003526B1 (ko) 1992-10-02 1996-03-14 삼성전자주식회사 반도체 메모리장치
US4312068A (en) 1976-08-12 1982-01-19 Honeywell Information Systems Inc. Parallel generation of serial cyclic redundancy check
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
GB2128383B (en) 1982-10-12 1986-06-18 Int Computers Ltd Data storage unit
JPS59116829A (ja) 1982-12-23 1984-07-05 Fujitsu Ltd マイクロコンピユ−タ
US4630230A (en) 1983-04-25 1986-12-16 Cray Research, Inc. Solid state storage device
US4849702A (en) 1983-08-01 1989-07-18 Schlumberger Techologies, Inc. Test period generator for automatic test equipment
US4695952A (en) 1984-07-30 1987-09-22 United Technologies Corporation Dual redundant bus interface circuit architecture
GB2177825B (en) 1985-07-12 1989-07-26 Anamartic Ltd Control system for chained circuit modules
US4949301A (en) 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US4768190A (en) 1986-04-30 1988-08-30 Og Corporation Packet switching network
US4845664A (en) 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
ZA883232B (en) 1987-05-06 1989-07-26 Dowd Research Pty Ltd O Packet switches,switching methods,protocols and networks
US5099481A (en) 1989-02-28 1992-03-24 Integrated Device Technology, Inc. Registered RAM array with parallel and serial interface
US5321700A (en) 1989-10-11 1994-06-14 Teradyne, Inc. High speed timing generator
JPH04219859A (ja) * 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
JPH04222049A (ja) * 1990-03-16 1992-08-12 Hewlett Packard Co <Hp> 属性データ記憶及びグラフィックスパイプラインアクセスを可能にするデータストリーム集信装置
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
KR100214435B1 (ko) 1990-07-25 1999-08-02 사와무라 시코 동기식 버스트 엑세스 메모리
US5367643A (en) 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5175732A (en) * 1991-02-15 1992-12-29 Standard Microsystems Corp. Method and apparatus for controlling data communication operations within stations of a local-area network
US5454093A (en) 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
JPH05134848A (ja) 1991-03-06 1993-06-01 Fujitsu Ltd 中央処理装置のデータシフト回路
US5297029A (en) 1991-12-19 1994-03-22 Kabushiki Kaisha Toshiba Semiconductor memory device
DE69329778T2 (de) 1992-09-29 2001-04-26 Seiko Epson Corp System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US5615355A (en) 1992-10-22 1997-03-25 Ampex Corporation Method and apparatus for buffering a user application from the timing requirements of a DRAM
JPH06195147A (ja) 1992-12-23 1994-07-15 Fujitsu Ltd クロック制御装置
JPH06202933A (ja) 1992-12-28 1994-07-22 Toshiba Corp 同期式大規模集積回路記憶装置
JP3244340B2 (ja) 1993-05-24 2002-01-07 三菱電機株式会社 同期型半導体記憶装置
US5732041A (en) 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
US5312068A (en) 1993-08-27 1994-05-17 Talbert Gerald H Apparatus for preventing bird droppings on an exterior structural surface of an airplane
US5402390A (en) 1993-10-04 1995-03-28 Texas Instruments Inc. Fuse selectable timing signals for internal signal generators
US5355345A (en) 1993-10-04 1994-10-11 At&T Bell Laboratories Fully scalable memory apparatus
US5584009A (en) 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a write buffer
US5566325A (en) 1994-06-30 1996-10-15 Digital Equipment Corporation Method and apparatus for adaptive memory access
JP2697634B2 (ja) 1994-09-30 1998-01-14 日本電気株式会社 同期型半導体記憶装置
US5713005A (en) 1995-02-10 1998-01-27 Townsend And Townsend And Crew Llp Method and apparatus for pipelining data in an integrated circuit
US5682496A (en) 1995-02-10 1997-10-28 Micron Quantum Devices, Inc. Filtered serial event controlled command port for memory
US5848431A (en) * 1995-02-21 1998-12-08 Micron Technology, Inc. Synchronous SRAMs having multiple chip select inputs and a standby chip enable input
US5737748A (en) 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5701434A (en) 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
KR0152914B1 (ko) 1995-04-21 1998-12-01 문정환 반도체 메모리장치
US5793996A (en) 1995-05-03 1998-08-11 Apple Computer, Inc. Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer
US5600605A (en) 1995-06-07 1997-02-04 Micron Technology, Inc. Auto-activate on synchronous dynamic random access memory
US5655105A (en) 1995-06-30 1997-08-05 Micron Technology, Inc. Method and apparatus for multiple latency synchronous pipelined dynamic random access memory
US5887146A (en) 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
JPH09161475A (ja) 1995-12-01 1997-06-20 Hitachi Ltd 半導体記憶装置
US5636174A (en) 1996-01-11 1997-06-03 Cirrus Logic, Inc. Fast cycle time-low latency dynamic random access memories and systems and methods using the same
JP4084428B2 (ja) 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
KR100215439B1 (ko) * 1996-02-08 1999-08-16 윤종용 고속의 데이타 구문분석 제어회로
US5835925A (en) 1996-03-13 1998-11-10 Cray Research, Inc. Using external registers to extend memory reference capabilities of a microprocessor
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US5652733A (en) 1996-04-29 1997-07-29 Mosaid Technologies Inc. Command encoded delayed clock generator
TW353176B (en) 1996-09-20 1999-02-21 Hitachi Ltd A semiconductor device capable of holding signals independent of the pulse width of an external clock and a computer system including the semiconductor
KR100237565B1 (ko) 1996-10-25 2000-01-15 김영환 반도체 메모리장치
US5920710A (en) 1996-11-18 1999-07-06 Advanced Micro Devices, Inc. Apparatus and method for modifying status bits in a reorder buffer with a large speculative state
JP4057084B2 (ja) 1996-12-26 2008-03-05 株式会社ルネサステクノロジ 半導体記憶装置
US5831929A (en) 1997-04-04 1998-11-03 Micron Technology, Inc. Memory device with staggered data paths
US6032232A (en) 1997-05-29 2000-02-29 3Com Corporation Multiported memory access system with arbitration and a source burst limiter for blocking a memory access request
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US5825711A (en) 1997-06-13 1998-10-20 Micron Technology, Inc. Method and system for storing and processing multiple memory addresses
US6032220A (en) 1997-07-18 2000-02-29 Micron Technology, Inc. Memory device with dual timing and signal latching control
US6175905B1 (en) * 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6178488B1 (en) * 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands

Also Published As

Publication number Publication date
EP1040484A1 (en) 2000-10-04
US6202119B1 (en) 2001-03-13
DE69808132D1 (de) 2002-10-24
KR20010033364A (ko) 2001-04-25
EP1040484B1 (en) 2002-09-18
DE69808132T2 (de) 2003-05-15
WO1999033058A1 (en) 1999-07-01
US6360292B1 (en) 2002-03-19
JP2001527262A (ja) 2001-12-25
AU2003499A (en) 1999-07-12
ATE224576T1 (de) 2002-10-15

Similar Documents

Publication Publication Date Title
KR100514712B1 (ko) 파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템
JP3869021B2 (ja) 2ステップメモリデバイスコマンドバッファ装置および方法、ならびにこれを用いたメモリデバイスおよびコンピュータシステム
US6385709B2 (en) Multiplexed data transfer arrangement including a multi-phase signal generator for latency control
US6044023A (en) Method and apparatus for pipelining data in an integrated circuit
US5955905A (en) Signal generator with synchronous mirror delay circuit
US6134180A (en) Synchronous burst semiconductor memory device
US5280594A (en) Architecture for high speed contiguous sequential access memories
US6175905B1 (en) Method and system for bypassing pipelines in a pipelined memory command generator
US6178488B1 (en) Method and apparatus for processing pipelined memory commands
EP0936619B1 (en) Signal delay device for use in semiconductor storage device for improved burst mode operation
EP1097455A1 (en) Method and apparatus for controlling the data rate of a clocking circuit
US6175894B1 (en) Memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) Method and system for storing and processing multiple memory commands
US5841727A (en) Semiconductor memory device
JPH0745068A (ja) 同期型半導体記憶装置
JP3141115B2 (ja) バーストedoメモリ装置アドレス・カウンタ
JP4678471B2 (ja) 均衡が取れたデュアルエッジでトリガーされたデータビットシフトの回路および方法
US7143257B2 (en) Method and apparatus of a smart decoding scheme for fast synchronous read in a memory system
JPH08106778A (ja) 同期型半導体記憶装置

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee