KR100332188B1 - 커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법 - Google Patents

커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법 Download PDF

Info

Publication number
KR100332188B1
KR100332188B1 KR1019990013219A KR19990013219A KR100332188B1 KR 100332188 B1 KR100332188 B1 KR 100332188B1 KR 1019990013219 A KR1019990013219 A KR 1019990013219A KR 19990013219 A KR19990013219 A KR 19990013219A KR 100332188 B1 KR100332188 B1 KR 100332188B1
Authority
KR
South Korea
Prior art keywords
command
memory
commands
clock
register
Prior art date
Application number
KR1019990013219A
Other languages
English (en)
Other versions
KR19990087921A (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 KR19990087921A publication Critical patent/KR19990087921A/ko
Application granted granted Critical
Publication of KR100332188B1 publication Critical patent/KR100332188B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Semiconductor Memories (AREA)

Abstract

본 발명은 커맨드를 적재(stacking)하고 적절한 때에 각 커맨드를 내부적으로 실행함으로써, 지속적인 데이터 입/출력을 보장하는 메모리 소자에 관한 것이다. 메모리 소자는 즉시 메모리 액세스를 시작하거나 또는 클럭 카운트와 함께 커맨드를 적재할 수 있다. 클럭 카운트는 메모리 소자에 의한 커맨드의 실행 전에 발생되어야 하는 클럭 싸이클의 수를 규정한다. 메모리 소자는 메모리 액세스를 즉시 시작하거나 그 커맨드에 대한 클럭 카운터에 의해 규정된 클럭의 수만큼 지연시켜 시작한다. 메모리 소자는 메모리 제어기에 대해 슬레이브(slave)로써 동작하기 때문에 메모리 제어기에 의해 규정된 시간 이외의 다른 시간에 인스트럭션(instruction)을 실행시키지 못한다.

Description

커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법{HIGH BANDWIDTH NARROW I/O MEMORY DEVICE WITH COMMAND STACKING}
본 발명은 전반적으로 고대역폭 좁은 입력/출력(high bandwidth narrow input/output) DRAM(dynamic random access memory)에 관한 것으로, 보다 상세하게는 커맨드(command)를 적재(stacking)할 수 있고 보류되어 있는 동작의 실행을 자체적으로 시작하여 연속적인 입력/출력 데이터 스트림을 제공하는 DRAM에 관한 것이다.
DRAM 성능은 컴퓨터 시스템 성능을 제한하는 것으로 잘 알려져 있다. 프로세서 속도가 주 메모리 성능을 급속히 앞지르고 있어, 프로세서 설계자와 시스템 제조자는 저속 DRAM 소자에 기인하는 성능 제한을 최소화하기 위한 노력의 일환으로 고성능의 메모리 서브 시스템을 개발하고 있다. 이상적으로는, 메모리 성능이 프로세스 성능과 대등하거나 그 이상인 것, 즉 메모리 싸이클 시간이 프로세서 클럭 싸이클보다 작은 것일 것이다. 실제로는 이런 경우가 거의 없기 때문에 메모리가 시스템 병목 현상의 요인이 되고 있다. 예를 들면, 현 기술 수준의 고속 마이크로 프로세서는 3 나노초(㎱)의 클럭 주기를 갖는 333 ㎒ 클럭에 기반을 둘 수 있다. 고성능 SDRAM(synchronous DRAM)은 36 ㎱의 액세스 시간을 가질 수 있는데, 이 것은 프로세서의 성능에 훨씬 못 미치는 것이다.
이러한 메모리에 의한 시스템 병목 현상은 멀티미디어 분야의 응용이 증가함에 따라 악화된다. 멀티미디어 응용은 스프레드 시트(spread sheet) 분석 프로그램과 같은 계산 위주의 작업 또는 워드 프로세싱이나 프린팅과 같은 다른 입력/출력 위주의 응용에서 보다 몇 배 더 큰 주 메모리 또는 프레임 버퍼 메모리에 대한 대역폭을 필요로 한다.
EDO(extended data out) 및 SDRAM이 대역폭을 개선시키기 위해 개발되었다. 그러나, SDRAM 및 EDO RAM은 아직도 프로세서 성능에 미치지 못하여 여전히 시스템 성능을 제한하고 있다. 따라서, 멀티미디어 프로세싱 및 고성능 시스템을 위하여 보다 빠른 마이크로 프로세서가 개발됨에 따라, 메모리/프로세서 성능 차이를 극복하기 위한 더욱 빠른 메모리 아키텍쳐, 예를 들어 광역 입력/출력 SDRAM과 DDR(double data rate) SDRAM이 개발되고 있다.
최근의 발전에 따르면, 메모리 소자와 서브 시스템이 고속/좁은 입력/출력 장치로 이동하는 중요한 전환점이 있을 것으로 예측된다. 이들 고대역폭(높은 데이터 레이트) DRAM은 어레이(array)에서 많은 수의 비트를 액세스(access)하여 높은 데이터 레이트를 달성하고, 8:1로 멀티플렉싱함으로써 500 ㎒를 초과하는 클럭킹된 높은 데이터 레이트를 이루게 된다.
고대역폭 아키텍쳐는 입력 커맨드, 어드레스 및 데이터를 멀티플렉싱함으로써 칩 핀 수를 9핀으로 감소시키는 DRAM을 위해 제안되었다. 그 예로, 'Dynamic Random Access Memory System'이라는 제목으로 웨어(Ware) 등에게 허여된 미국 특허 제 5,430,676호와, 'Dynamic Random Access Memory System'이라는 제목으로 웨어 등에게 허여된 미국 특허 제 5,434,817호와, 'Dynamic Random Access Memory System'이라는 제목으로 웨어 등에게 허여된 미국 특허 제 5,511,024호를 들 수 있다.
이들 고대역폭 DRAM 아키텍쳐에 있어서, 커맨드는 533 ㎒ 클럭 레이트로 9핀 상에 차례로 입력된다. 트랜잭션(transaction) 동작이 진행되는 동안 '요구 패킷(request packet)'이라 불리는 제어 정보의 패킷이 DRAM으로 전달되고 저장된다. 기설정된 지연 시간(latency) 주기 후에, 데이터는 533 ㎒ 전달 레이트로 입력되거나 출력된다.
요구 패킷은 활성화될 페이지의 소자와 뱅크와 행(row) 주소, 판독될 첫번째 8바이트(octo-byte)의 첫 번째 열(column) 주소, 데이터 패킷을 포함한다. 데이터 패킷은 입력 데이터와 데이터 마스킹 커맨드를 포함한다.
이들 커맨드 또는 데이터 트랜잭션 동안의 버스 스위칭 레이트는 시스템 버스 네트(system bus net)에 대한 엄밀한 조건을 요구한다. DRAM과의 모든 시스템 통신과 핸드셰이킹(handshaking)이 9비트 버스를 통해 이루어지기 때문에, 병렬 시스템 동작이 어렵게 된다. 고대역폭 아키텍쳐가 다른 대체 고대역폭 RAM보다 더 빠른 데이터 전달 레이트를 제공할 수는 있지만, 버스 경합(bus contention)과 버스 블럭킹(blocking)은 전체 시스템 성능을 저하시키고 비단속적인 데이터 전달을 막는 결과를 초래할 수 있다.
비단속적인 데이터 입력/출력을 유지하기 위해서는 커맨드를 일찍 발생시키는 것이 필요하지만, 이는 기존의 소자에서 허용되지 않는다. 그러나, 이렇게 하게 되면 데이터 버스가 불명의 조건에 있게 되거나 비순서적인 데이터 발생이 초래될 가능성이 커질 것이다.
따라서 본 발명의 목적은 별도의 커맨드 버스와 별도의 데이터 버스를 구비하는 고대역폭 DRAM 소자를 제공하는 것이다.
본 발명의 다른 목적은 커맨드를 적재할 수 있고 보류중인 동작의 실행을 자체적으로 시작할 수 있어 최저 가능 액세스 지연 시간이 항상 보장되는 메모리를 제공하는 것이다.
본 발명에 따르면, 커맨드를 적재하고 적절한 시간에 각 커맨드를 내부적으로 실행하여, 연속적인 데이터 입력/출력을 보장하는 메모리 소자가 제공된다. 메모리 소자는 즉시 혹은 클럭 카운트와 함께 커맨드를 적재하여 메모리 액세스를 시작할 수 있다. 클럭 카운트는 메모리 소자에 의한 커맨드의 실행에 앞서 발생되어야 하는 클럭 싸이클의 수를 규정한다. 메모리 제어기는 모든 칩에 대한 모든 액세스를 추적하여 어떠한 데이터 버스 경합도 발생하지 않도록 한다. 메모리 소자는 즉시 혹은 메모리 제어기에 의해 규정된 바와 같은 커맨드에 대한 클럭 카운트에 의해 규정된 클럭의 수만큼의 지연 후 메모리 액세스를 시작한다. DRAM은 메모리 제어기에 대한 슬레이브(slave)로 동작하기 때문에 메모리 제어기에 의해 규정된 시간 이외에는 인스트럭션(instruction)을 수행하지 못한다. 메모리 소자는 판독 동작을 위한 DRAM으로의 메모리 커맨드와 기록 동작을 위한 메모리 커맨드와 데이터를 미리 또는 필요한 때에 맞춰 수신할 수 있게 한다. 또한, DRAM 상호간에 또는 DRAM과 메모리 제어기간에 비지(busy) 상태를 교신하기 위한 외부 배선이나 핸드쉐이킹 신호를 필요로 하지 않는다.
도 1은 판독 커맨드의 시퀀스 및 각 판독 커맨드에 대한 관련 데이터를 도시한 블록도,
도 2는 본 발명에 따른 고대역폭 메모리 소자를 도시한 블록도,
도 3은 메모리 소자의 상태를 도시한 상태도,
도 4는 도 3에 도시한 대기 상태 카운트다운 상태에 대한 흐름도.
도면의 주요 부분에 대한 부호 설명
10 : 좁은 입력/출력 버스 11 : 넓은 내부 버스
13 : 서브 어레이 14, 20 : 디멀티플렉서
15 : 커맨드/어드레스 적재 레지스터 16 : 클럭 카운트 레지스터
17 : 어드레스 레지스터 18 : 커맨드 레지스터
19 : 멀티플렉서 21 : 데이터 적재 레지스터
22 : 제어기
상술한 목적, 측면, 장점 및 다른 목적, 측면, 장점은 도면을 참조한 본 발명의 바람직한 실시예의 하기의 상세한 설명으로부터 더 잘 이해될 것이다.
이제부터 도면, 특히 도 1을 참조하면, 판독 커맨드의 시퀀스와 각 커맨드에 대한 관련 데이터를 도시한다. X, Y, Z는 커맨드와 데이터 사이의 지연 시간을 나타낸다. 연속적인 데이터(데이터 A → 데이터 B → 데이터 C)를 유지하기 위해서, 커맨드 B를 일찍 발생할 필요가 있지만, 이는 종래의 장치에서 허용되지 않는다. 다시 말하면, 데이터 버스의 이용도를 가능한 한 100%에 가깝게 유지하려 할 경우, 커맨드와 데이터 사이의 서로 상이한 지연 시간 때문에 흔히 한 번에 하나 이상의 커맨드를 발생시키는 것이 요구될 것이다. 도 1에 도시한 예에서, 커맨드 C가 커맨드 B보다 긴 지연 시간 주기를 갖기 때문에, 전체 데이터 버스가 최대한 사용되는 것을 보장하기 위해서 커맨드 B와 커맨드 C를 동시에 발생시키는 것이 바람직하다. 최악의 경우 조건은 (클럭이) Y+W=Z인 경우인데, 이 경우에는 커맨드 B와 C가 반드시 동시에 전송되어야 하기 때문이다.
그러므로, 본 발명에 따르면, 커맨드 B를 미리 발생시켜 클럭 카운트와 함께 적재하고 커맨드 C는 통상의 시점에 발생시킬 수 있다. 그런 다음 메모리 소자는 적당한 시간에 각 커맨드를 내부적으로 실행하여 연속적인 데이터를 보장한다.
메모리 소자는 적어도 아래의 통상적인 기능을 수행할 것으로 예상된다.
1) 메모리의 대기 상태에서 폐쇄 뱅크를 액세스(기록 또는 판독 중 하나)함. 완료 후 개방 상태의 새로운 페이지를 남김. 이 동작은 행과 열 액세스 모두를 필요로 한다.
2) 기록 또는 판독 중 하나를 위해 개방 뱅크를 액세스한 다음 페이지를 개방 상태로 남겨둠. 이 동작은 열 액세스만을 필요로 한다.
3) 기록 또는 판독 중 하나를 위해 폐쇄 뱅크를 액세스한 다음, 방금 액세스된 페이지를 폐쇄함(어레이를 폐쇄되게 남겨둠). 이 동작은 뱅크를 폐쇄하는 행 사전 충전(precharge) 동작과 함께 행과 열 액세스 모두를 필요로 한다.
4) 기록 또는 판독 중 하나를 위해 개방 뱅크를 액세스한 다음, 방금 액세스된 페이지를 폐쇄함(어레이를 폐쇄되게 남겨둠). 이 동작은 열 주소와 행 사전 충전을 필요로 한다.
5) 잘못된 페이지가 개방된 경우 개방 뱅크를 액세스하여 원래의 페이지를 폐쇄(사전 충전)하고 새로운 페이지를 개방할 것을 요구함(어레이를 개방되게 남겨둠). 이 동작은 행 사전 충전과 새로운 행 및 열 액세스를 요구한다.
도 2를 참조하면, 본 발명에 따른 메모리 소자를 도시한다. 메모리 소자는 좁은 입력/출력 버스(10)와 뱅크 0 ∼ 뱅크 N으로 표시된 수 개의 서브 어레이(131- 13n)로의 넓은 내부 버스(11)를 구비한다. 예를 들면, 도시한 바와 같이, 좁은 입력/출력 버스(10)는 16 비트 폭이고, 넓은 내부 버스는 128 비트 폭이다. 16개의 서브 어레이(13)가 있을 수도 있다. 물론 성능과 칩 크기 절충에 따라서 서브 어레이(13)의 수가 16개 보다 많거나 적을 수도 있다. 커맨드와 어드레스는 시스템 클럭 신호(RXCLK)와 함께 디멀티플렉서(DEMUX)(14)로 발생된다. 메모리는 커맨드/어드레스 적재(stack) 레지스터(15)를 더 포함한다. 커맨드/어드레스 적재 레지스터(15)는 클럭 카운트 레지스터(16), 어드레스 레지스터(17), 커맨드 레지스터(18)를 포함한다. 레지스터(18, 17, 16)는 각각 다수의 적재된 커맨드, 대응 어드레스, 클럭 카운트를 저장하는 다수의 서브 레지스터로 구성된다. 앞으로 수행될 태스크(task)에 대한 커맨드와 대응 어드레스는 커맨드 레지스터(18)와 어드레스 레지스터(17)에 각각 저장된다. 마찬가지로, 대응 커맨드가 서브 어레이(13)에 의해 수행될 지연 시간을 나타내는 클럭 카운트는 클럭 카운트 레지스터(16)에 저장된다. 제어기(22)는 클럭 카운트를 감소시켜 클럭 카운트가 0 이면 서브 어레이(13)내에서 해당 커맨드를 시작한다. 판독 동작에서, 128 : 16 멀티플렉서(MUX)(19)는 데이터를 서브 어레이(13)로부터 데이터 입력/출력 핀(DQ0∼DQ15)으로 라우팅(routing)하기 위해 제공된다. 마찬가지로, 16 : 128 디멀티플렉서(DEMUX)(20)는 시스템 클럭 신호(RXCLK)는 물론 입력/출력 핀(DQ0 ∼ DQ15)으로부터의 기록 데이터를 수신한다. 기록 커맨드가 적재되는 경우, 적재될 기록 동작과 연관된 데이터를 유지하기 위해 데이터 적재 레지스터(21)가 포함되어 있다. 기록 데이터가 커맨드 레지스터(15)에 저장된 해당 기록 커맨드와 동시에 전송되도록 하기 위해서 적재될 필요가 없다는 것을 주목해야 한다. 가장 간단한 구현에 있어서, 커맨드 및 데이터 레지스터(18, 21)는 결합될 수 있으며 아래의 필드를 포함한다.
각 필드의 정의는 다음과 같다.
유효 플래그 : 그 레지스터 위치의 정보가 유효한지(즉, 보류중인 커맨드인지) 유효하지 않는지(즉, 완료된 커맨드나 무의미한 데이터를 포함하는지)의 여부를 나타낸다. 임의의 액세스 완료(즉, 임의의 데이터 전달을 포함하는 전체 커맨드가 실행되었음)시에, 유효 플래그는 0으로 설정되어 그 레지스터 위치 내에 어떠한 유효 커맨드도 존재하지 않는 다는 것을 나타낸다. 바람직한 실시예에 있어서, 이 레지스터는 폭이 1 비트가 될 것이다(1=유효, 0=무효).
커맨드 비트 : 완료될 커맨드와 어드레스 시퀀스(바람직한 실시예에 있어서, 이 시퀀스는 소자에 의해 수신된 커맨드 시퀀스와 동일함)의 표현(representation)을 포함한다. 예를 들면, 13 비트의 커맨드 버스 폭을 구비하며 4 클럭의 정보를 포함하는 소자에 대해, 레지스터는 13×4 = 52 비트가 될 것이다. 물론 커맨드 비트와 어드레스 비트는 필요하다면 별도의 레지스터에 분할 저장될 수 있다.
기록 데이터 비트 : 메모리 소자에 기록될 데이터이다. 앞서 지적한 바와 같이, 보다 간단한 구현에서는 기록 동작을 적재하지 않도록 선택할 수 있다. 예를 들면, 8 버스트로 동작하는 18 비트 데이터 버스 폭을 갖는 소자에 대해, 레지스터는18×8 = 144 비트가 될 것이다.
클럭 카운트에서의 대기 상태 : 메모리 소자의 커맨드 시작전에 카운트될 클럭의 수를 규정한다. 바람직한 실시예에 있어서, 이 열 내의 모든 엔트리(entry)는 매 유효 클럭, 즉 JEDEC(Joint Electron Device Engineering Council) 호환 SDRAM에 대한 클럭 마스크와 같이 소자 동작을 정지시키는 커맨드에 의해 마스킹 되지 않은 모든 클럭에 대해 하나씩 감소된다.
판독 동작에서, 메모리 제어기는 데이터 전달 주기(본 실시예에서는, 8 버스트 동안 4 클럭)를 고려하여 어떠한 데이터 충돌도 발생하지 않도록 보장할 것이다. 예를 들면, 완료되기까지 32 클럭까지를 요구할 수 있는 커맨드를 구비한 소자에 대해서, 이 레지스터는 적어도 5비트를 가질 것이다(즉, 유효 플래그를 리셋하기 전에 32 클럭까지 카운트할 수 있게 함).
아래의 표 2는 본 발명에서 설명된 바와 같은 고속/좁은 입력/출력 장치에서 허용될 수 있는 커맨드의 서브셋을 설명한다. 각각의 커맨드에 대해서 64Mb 기술에 기반을 둔 소자에 적용할 수 있는 전형적인 지연 시간이 규정되었다.
액세스 시간 엔트리는 내부 어레이 동작의 완료와 관련된 시간만을 포함하고 커맨드 전달 시간이나 ('판독'에 대한) 데이터의 실제 전달과 관련된 시간 중 어느 것도 포함하지 않는다. 바람직한 실시예에 있어서, 지연 시간 열 내의 값들은 지연 시간 카운트 레지스터에 저장되는 값들과 동일하게 될 것이다.
도 3을 참조하면, 도 3은 도 2에 도시된 바와 같은 커맨드 적재 메모리 소자의 동작을 도식적으로 나타내는 상태도를 도시하고 있다. 파워 온 리셋(power-on-reset : POR) 상태(29)에서 메모리 소자에 전력이 공급되고 동작이 개시되어 아이들(idle) 상태(31)로 들어간다. 이 상태에서, 두 가지 중 하나가 발생될 수 있다. 즉, 커맨드가 대기 상태없이 수신되어(32) 제어기가 메모리로 하여금 커맨드를 실행하도록 명령하거나(33), 대기 상태를 가져 앞으로 언젠가 실행될 커맨드가 수신된다(34). 이 경우에, 커맨드와 그 커맨드가 실행될 때를 나타내는 클럭 카운트가 적재되고 대기 상태 카운트다운이 시작된다(35). 대기 상태 카운트다운이 0이면(36), 적재된 커맨드가 실행된다. 마찬가지로, 상술한 바와 같이, 아이들(31), 실행(33) 또는 대기 상태 카운트다운(35)의 도시된 세 가지 상태 모두에서, 두 가지 중 하나가 일어날 수 있다. 제어기가 메모리로 하여금 커맨드를 실행하도록 명령하거나(33), 대기 상태 없는 커맨드가 수신되어(32) 대기 상태를 가져 앞으로 언젠가 실행될 커맨드가 수신된다(34).
도 4를 참조하면, 도 4는 도 3에 도시된 대기 상태 카운트다운(35)을 상세하게 설명한 흐름도를 도시하고 있다. 시작 블록(40)에서, 앞으로 커맨드가 실행될 때를 나타내는 커맨드의 클럭 카운트와 함께 사용되지 않는(즉, 무효 플래그) 레지스터에 커맨드가 저장된다. 블록(42)에서 그 레지스터에 대한 플래그가 1로 설정되며, 이 것은 유효 커맨드가 그 레지스터 내에 저장되어 있는 것을 나타낸다. 대기 상태는 각 유효 클럭(44)에 대해 감소된다(44). 판단 블록(46)에서, 0의 값을 갖는 임의의 대기 상태가 있는지 결정한다. 만일 0인 대기 상태가 없으면, 각 유효 클럭에 대해 대기 상태가 감소된다. 특정 유효 대기 상태 클럭이 0으로 결정되면, 유효 플래그는 0(즉, 무효)으로 설정되고 적재된 커맨드가 실행된다.
따라서 본 발명에 따르면, 메모리 제어기는 커맨드를 적재하여 각각의 커맨드를 클럭 카운트에 의거하여 적절한 시간에 내부적으로 실행함으로써 연속적인 데이터 입력/출력을 보장한다.
본 발명이 하나의 바람직한 실시예에 대하여 설명되었지만, 당업자라면 첨부된 특허 청구 범위의 사상과 범주 내에서 본 발명의 변경이 가능하다는 것을 인식할 것이다.
이상 설명한 바와 같이, 본 발명에 따르면 커맨드를 적재하고 적절한 시간에 각 커맨드를 내부적으로 실행하여, 연속적인 데이터 입력/출력을 보장하는 메모리 소자를 구현할 수 있는 효과가 있다.

