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

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

Info

Publication number
KR20010033364A
KR20010033364A KR1020007006831A KR20007006831A KR20010033364A KR 20010033364 A KR20010033364 A KR 20010033364A KR 1020007006831 A KR1020007006831 A KR 1020007006831A KR 20007006831 A KR20007006831 A KR 20007006831A KR 20010033364 A KR20010033364 A KR 20010033364A
Authority
KR
South Korea
Prior art keywords
command
signal
unit
signals
coupled
Prior art date
Application number
KR1020007006831A
Other languages
English (en)
Other versions
KR100514712B1 (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
    • 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

Landscapes

  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Finish Polishing, Edge Sharpening, And Grinding By Specific Grinding Devices (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템{Method and system for processing pipelined memory commands}
종래의 컴퓨터 시스템은 처리기에 대한 명령을 전통적으로 저장하는 판독 전용 메모리("ROM")를 포함하는 각종 메모리 장치 및 처리기가 데이터를 기입할 수 있고 처리기가 데이터를 판독 할 수 있는 시스템 메모리에 결합된 처리기(도시되지 않음)를 포함한다. 처리기는 일반적으로 스태틱 랜덤 액세스 메모리("SRAM")인 외부 캐쉬 메모리와 통신할 수도 있다. 처리기는 입력 장치, 출력 장치 및 데이터 기억 장치와 통신한다.
처리기는 일반적으로 비교적 고속으로 작동한다. 적어도 200 MHz의 클록 속도로 작동하는 펜티엄및 펜티엄 Pro마이크로프로세서 등의 처리기를 현재 입수할 수 있다. 그러나, SRAM 캐쉬를 제외하고 현존하는 컴퓨터 시스템의 나머지 부품들은 처리기의 속도에서 작동할 수 없다. 이러한 이유 때문에, 시스템 메모리 장치 뿐만 아니라 입력 장치, 출력 장치, 및 데이터 기억 장치는 처리기 버스에 직접적으로 결합되지 않는다. 대신에, 시스템 메모리 장치는 일반적으로 메모리 제어기, 버스 브리지 또는 유사한 장치를 통해 버스 처리기에 결합되고, 입력 장치, 출력 장치 및 데이터 기억 장치는 버스 브리지를 통해 처리기 버스에 결합된다. 메모리 제어기는 처리기의 클록 주파수 보다 실질적으로 더 낮은 클록 주파수에서 시스템 메모리 장치가 작동하게 한다. 마찬가지로, 버스 브리지는 입력 장치, 출력 장치 및 데이터 기억 장치가 실질적으로 보다 더 낮은 주파수에서 작동하게 한다. 현재, 예를 들면, 200MHz 클록 주파수를 갖는 처리기는 시스템 메모리 장치 및 기타 부품을 제어하기 위해 66MHz 클록 주파수를 갖는 마더 보드 상에 설치될 수 있다.
시스템 메모리에 대한 액세스는 처리기에 대한 빈번한 오퍼레이션이다. 예를 들면 66MHz에서 작동하는 시스템 메모리 장치로부터 데이터를 판독하거나 그에 데이터를 기록하기 위해 예를 들면 200MHz에서 작동하는 프로세서에 필요한 시간은 그 프로세서가 그의 오퍼레이션을 수행할 수 있는 속도를 표시한다. 따라서, 시스템 메모리 장치의 작동 속도를 증가시키기 위해 많은 노력이 경주되어야 한다.
시스템 메모리 장치들은 일반적으로 다이내믹 랜덤 액세스 메모리("DRAM")이다. 초기에, DRAM은 비동기되고, 따라서 마더보드의 클록 속도에서조차 작동하지 않는다. 사실상, 비동기 DRAM에 대한 액세스는 DRAM이 메모리 트랜스퍼를 완료할 때까지 처리기를 중지시키기 위해 대기 상태가 발생될 것을 종종 요한다. 그러나, 비동기 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) 상에서 버스 경쟁을 피할 수 있다. 버스 경쟁은 유일한 식별자를 갖는 버스 브리지(22) 상의 각각의 메모리 장치(16a-c)에 의해 피하게 되고, 명령 패킷은 이들 부품들 중의 하나만을 선택하는 식별 코드를 포함한다.
씽크링크 패킷화된 DRAM을 위한 전형적인 명령 패킷은 도 2에 표시한다. 명령 패킷은 각각 10 비트의 데이터를 포함하는 4개의 패킷 워드로 형성된다. 제 1 패킷 워드 W1은 명령 패킷의 의도된 수령체인 패킷화된 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비트 명령을 포함한다. 전형적인 명령은 메모리 셀의 페이지 또는 뱅크에 대한 액세스 등의 각종 모드로 판독되고 기입된다. 제 2 패킷 워드 W2의 나머지 7비트 및 제 3 및 제4 패킷 워드 W3및 W4부분들은 메모리 전송 또는 다중 비트 메모리 전송의 시작을 위해 뱅크 어드레스, 행 어드레스 및 열 어드레스를 명시하는 20비트 어드레스를 포함한다. 일 실시예에서, 20-비트 어드레스는 3비트의 뱅크 어드레스, 10비트의 행 어드레스 및 7비트의 열 어드레스로 분할된다.
도 2에 표시한 명령 패킷은 각각 10비트 이하를 포함하는 4개의 패킷 워드로 구성되지만, 명령 패킷이 보다 작거나 또는 보다 많은 수의 패킷 워드를 포함할 수 있고, 각각의 패킷 워드는 보다 작거나 또는 보다 많은 수의 비트를 포함할 수 있음을 이해해야 할 것이다.
컴퓨터 시스템(10)은 간단히 할 목적상 도 1에서 생략된 많은 다른 부품 및 신호 라인들을 포함하기도 한다. 예를 들면, 아래 설명한 바와 같이, 메모리 장치(16a-c)는 내부 타이밍 신호를 제공하기 위한 마스터 클록 신호, 메모리 장치(16)로 및 그 밖으로 데이터를 클로킹하는 데이터 클록 신호, 및 명령 패킷의 시작을 예시하는 FLAG 신호를 수신하기도 한다.
메모리 장치(16)는 도 3의 블록도 형태로 표시한다. 각각의 메모리 장치(16)는 매스터 클록 신호(42)를 수신하고, 메모리 장치(16)에서 여러 가지 오퍼레이션의 타이밍을 조절하기 위한 타이밍 신호 및 많은 수의 기타 클록을 발생시키는 클록 분할기 및 지연 회로(40)를 포함한다. 메모리 장치(16)는 내부 클록 CLK 신호, 명령 버스(50) 상의 명령 패킷(CA0-CA9), 및 라인(52) 상의 FLAG 신호를 수신하는 어드레스 캡춰 회로(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 어레이에서 평형 회로 및 프리차지에 필요한 시간으로부터 초래되는 비교적 낮은 이들의 속도이다. 도 3에 표시한 패킷화된 DRAM은 복수개의 메모리 뱅크(80), 이 경우 8개의 메모리 뱅크(80a-h)를 사용함으로써 이러한 문제를 피할 수 있다. 메모리가 하나의 뱅크(80a)로부터 판독된 후, 뱅크(80a)는 나머지 뱅크(80b-h)가 액세스되는 동안 프리차지될 수 있다. 각각의 메모리 뱅크(80a-h)는 각각의 행 래치/디코더/드라이버(82a-h)로부터 행 어드레스를 수신한다. 모든 행 래치/디코더/드라이버(82a-h)는 멀티플렉서(90)에 의해 결정되는 바의 리프레쉬 카운터 또는 행 어드레스 레지스터(86)로부터 행 어드레스를 수신하는 프리디코더(84)로부터 동일한 행 어드레스를 수신한다. 그러나, 행 래치/디코더/드라이버(82a-h) 중의 하나는 뱅크 어드레스 레지스터(96)로부터 뱅크 데이터의 함수로서 뱅크 제어 로직(94)에 의해 결정된 바의 임의의 시점에서 활성화된다.
버스(70) 상의 열 어드레스는 I/O 게이팅 회로(102)에 I/O 게이팅 신호를 공급하는 열 래치/디코더(100)에 인가된다. I/O 게이팅 회로(102)는 센스 앰프(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)의 논리도.
본 발명의 일 국면에 따라, 메모리 장치 명령 발생기는 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷을 수신한다. 명령 발생기는 복수개의 명령 유니트를 포함한다. 각각의 명령 유니트는 인에이블될 때 명령 유니트에 의해 수신된 명령 패킷의 복수개의 명령 비트를 기억하고 기억된 명령 비트를 순차로 출력한다. 각각의 명령 유니트에 결합된 명령 유니트 선택기는 어느 명령 유니트가 명령 비트를 기억하기에 바쁜지를 결정하고, 바쁘지 않은 명령 유니트중 하나를 인에이블시킨다. 각각의 명령 유니트에 결합된 명령 처리기는 인에이블된 명령 유니트로부터 출력된 명령 비트를 수신하고, 그 명령 비트를 처리하여 그에 반응하는 적어도 하나의 명령 신호를 발생시킨다. 명령 처리기는 명령 유니트 중의 인에이블된 것으로부터 수신된 시작 명령 신호에 응답하는 타이밍 신호의 시퀀스를 발생시키는 시퀀서를 포함하는 것이 바람직하다. 명령 처리기는 명령 유니트로부터 명령 비트 및 시퀀서로부터 타이밍 신호의 시퀀스를 수신하도록 결합된 명령 신호 발생기를 포함하는 것이 바람직하다. 명령 신호 발생기는 복수개의 타이밍 신호들 중의 하나에 응답하는 명령 비트에 대응하는 명령 신호를 발생시킨다. 명령 신호를 발생시키기 위해 사용된 타이밍 신호는 명령 발생기를 포함하는 메모리 장치의 오퍼레이션을 제어하는 클록 신호의 주파수의 함수이다. 각각의 명령 유니트는 시작 명령 신호를 발생시키는 시작 명령 발생기 및 카운터를 포함하는 것이 바람직하다. 카운터는 클록 신호에 응답하는 초기 카운트에서 최종 카운트를 카운트하고, 그 카운팅은 명령 유니트에 의해 수신된 명령 패킷과 연관된 타이밍 신호에 응답하는 시작된다. 시작 명령 발생기는 기억된 명령 비트로 표시한 명령 및(또는) 클록 신호의 주파수의 특성의 함수인 카운터의 복수개의 각각의 카운트 중 하나에서 시작 명령 신호를 생성한다. 시작 명령 신호는 명령 유니트 각각에 결합된 명령 처리기가 명령 비트를 처리하여 명령 신호를 발생하게 한다.
본 발명에 따른 명령 버퍼(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)로부터 제 1의 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비트의 폭 및 각각 하나의 8비트 명령어를 로드하는 4개의 기억 레지스터를 갖는 단일 스테이지를 갖는다. 또한, 도 4에 표시한 실시예에서, 명령어 각각은 시프트 레지스터(202)의 2개의 스테이지를 통해 각각 CLK 주기로 시프트된다.
제 1 기억 레지스터(206)가 로드된 후, 이는 제 1의 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에 대응하는 오퍼레이션을 수행하게 하는 활성 CHPSEL 신호를 발생시킨다. 중요하게는, 도 2에 표시한 바와 같이 ID 부분은 명령 패킷의 제 1 패킷 워드에 존재하기 때문에 단지 2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후, 비교기(214)는 명령 패킷의 ID 부분을 ID 레지스터(212)에 기억된 식별 데이터와 비교할 수 있다. 더욱이, 명령 버퍼(200)는 제 1의 2개의 패킷 워드가 시프트 레지스터(202)로 시프트된 후에 제 1의 3개의 명령 비트들의 디코딩을 시작할 수 있다. 전체 명령 패킷이 명령 버퍼(200)에 의해 수신되기 전에 명령 패킷의 일부를 처리함으로써, 명령 버퍼는 명령 패킷을 보다 신속하고 완전하게 처리할 수 있다.
명령 버스(220) 상의 COMMAND는 행 명령 유니트("RCU")(226) 및 열 명령 유니트("CCU")(228)를 포함하는 명령 유니트(224)에 인가된다. RCU(226)는 행 어드레스 및 행 명령을 다룰 책임이 있는 한편, CCU(228)는 열 및 뱅크 어드레스 뿐만 아니라 메모리 어레이(80)의 열들에 관련된 명령들을 다룰 책임이 있다(도 3).
CCU(228)는 열 및 뱅크 어드레스를 열 어드레스 버스(230)에 출력하고, 상위 레벨 명령을 명령 실행 유니트(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 및 그의 직각 위상 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비트를 클리어함으로써, 의사 명령 신호는 명령 버스(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)는 거친 버니어 회로(331)를 포함하기도 한다. 아래 상세히 설명하는 바와 같이, 거친 버니어 회로(331)는 명령어 Y〈20:24, 11, 9〉의 일부로부터 6비트의 거친 버니어 워드 CRSE_VERN〈5:0〉을 발생시킨다. 아래 더 설명하는 바와 같이, 거친 버니어 워드 CRSE_VERN〈5:0〉는 열 명령 유니트(228)에 카운터 (도 5에 표시한 바와 같음)를 프리로드하기 위해 사용된다.
도 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)는 넌인버팅 입력단에 결합된 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)의 역은 래치(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 신호의 폴링 에지에서 하이 값일 때마다 존재한다.
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 클록 주기) 후에, 제 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의 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는 로우 값으로 설정된다.
통과 게이트(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)는 F〈3〉 신호에 응답하는 명령어 비트 Y〈19:0〉의 각각의 조합 및 액티브 하이인 CHPSEL 신호의 디코딩에 응답하는 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"에 대응하게 하여 비교기 회로(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)중 각각의 신호가 비지임을 표시하는 비지 신호 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〉 신호는 인액티브 로우 값으로 트랜지션됨으로써 명령어들은 일단 다시 명령 유니트(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)는 액티브 하이 EXSEL〈7:0〉 신호를 그의 BUSY〈7:0〉 신호가 액티브 로우이고, 계층 구조에서 보다 높은 모든 명령 유니트(500)에 대한 각각의 BUSY〈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〉이다. 카운터의 제로 최종 카운트는 카운터(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)를 트리거한다. 래치(580)는 3-상태 인버터(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〉 신호 후 1 클록 주기에 F〈4〉 신호에 응답하는 발생하는 펄스 발생기(738)로부터 펄스 또는 인버터(736)를 통해 결합된 음으로 진행되는 파워-온 리셋 신호 RESET*에 의해 리셋된다. EXSEL〈7:0〉 신호들은 F〈3〉 신호가 하이 값으로 되는 F〈2〉 신호와 하이 값으로 되는 F〈4〉 신호 간에 액티브한 시간 동안 안정할 수 있다. 이러한 시점 동안 입수 가능한 명령 유니트(500)가 선택되고, 명령어에 따라 로드되고, 이어서 인에이블된다. F〈4〉가 하이 값으로 될 때 선택된 명령 유니트(500)의 EXSEL 출력단은 선택된 명령 유니트가 바쁜 것을 나타내도록 하이 값으로 된다. 요약하자면, 명령 유니트(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〉 신호는 계층 구조에서 상위인 EXBUSY〈N+1〉 신호가 액티브 하이인 경우에만 액티브 로우 EXBUSY〈N〉 신호에 응답하는 발생될 수 있다. 예를 들면, EXBUSY〈4〉 신호가 인액티브 로우인 경우, 액티브 하이 EXSEL〈4〉 신호는 EXBUSY〈4〉 신호를 발생시키는 NAND 게이트(752)가 인에이블되는 경우에만 발생될 것이다. NAND 게이트(752)는 래치된 EXBUSY〈3〉 신호가 액티브 하이이고, NAND 게이트(770)의 출력단이 액티브 하이인 EXBUSY〈2:0〉 신호에 응답하는 로우인 경우에만 NAND 게이트(752)가 인에이블될 것이다. EXSEL〈4〉 신호가 인액티브 로우 EXBUSY〈4〉 신호로부터 발생되는 경우, 그의 래치(410e)의 출력단에서 하이 값은 하위 계층을 갖는 모든 NAND 게이트(752)를 디스에이블시키기 위해 인버터(760)를 통해 결합된다. 이러한 방식으로, 명령 유니트 선택기(502)는 각각의 명령어가 단지 하나의 명령 유니트(500)에 기억되고, 그의 각각의 EXBUSY 신호가 인액티브 로우로 될 때까지 기억된 명령을 중복 기입하지 않도록 보장한다. 상술한 바와 같이, 명령 유니트(500)에 대한 EXBUSY 신호는 카운터(550)가 최종 카운트로 감소될 때까지 CNTHALT* 신호에 응답하는 인액티브 로우 값으로 된다.
EXBUSY 및 EXSEL 신호들의 루핑 특성(즉, 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단계 직각 위상 카운터이다. 그러나, 본 명세서에 기재된 원리는 감소하는 카운터보다는 오히려 증가하는 카운터로 및 크고 작은 수의 단계를 갖는 카운터들에 동일하게 적용될 수 있다.
카운터(550)는 각각 6비트 카운트 CNT〈5:0〉 각각의 제공하는 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)와 래치를 형성하기 때문에 하이 값을 계속 출력하기 때문에 하이 값으로 남겨진다. 따라서, 레지스터(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)의 최종 카운트에 응답하는 액티브 로우 값으로 될 때 파워 및 접지로부터 결합 해지된다. CNTHALT* 신호가 로우 값으로 될 때, NAND 게이트(822)의 출력단이 하이 값을 출력하게 함으로써, 트랜지스터(820)를 턴 온시키고, 인버터(812, 814)에 대한 입력단을 상술한 바와 같이 로우 값으로 끌어 당긴다. 로우 CNTHALT* 신호는 PMOS 트랜지스터(844)를 턴 온시켜 인버터(810)에 대한 입력단에 하이 값을 당김으로써 인버터(810)가 로우 값을 출력하게 한다.
상술한 바와 같이, 카운터(550)는 그의 카운트를 시작하기 전에 거친 버니어 워드 CRSE_VERN〈5:0〉에 대응하는 값으로 프리로드된다. 거친 버니어 워드 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)의 출력단은 매 클록 주기마다 토글된다. 논리 회로(804b)는 한 쌍의 NOR 게이트(870, 872)를 포함한다. 레지스터(800b)의 출력단은 인버터(874)를 통해 NOR 게이트(872)의 입력단으로 직접적으로 NOR 게이트(870)에 인가된다. 따라서, MOR 게이트(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)의 출력단은 BOR 게이트(910)에 대한 CNT〈4〉 및 CNT〈5〉 입력단이 모두 로우일 때마다 로우로 될 것이다. 따라서, NOR 게이트(900)에 대한 모든 입력단은 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)의 다른 입력단에 양으로 가는 펄스를 출력한다. 양으로 가는 펄스는 즉각적으로 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에 클로스 뱅크 제어 회로(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)를 트리거하고, 이는 컴플리멘터리 펄스가 각각의 인버터(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개의 컬럼의 버스트를 지정하는 한편, 논리 "1" BL8* 신호는 4개의 컬럼의 버스트를 지정한다. 논리 "0" WRITE* 신호는 기입 오퍼레이션을 지정하는 한편, 논리 "1" WRITE* 신호는 판독 오퍼레이션을 지정한다. 마지막으로, 논리 "0" CLROW* 신호는 현재 액세스되는 메모리 어레이의 행이 현재 메모리 액세스 후에 클로스 다운될 것임을 명시한다. 논리 "1" CLROW* 신호는 그 행에서 추가의 열이 액세스될 수 있도록 현재 액세스된 행이 남겨지도록 명시한다. BL8*, WRITE* 및 CLROW* 신호들은 직접적으로(WRITE* 및 CLROW*의 경우) 또는 인버터(1150)(BL8의 경우)를 통해 각각의 3-상태 인버터(1148)에 인가된다. 인버터(1148)는 DRVIN*을 발생시키기 위해 인버터(1154)를 통해 결합된 하이 DRVIN 신호에 의해 인에이블된다. DRVN 신호는 NAND 게이트(1158)가 모두 하이 값인 DRVCMD 및 INC_COL에 응답하는 로우 값을 출력할 때 인버터(1156)의 출력단에서 발생한다.
열 상태 기계(1040)의 컬럼은 초기 평형 유지 신호 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이다)에 의해 인에이블되고, NAND 게이트(1110)가 인버터(1190)가 NAND 게이트(1188)에 하이 값을 출력하게 하는 로우 값을 출력할 때 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* 신호를 발생시키기 위한 동일한 방식으로 작동한다.
열 상태 기계(10444)는 약간 상이한 회로를 포함하지만 열 상태 기계(1042)와 실질적으로 동일한 방식으로 작동한다. 기본적으로, 열 상태 기계는 INIT_LDREG* 신호가 800MBPS에서 COLCMD〈16〉 신호에 응답하고, 600MBPS에서 COLCMD〈19〉 신호에 응답하고, 400MBPS에서 로우 값으로 되는 NAND 게이트(1110)의 출력단에 응답하는 판독 오퍼레이션(액티브 하이 WRITE 신호가 이그노어 게이트(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 신호는 메모리의 제 1의 4개의 열을 액세스하기 위해 사용된 명령 신호가 일단 메모리의 제 2의 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)를 사용함으로써, 메모리 장치는 열 어드레스를 디코딩함으로써 1개 이상의 이전의 열 어드레스가 아직 처리되지 않았더라도 열 어드레스를 계속 수신할 수 있다.
도 25를 참조하여, 명령 유니트(500a-h)의 출력단에 존재하는 열 어드레스 COL〈0:6〉는 열 어드레스 COL〈0:6〉의 각각의 비트에 대해 하나의 래치 회로(1602a-g)로 구성된 열 어드레스 래치(1600)에 인가된다. 각각의 래치 회로(1602)는 한 쌍의 인버터(1606,1608)로 구성된다. 인버터(1608)의 출력 임피던스는 명령 유니트(500)의 출력 임피던스보다 더 크므로써, 명령 유니트(500)는 인버터(1608)에 비해 오히려 인버터(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) 상에 항상 놓임을 알 수 있다. 동시에, 열 상태 기계(1040-1046)가 시동된다. 이어서, 신호들이 선택된 시점에서 마이크로-오퍼레이션 회로(1070-1076)에 의해 발생됨으로써 어레이는 클록 속도 또는 메모리 액세스 유형과 무관하게 적절한 시점에 동시에 항상 고무된다. 더욱이, 열 어드레스는 열 어드레스 버스 상에 놓이고, 열 플레이트 기계(1040-1046) 중의 하나가 시동됨으로써 메모리 장치의 데이터 핀은 카운터(550)에 인가된 CRSE_VERN〈5:0〉 신호에 의해 설정된 스케줄에 따라 데이터를 전송하고 수신한다.
CRSE_VERN〈5:0〉 신호들은 사용자에 의해 프로그램된 수치 및 메모리 액세스 유형의 함수로서 기타 회로(도시하지 않음)에 의해 발생된다.

Claims (45)

  1. 각각의 명령 유니트는 인에이블될 때 상기 명령 유니트에 의해 수신된 명령 패킷의 복수개의 명령 비트를 기억하고, 활성화될 때 상기 명령 유니트에 기억된 명령 비트를 출력하는 복수개의 명령 유니트와,
    어느 상기 명령 유니트가 명령 비트를 기억하는지를 결정하고, 첫 번째로 상기 명령 유니트에 의해 수신된 명령 패킷으로부터 복수개의 명령 비트를 기억하기 위해 명령 비트를 기억하지 않는 상기 명령 유니트중 하나를 인에이블시키고, 더, 첫 번째와 상이하게 두 번째로 상기 명령 유니트에 기억된 명령 비트를 출력하기 위해 상기 명령 유니트들 중 하나를 활성화시키는, 각각의 상기 명령 유니트에 결합된 명령 유니트 선택기와,
    활성화된 명령 유니트로부터 출력된 상기 명령 비트를 수신하고, 두 번째와 상이하게 세 번째로 그에 응답하는 적어도 하나의 명령 신호를 발생시키기 위해 상기 명령 비트를 처리하는, 각각의 상기 명령 유니트에 결합된 명령 처리기를 포함하는, 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷을 수신하는 메모리 장치 명령 발생기.
  2. 제 1항에 있어서, 각각의 상기 명령 유니트는
    클록 신호에 응답하는 초기 카운트에서 최종 카운트까지 한 방향으로 카운트하고, 상기 카운팅은 상기 명령 유니트가 상기 명령 유니트 선택기에 의해 활성화될 때 명령 유니트에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는 것인 카운터와,
    상기 기억된 명령 비트로 표시한 상기 명령의 특성의 함수인 상기 카운터의 복수개의 각각의 카운트 중 하나에서 시작 명령 신호를 발생시키고, 상기 시작 명령 신호는 상기 명령 유니트 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 명령 비트를 처리하게 하는, 시작 명령 발생기를 포함하는 메모리 장치 명령 발생기.
  3. 제 2항에 있어서, 상기 시작 명령 발생기가 상기 시작 명령 신호를 발생시키는 상기 카운트는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 메모리 장치 명령 발생기.
  4. 제 1항에 있어서, 상기 명령 처리기가
    클록 신호에 응답하는 타이밍 신호의 시퀀스를 발생시키고, 상기 명령 유니트 중의 하나로부터 상기 시작 명령 신호에 응답하는 시퀀스를 시작하게 하는, 상기 명령 유니트에 결합된 상기 시퀀서와,
    상기 명령 유니트로부터의 상기 명령 비트와 상기 시퀀서로부터의 타이밍 신호의 시퀀스를 수신하도록 결합되고, 복수개의 상기 타이밍 신호들 중의 하나에 응답하는 상기 명령 비트에 대응하는 명령 신호를 발생시키고, 상기 명령 신호를 발생시키기 위해 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인, 명령 신호 발생기를 포함하는 메모리 장치 명령 발생기.
  5. 제4항에 있어서, 각각의 상기 명령 유니트는 각각의 시작 명령 신호를 발생시켜 상기 명령 처리기가 상기 명령 유니트로부터 수신된 상기 명령 비트를 처리하게 하여 상기 명령 신호를 발생시키는 것이고, 상기 명령 신호 발생기는
    상기 시퀀서로부터 타이밍 신호의 시퀀스와 상기 명령 유니트로부터 상기 명령 비트와 시작 명령 신호를 수신하기 위해 결합되고, 복수개의 타이밍 신호중의 하나에 응답하는 적어도 하나의 상기 명령 비트에 대응하는 복수개의 함수 신호를 발생시키는 것으로, 각각의 상기 함수 신호를 발생시키기 위해 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는 것인 명령 상태 기계와,
    상기 시퀀서로부터의 타이밍 신호의 시퀀스와 상기 명령 상태 기계로부터의 함수 신호들을 수신하기 위해 결합되고, 복수개의 상기 타이밍 신호들 중의 하나에 응답하는 상기 명령 신호들을 발생시키는 것으로, 상기 함수 신호를 발생시키기 위해 사용된 상기 타이밍 신호는 상기 클록 속도 신호에 의해 결정되는 것인 마이크로-오퍼레이션 회로를 포함하는 메모리 장치 명령 발생기.
  6. 제 1항에 있어서, 상기 명령 상태 기계는
    상기 시작 명령 신호에 응답하는 클로즈 뱅크 인에이블 신호를 발생시키는 클로즈 뱅크 제어 회로와,
    뱅크 어드레스와 상기 클로즈 뱅크 인에이블 신호를 수신하기 위해 결합되고, 상기 뱅크 어드레스 값에 대응하는 복수개의 클로즈 뱅크 신호들 중의 하나를 발생시키는 뱅크 디코더를 포함하고, 클로즈 뱅크 회로를 더 포함하는, 메모리 장치 명령 발생기.
  7. 제 1항에 있어서, 각각의 상기 명령 유니트는 각각의 시작 명령 신호를 발생시켜 상기 명령 처리기가 상기 명령 유니트로부터 수신된 명령 비트를 처리하게 하여 상기 명령 신호를 발생시키는 것이고, 상기 명령 처리기는
    클록 신호에 응답하는 타이밍 신호의 시퀀스를 발생시키고, 상기 명령 유니트 중의 하나로부터 상기 시작 명령 신호에 응답하는 상기 시퀀스를 시작하게 하는, 상기 명령 유니트에 결합된 시퀀서와,
    상기 시퀀서로부터의 타이밍 신호의 시퀀스와 상기 명령 유니트로부터의 상기 명령 비트 및 시작 명령 신호를 수신하기 위해 결합되고, 복수개의 상기 타이밍 신호중의 하나에 응답하는 적어도 하나의 상기 명령 비트에 대응하는 각각의 함수 신호를 발생시키는 것으로, 각각의 상기 함수 신호를 발생시키기 위해 사용된 상기타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는 것인 복수개의 명령 상태 기계와,
    각각의 상기 함수 신호들에 대응하는 각각의 메모리 오퍼레이션과 연관되고, 상기 시퀀서로부터 타이밍 신호의 시퀀스 및 각각의 상기 명령 상태 기계로부터 대응하는 함수 신호들을 수신하기 위해 결합되고, 각각의 상기 마이크로 오퍼레이션회로는 복수개의 상기 타이밍 신호들 중의 하나에 응답하는 각각의 명령 신호들을 발생시키는 것으로, 상기 함수 신호를 발생시키기 위해 사용된 상기 타이밍 신호는 상기 마이크로-오퍼레이션 회로에 대응하는 상기 메모리 오퍼레이션의 특성 및 상기 클록 속도 신호에 의해 결정되는, 복수개의 마이크로-오퍼레이션 회로를 포함하는 것인 메모리 장치 명령 발생기.
  8. 제 1항에 있어서, 각각의 상기 명령 유니트는
    클록 신호에 응답하는 초기 카운트에서 최종 카운트까지 한 방향으로 카운트하고, 상기 카운팅은 상기 명령 유니트가 상기 명령 유니트 선택기에 의해 활성화될 때 명령 유니트에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는 카운터와,
    상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 상기 카운터의 복수개의 각각의 카운트 중 하나에서 시작 명령 신호를 발생시키고, 상기 시작 명령 신호는 상기 명령 유니트 각각에 결합된 상기 명령 처리기가 상기 명령 신호를 발생시키기 위해 상기 비트를 처리하게 하는, 시작 명령 발생기를 포함하는 것인, 메모리 장치 명령 발생기.
  9. 제8항에 있어서, 상기 카운터는 카운트 중지 신호에 응답하는 카운팅을 종료하고, 각각의 상기 명령 유니트는 상기 카운터의 카운트를 표시하는 신호들을 수신하는 최종 카운트 디코더를 더 포함하고, 상기 최종 카운터 디코더는 상기 카운터의 최종 카운트를 검출하고, 그에 응답하는 상기 카운트 중지 신호를 발생시키는 것인 메모리 장치 명령 발생기.
  10. 제 1항에 있어서, 상기 복수개의 명령 유니트들은 모든 상기 명령 유니트에 의해 공유된 공통 버스를 통해 상기 명령 처리기에 결합된 것인 메모리 장치 명령 발생기.
  11. 제 1항에 있어서, 각각의 상기 명령 유니트는 각각의 시작 명령 신호를 발생시켜 상기 명령 처리기가 상기 명령 유니트로부터 수신된 비트를 처리하게 하여 상기 명령 신호를 발생시키고, 각각의 상기 명령 유니트는 인식 신호를 수신할 때까지 상기 시작 명령 신호를 발생시키는 것이고, 상기 명령 처리기는 상기 시작 명령 신호의 수신에 응답하는 상기 인식 신호를 발생시키고, 상기 시작 명령 신호가 수신되는 상기 명령 유니트에 상기 인식 신호를 결합시키는 것인 메모리 장치 명령 발생기.
  12. 제 1항에 있어서, 상기 명령 처리기는 시작 명령 신호에 응답하는 상기 명령 비트의 처리를 개시하고, 각각의 상기 명령 유니트는
    클록 신호에 응답하는 초기 카운트에서 최종 카운트까지 한 방향으로 카운트하고, 상기 카운팅은 상기 명령 유니트가 상기 명령 유니트 선택기에 의해 활성화될 때 명령 유니트에 의해 수신된 상기 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는 것인, 카운터와,
    상기 명령 발생기의 소정의 위치에서 수신된 바의 상기 명령 패킷의 타이밍에 대응하는 상기 초기 카운트 값에 따른 것인 상기 카운터를 로드하기 위해 결합된 카운터 프리로더와,
    상기 카운터의 카운트를 수신하기 위해 결합되고, 각각의 상기 카운트 값의 디코딩에 응답하는 상기 시작 명령 신호를 각각 발생시키는 것으로, 각각의 디코더에 의해 디코딩된 값은 상기 명령 유니트에 인가된 명령 비트에 의해 지시된 명령의 특성 및 상기 클록 속도 중의 적어도 하나의 함수인, 복수개의 카운터 디코더와,
    상기 명령 유니트에 인가된 명령 비트를 수신하고, 상기 시작 명령 신호에 응답하는 상기 명령 유니트에 상기 명령 비트를 기억시키는 래치를 포함하는 것인 메모리 장치 명령 발생기.
  13. 적어도 하나의 패킷 워드의 적어도 일부를 각각의 명령 패킷에 수신하고 기억시키고, 각각의 명령 패킷의 저장된 부분을 명령 버스에 인가하는 명령 버퍼와,
    각각의 명령 유니트는 클록 신호에 응답하는 초기 카운트에서 최종 카운트까지 한 방향으로 카운트하고, 상기 카운팅은 인에이블된 명령 유니트에 의해 수신된 명령 패킷과 연관된 타이밍 신호로부터 유도된 시작 신호에 응답하여 시작되는 것인 카운터와, 상기 클록 신호의 주파수를 표시하는 클록 속도 신호의 함수인 카운터의 복수개의 각각의 카운트 중 하나에서 시작 명령 신호를 발생시키는 시작 명령 발생기를 포함하는,
    상기 명령 버퍼의 명령 버스에 결합되고, 각각 인에이블될 때 적어도 하나의 패킷 워드의 복수개의 명령 비트를 기억하고 상기 명령 유니트에 기억된 명령 비트를 출력 버스에 출력하고, 각각의 선택 신호에 응답하는 인에이블되고, 상기 명령 유니트가 명령 비트를 저장하는 것이고, 상기 기억된 명령 비트를 상기 출력 버스에 출력하지 않는 것임을 표시하는 각각의 비지 신호를 발생시키는 것인 복수개의 명령 유니트와,
    어느 상기 명령 유니트가 패킷 워드의 일부를 기억하는지를 결정하기 위해 각각의 상기 명령 유니트로부터 상기 비지 신호를 수신하고, 상기 선택 신호를 수신하는 상기 명령 유니트가 상기 명령 버퍼로부터 수신된 패킷 워드의 일부를 기억하게 하도록 비지 신호가 수신되지 않는 때로부터 상기 명령 유니트중의 하나에 각각의 선택 신호를 인가하는 제어 회로와,
    클록 신호에 응답하는 타이밍 신호의 시퀀스를 발생시키고, 상기 명령 유니트 중의 하나로부터 상기 시작 명령 신호에 응답하는 상기 시퀀스를 시작하게 하는, 상기 명령 유니트의 상기 출력 버스에 결합된 시퀀서와,
    상기 시퀀서로부터 타이밍 신호의 시퀀스 및 상기 명령 유니트로부터 명령 비트 및 시작 명령 신호를 수신하기 위해 결합되고, 복수개의 타이밍 신호중의 하나에 응답하는 적어도 하나의 상기 명령 비트에 대응하는 각각의 함수 신호를 발생시키는 것으로, 각각의 상기 함수 신호를 발생시키기 위해 사용된 상기 타이밍 신호는 상기 클록 신호의 주파수를 표시하는 클록 속도 신호에 의해 결정되는 것인 복수개의 명령 상태 기계와,
    상기 함수 신호들 각각에 대응하는 각각의 메모리 오퍼레이션과 각각 연관되고, 상기 시퀀서로부터 타이밍 신호의 시퀀스 및 각각의 상기 명령 상태 기계로부터 대응하는 함수 신호들을 수신하기 위해 각각 결합되고, 각각 복수개의 상기 타이밍 신호들 중의 하나에 응답하는 각각의 명령 신호들을 발생시키는 것으로, 상기 함수 신호를 발생시키기 위해 사용된 타이밍 신호는 상기 마이크로-오퍼레이션 회로에 대응하는 상기 메모리 오퍼레이션의 특성 및 상기 클록 속도 신호에 의해 결정되는 복수개의 마이크로-오퍼레이션 회로를 포함하는 것인, 메모리 명령, 행 어드레스 및 열 어드레스를 표시하는 명령 패킷을 수신하는 메모리 장치 명령 발생기.
  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 US6202119B1 (en) 1997-12-19 1997-12-19 Method and system for processing pipelined memory commands
US08/994,461 1997-12-19
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 true KR20010033364A (ko) 2001-04-25
KR100514712B1 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
EP1019912A2 (en) * 1997-10-10 2000-07-19 Rambus Incorporated Apparatus and method for pipelined memory operations
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
WO1994008287A1 (en) 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
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
US5355345A (en) 1993-10-04 1994-10-11 At&T Bell Laboratories Fully scalable memory apparatus
US5402390A (en) 1993-10-04 1995-03-28 Texas Instruments Inc. Fuse selectable timing signals for internal signal generators
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
US5825711A (en) 1997-06-13 1998-10-20 Micron Technology, Inc. Method and system for storing and processing multiple memory addresses
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
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
AU2003499A (en) 1999-07-12
WO1999033058A1 (en) 1999-07-01
EP1040484A1 (en) 2000-10-04
US6360292B1 (en) 2002-03-19
KR100514712B1 (ko) 2005-09-14
DE69808132T2 (de) 2003-05-15
JP2001527262A (ja) 2001-12-25
DE69808132D1 (de) 2002-10-24
ATE224576T1 (de) 2002-10-15
EP1040484B1 (en) 2002-09-18
US6202119B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
KR100514712B1 (ko) 파이프라인 메모리 명령을 처리하기 위한 방법 및 시스템
US6804743B2 (en) Two step memory device command buffer apparatus and method and memory devices and computer systems using same
EP0978842B1 (en) Synchronous burst semiconductor memory device
US6385709B2 (en) Multiplexed data transfer arrangement including a multi-phase signal generator for latency control
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
US6094727A (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
JPH09231743A (ja) 同期型半導体記憶装置および試験方法
EP0521165A1 (en) Semiconductor storing device
US6789180B1 (en) Method and apparatus for mask and/or counter address registers readback on the address bus in synchronous single and multi-port memories
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