KR100332188B1 - 커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법 - Google Patents
커맨드 적재 고대역폭 메모리와 그 메모리 내에서 커맨드를 적재하고 보류중인 동작을 자체 실행하는 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000007334 memory performance Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-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 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)
- 다수의 메모리 커맨드를 적재하는 다수의 커맨드 레지스터를 포함하는 커맨드 적재부(a command stack)와,각각이 상기 커맨드 레지스터 중 하나에 저장된 특정 커맨드에 대응하는 클럭 카운트를 저장하는 다수의 클럭 레지스터를 포함하는 클럭 적재부(a clock stack)와,상기 다수의 클럭 레지스터 각각을 자체의 연속적인 클럭 각각에 대해 하나씩 감소시키고, 상기 커맨드들 중 임의의 커맨드를 그 대응하는 클럭 카운트가 0이 되는 때 개시하는 제어기(a controller)를 포함하는 메모리 소자.
- 제 1 항에 있어서,상기 커맨드 레지스터에 저장된 기록 커맨드에 대응하는 기록 데이터를 저장하는 다수의 기록 데이터 레지스터를 구비하는 기록 데이터 적재부를 더 포함하는 메모리 소자.
- 제 1 항에 있어서,대응하는 커맨드 레지스터가 유효 커맨드를 포함하는지의 여부를 나타내는 다수의 플래그를 구비하는 플래그 레지스터를 더 포함하는 메모리 소자.
- 커맨드를 적재하는 고대역폭 메모리에 있어서,제 1 버스에 연결된 다수의 다중 뱅크 동기 메모리 소자와,상기 제 1 버스와 다수의 데이터 입력/출력 핀에 연결된 더 좁은 제 2 버스 사이에서 판독 데이터를 라우팅하는 멀티플렉서와,상기 제 1 버스와 상기 더 좁은 제 2 버스 사이에서 기록 데이터를 라우팅하는 제 1 디멀티플렉서와,시스템 클럭과 메모리 커맨드를 수신하도록 연결되어 있고 상기 다수의 다중 뱅크 동기 메모리 소자의 기능을 제어하되, 상기 커맨드 각각은 커맨드가 상기 다수의 다중 뱅크 동기 메모리 소자에 의해 실행되기 전에 경과해야 하는 다수의 시스템 클럭을 나타내는 대응 클럭 카운트를 포함하는 제 2 디멀티플렉서와,상기 커맨드와 상기 대응 클럭 카운트를 저장하되, 상기 대응 클럭 카운트는 상기 시스템 클럭 각각에 대해 하나씩 감소되고, 상기 커맨드는 상기 대응 클럭 카운트가 0이 되면 실행을 위해 저장된 커맨드와 관련된 어드레스에 의해 식별되는 다중 뱅크 동기 메모리 소자 중 하나로 전송되는 커맨드 적재 레지스터를 포함하는 커맨드 적재 고대역폭 메모리.
- 제 4 항에 있어서,상기 커맨드 적재 레지스터가,다수의 상기 커맨드를 적재하는 커맨드 레지스터와,상기 커맨드 각각에 대응하는 상기 클럭 카운트를 적재하는 클럭 카운트 레지스터와,상기 다수의 다중 뱅크 동기 메모리 소자 내에 상기 커맨드 각각에 대응하는 어드레스를 적재하는 어드레스 레지스터를 포함하는 커맨드 적재 고대역폭 메모리.
- 제 4 항에 있어서,상기 제 1 디멀티플렉서와 상기 제 1 버스 사이에 연결되어 있으며, 상기 커맨드 적재 레지스터에 저장된 커맨드에 대응하는 기록 데이터를 저장하는 데이터 적재 레지스터를 더 포함하는 커맨드 적재 고대역폭 메모리.
- 메모리 내에서 커맨드를 적재하고 보류중인 동작의 실행을 자체 시작하는 방법에 있어서,커맨드 레지스터에 앞으로 실행될 다수의 메모리 커맨드를 적재하는 단계와,상기 메모리 커맨드 각각에 대응하는 클럭 카운트를 저장하는 단계와,각각의 연속적인 메모리 클럭 싸이클에 대해 상기 다수의 클럭 카운트 각각을 하나씩 감소시키는 단계와,상기 커맨드들 중 임의의 커맨드를 그 대응하는 클럭 카운트가 0이 되는 때 개시하여, 상기 메모리 내에서 동작을 실행하는 단계를 포함하는 메모리 내에서 커맨드를 적재하고 보류중인 동작의 실행을 자체 시작하는 방법.
- 제 7 항에 있어서,상기 커맨드가 유효 커맨드인지를 나타내기 위하여 상기 다수의 커맨드 각각에 연관된 플래그를 저장하는 단계를 더 포함하는 메모리 내에서 커맨드를 저장하고 보류중인 동작의 실행을 자체 시작하는 방법.
- 제 7 항에 있어서,기록 데이터와 기록 커맨드를 저장하되, 상기 대응하는 클럭 카운트가 0이 되면 상기 기록 데이터가 상기 메모리에 기록되는 단계를 더 포함하는 메모리 내에서 커맨드를 저장하고 보류중인 동작의 실행을 자체 시작하는 방법.
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)
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)
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)
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)
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 |
US5511024A (en) * | 1993-06-02 | 1996-04-23 | 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 |
-
1998
- 1998-05-15 US US09/079,572 patent/US6065093A/en not_active Expired - Lifetime
-
1999
- 1999-04-15 KR KR1019990013219A patent/KR100332188B1/ko not_active IP Right Cessation
- 1999-04-29 EP EP99303394A patent/EP0957490B1/en not_active Expired - Lifetime
- 1999-04-29 DE DE69924179T patent/DE69924179T2/de not_active Expired - Lifetime
- 1999-05-13 JP JP13222499A patent/JP3384770B2/ja not_active Expired - Fee Related
Patent Citations (2)
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)
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 |
---|---|
JP2000030452A (ja) | 2000-01-28 |
DE69924179D1 (de) | 2005-04-21 |
DE69924179T2 (de) | 2006-03-23 |
KR19990087921A (ko) | 1999-12-27 |
US6065093A (en) | 2000-05-16 |
EP0957490A1 (en) | 1999-11-17 |
EP0957490B1 (en) | 2005-03-16 |
JP3384770B2 (ja) | 2003-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6047339A (en) | Buffering data that flows between buses operating at different frequencies | |
KR100272072B1 (ko) | 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스구조체 | |
JP4742116B2 (ja) | アウトオブオーダdramシーケンサ | |
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 | |
US6567898B1 (en) | Memory controller and an information processing apparatus with improved efficiency | |
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 |