Claims (9)

  1. 다수의 메모리 커맨드를 적재하는 다수의 커맨드 레지스터를 포함하는 커맨드 적재부(a command stack)와,
    각각이 상기 커맨드 레지스터 중 하나에 저장된 특정 커맨드에 대응하는 클럭 카운트를 저장하는 다수의 클럭 레지스터를 포함하는 클럭 적재부(a clock stack)와,
    상기 다수의 클럭 레지스터 각각을 자체의 연속적인 클럭 각각에 대해 하나씩 감소시키고, 상기 커맨드들 중 임의의 커맨드를 그 대응하는 클럭 카운트가 0이 되는 때 개시하는 제어기(a controller)
    를 포함하는 메모리 소자.
  2. 제 1 항에 있어서,
    상기 커맨드 레지스터에 저장된 기록 커맨드에 대응하는 기록 데이터를 저장하는 다수의 기록 데이터 레지스터를 구비하는 기록 데이터 적재부를 더 포함하는 메모리 소자.
  3. 제 1 항에 있어서,
    대응하는 커맨드 레지스터가 유효 커맨드를 포함하는지의 여부를 나타내는 다수의 플래그를 구비하는 플래그 레지스터를 더 포함하는 메모리 소자.
  4. 커맨드를 적재하는 고대역폭 메모리에 있어서,
    제 1 버스에 연결된 다수의 다중 뱅크 동기 메모리 소자와,
    상기 제 1 버스와 다수의 데이터 입력/출력 핀에 연결된 더 좁은 제 2 버스 사이에서 판독 데이터를 라우팅하는 멀티플렉서와,
    상기 제 1 버스와 상기 더 좁은 제 2 버스 사이에서 기록 데이터를 라우팅하는 제 1 디멀티플렉서와,
    시스템 클럭과 메모리 커맨드를 수신하도록 연결되어 있고 상기 다수의 다중 뱅크 동기 메모리 소자의 기능을 제어하되, 상기 커맨드 각각은 커맨드가 상기 다수의 다중 뱅크 동기 메모리 소자에 의해 실행되기 전에 경과해야 하는 다수의 시스템 클럭을 나타내는 대응 클럭 카운트를 포함하는 제 2 디멀티플렉서와,
    상기 커맨드와 상기 대응 클럭 카운트를 저장하되, 상기 대응 클럭 카운트는 상기 시스템 클럭 각각에 대해 하나씩 감소되고, 상기 커맨드는 상기 대응 클럭 카운트가 0이 되면 실행을 위해 저장된 커맨드와 관련된 어드레스에 의해 식별되는 다중 뱅크 동기 메모리 소자 중 하나로 전송되는 커맨드 적재 레지스터
    를 포함하는 커맨드 적재 고대역폭 메모리.
  5. 제 4 항에 있어서,
    상기 커맨드 적재 레지스터가,
    다수의 상기 커맨드를 적재하는 커맨드 레지스터와,
    상기 커맨드 각각에 대응하는 상기 클럭 카운트를 적재하는 클럭 카운트 레지스터와,
    상기 다수의 다중 뱅크 동기 메모리 소자 내에 상기 커맨드 각각에 대응하는 어드레스를 적재하는 어드레스 레지스터
    를 포함하는 커맨드 적재 고대역폭 메모리.
  6. 제 4 항에 있어서,
    상기 제 1 디멀티플렉서와 상기 제 1 버스 사이에 연결되어 있으며, 상기 커맨드 적재 레지스터에 저장된 커맨드에 대응하는 기록 데이터를 저장하는 데이터 적재 레지스터를 더 포함하는 커맨드 적재 고대역폭 메모리.
  7. 메모리 내에서 커맨드를 적재하고 보류중인 동작의 실행을 자체 시작하는 방법에 있어서,
    커맨드 레지스터에 앞으로 실행될 다수의 메모리 커맨드를 적재하는 단계와,
    상기 메모리 커맨드 각각에 대응하는 클럭 카운트를 저장하는 단계와,
    각각의 연속적인 메모리 클럭 싸이클에 대해 상기 다수의 클럭 카운트 각각을 하나씩 감소시키는 단계와,
    상기 커맨드들 중 임의의 커맨드를 그 대응하는 클럭 카운트가 0이 되는 때 개시하여, 상기 메모리 내에서 동작을 실행하는 단계
    를 포함하는 메모리 내에서 커맨드를 적재하고 보류중인 동작의 실행을 자체 시작하는 방법.
  8. 제 7 항에 있어서,
    상기 커맨드가 유효 커맨드인지를 나타내기 위하여 상기 다수의 커맨드 각각에 연관된 플래그를 저장하는 단계를 더 포함하는 메모리 내에서 커맨드를 저장하고 보류중인 동작의 실행을 자체 시작하는 방법.
  9. 제 7 항에 있어서,
    기록 데이터와 기록 커맨드를 저장하되, 상기 대응하는 클럭 카운트가 0이 되면 상기 기록 데이터가 상기 메모리에 기록되는 단계를 더 포함하는 메모리 내에서 커맨드를 저장하고 보류중인 동작의 실행을 자체 시작하는 방법.
KR1019990013219A 1998-05-15 1999-04-15 커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법 KR100332188B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/079,572 1998-05-15
US09/079,572 US6065093A (en) 1998-05-15 1998-05-15 High bandwidth narrow I/O memory device with command stacking
US09/079,572 1998-05-15

Publications (2)

Publication Number Publication Date
KR19990087921A KR19990087921A (ko) 1999-12-27
KR100332188B1 true KR100332188B1 (ko) 2002-04-12

Family

ID=22151394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990013219A KR100332188B1 (ko) 1998-05-15 1999-04-15 커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법

Country Status (5)

Country Link
US (1) US6065093A (ko)
EP (1) EP0957490B1 (ko)
JP (1) JP3384770B2 (ko)
KR (1) KR100332188B1 (ko)
DE (1) DE69924179T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445017B2 (en) 2016-07-19 2019-10-15 SK Hynix Inc. Memory system and operating method thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62199687A (ja) * 1986-04-28 1987-09-03 ユニオン・オイル・コンパニ−・オブ・カリフオルニア 細孔の大きい触媒を用いる水素化法
US6334202B1 (en) * 1998-07-22 2001-12-25 Telefonaktiebolaget Lm Ericsson (Publ) Fast metric calculation for Viterbi decoder implementation
US6633944B1 (en) * 2001-10-31 2003-10-14 Lsi Logic Corporation AHB segmentation bridge between busses having different native data widths
US7554858B2 (en) * 2007-08-10 2009-06-30 Micron Technology, Inc. System and method for reducing pin-count of memory devices, and memory device testers for same
US8438356B2 (en) * 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US20190074222A1 (en) * 2011-06-28 2019-03-07 Monolithic 3D Inc. 3d semiconductor device and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803816A2 (en) * 1996-04-24 1997-10-29 Cirrus Logic, Inc. A memory system with multiplexed input-output port and memory mapping capability and systems and methods using the same
EP0829804A2 (en) * 1996-09-12 1998-03-18 Samsung Electronics Co., Ltd. Synchronous semiconductor memory device having macro command storage and execution method therefor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228500A (en) * 1978-03-27 1980-10-14 Honeywell Information Systems Inc. Command stacking apparatus for use in a memory controller
US4635254A (en) * 1984-12-13 1987-01-06 United Technologies Corporation Coherent interface with wraparound receive memory
EP0340901A3 (en) * 1988-03-23 1992-12-30 Du Pont Pixel Systems Limited Access system for dual port memory
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
US5253352A (en) * 1989-11-13 1993-10-12 Zenith Data Systems Corporation Method and apparatus for pipelining cache accesses using anticipatory initiation of cache read
US5574868A (en) * 1993-05-14 1996-11-12 Intel Corporation Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5430676A (en) * 1993-06-02 1995-07-04 Rambus, Inc. Dynamic random access memory system
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
JP4014669B2 (ja) * 1996-04-22 2007-11-28 株式会社ルネサステクノロジ 同期型半導体記憶装置
US5870350A (en) * 1997-05-21 1999-02-09 International Business Machines Corporation High performance, high bandwidth memory bus architecture utilizing SDRAMs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803816A2 (en) * 1996-04-24 1997-10-29 Cirrus Logic, Inc. A memory system with multiplexed input-output port and memory mapping capability and systems and methods using the same
EP0829804A2 (en) * 1996-09-12 1998-03-18 Samsung Electronics Co., Ltd. Synchronous semiconductor memory device having macro command storage and execution method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445017B2 (en) 2016-07-19 2019-10-15 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
EP0957490B1 (en) 2005-03-16
JP3384770B2 (ja) 2003-03-10
JP2000030452A (ja) 2000-01-28
DE69924179D1 (de) 2005-04-21
KR19990087921A (ko) 1999-12-27
DE69924179T2 (de) 2006-03-23
EP0957490A1 (en) 1999-11-17
US6065093A (en) 2000-05-16

Similar Documents

Publication Publication Date Title
US6047339A (en) Buffering data that flows between buses operating at different frequencies
KR100272072B1 (ko) 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스구조체
US9904489B2 (en) Processing systems, memory controllers and methods for controlling memory access operations
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
KR100494201B1 (ko) 메모리시스템,i/o서브시스템장치,및메모리장치를동작시키는방법
US7620788B2 (en) Memory device sequencer and method supporting multiple memory device clock speeds
US7555625B2 (en) Multi-memory chip and data transfer method capable of directly transferring data between internal memory devices
KR20070049676A (ko) 버스를 통해 메모리 프리-페치 명령들을 전송하기 위한방법 및 장치
KR20020029760A (ko) 집적 회로 시스템
US5822768A (en) Dual ported memory for a unified memory architecture
US6182192B1 (en) Memory interface device and method for accessing memories
KR100332188B1 (ko) 커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법
US5898623A (en) Input port switching protocol for a random access memory
JPH07129456A (ja) コンピュータシステム
JPH0450625B2 (ko)
US6477608B1 (en) Interface circuit for transferring data on bus between modules of integrated circuit with reduced delay
US20070073961A1 (en) Memory controller
JPS6395556A (ja) Dma転送装置
JPH025291A (ja) 半導体メモリ

Legal Events

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

Payment date: 20130304

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140217

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160303

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee