KR20010091900A - 비동기 및 동기 프로토콜을 갖는 멀티-포트로된 메모리 - Google Patents
비동기 및 동기 프로토콜을 갖는 멀티-포트로된 메모리 Download PDFInfo
- Publication number
- KR20010091900A KR20010091900A KR1020010008684A KR20010008684A KR20010091900A KR 20010091900 A KR20010091900 A KR 20010091900A KR 1020010008684 A KR1020010008684 A KR 1020010008684A KR 20010008684 A KR20010008684 A KR 20010008684A KR 20010091900 A KR20010091900 A KR 20010091900A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- synchronous
- request
- asynchronous
- mrasr
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
- Bus Control (AREA)
- Static Random-Access Memory (AREA)
Abstract
본 발명은 비동기 및 동기 프로토콜을 가지는 멀티-포트로된 메모리에 관한 것이다. 멀티-포트로된 메모리는 동기 메모리 요청을 수신하는 수단과, 비동기 메모리 요청을 수신하는 수단, 및 수신된 동기 및 비동기 메모리 요청을 동시에 처리하는 수단을 포함하고 있다. 본 발명은 멀티-포트로된 메모리를 채택하기도 하는 시스템 및 방법에 관한 것이다.
Description
본 발명은 메모리 기술, 특히, 비동기 및 동기 프로토콜을 가지는 멀티-포트로된 메모리에 관한 것이다.
전자 산업에서 현재의 동향을 본다면, 응용 주문형 집적 회로(ASIC) 설계내에 다수의 코어를 사용하는 응용 제품이 개발되어 왔다. 그러한 응용 제품은 다수의 병행 처리(concurrent) 동작을 수행한다. 바람직한 레벨의 성능을 이루기위해, 채널은 병행 처리뿐만 아니라 비동기적으로 동작해야한다.
채널들간에 통상적으로 사용된 하나의 공통 소자는 메모리 디바이스(예를 들어, 랜덤 액세스 메모리(RAM))이다. 그러나, 종래의 RAMs는 메모리 제어기에 의해 조정된(arbitrated) 선도착-선처리(first-come-first serve) 프로토콜을 갖는 단일 포트(또는 대부분에는 이중 포트)이다. 상기 형태로 제한된 포트 디바이스는 특히 비동기 동작을 포함하고 있을 때 병행성 동작을 다수의 채널들을 통해 지원할 수 있다. 따라서, 비동기 및 동기 프로토콜을 갖는 멀티-포트로된 메모리가 필요로 하게 된다.
종래 기술에 대한 상기 필요성을 감안해서, 본 발명에서는 비동기 및 동기 프로토콜을 갖는 멀티-포트로된 메모리를 구비하고 있다. 특히, 멀티-포트로 된 메모리는 동기 메모리 요청을 수신하는 수단과, 비동기 메모리 요청을 수신하는 수단, 및 수신된 동기 및 비동기 메모리 요청을 동시에 처리하는 수단을 포함하고 있다. 멀티-포트로된 메모리도 채택하는 시스템 및 방법에 관한 것이다. 본 발명에서 멀티-포트로된 메모리는 동기 및 비동기 동작을 포함하는 병행 처리 동작을 다수의 채널을 통해 지원할 수 있다.
본 발명의 다른 목적, 특성 및 장점은 양호한 실시예의 상세한 설명, 첨부된 청구항 및 도면에서 더 명백해질 것이다.
본 발명은 도면을 참고로 설명된다. 그 도면에서 같은 도면 부호는 같거나 비슷한 기능을 하는 소자를 표시한다. 또한, 도면 부호의 최좌측 숫자는 도면 번호를 나타낸다.
도 1은 본 발명에 따라 구성된 멀티-포트로된 메모리 시스템의 개략도.
도 2는 도 1의 MRASRs 각각에 대해 양호한 실시예를 나타내는 멀티-요청 비동기/동기 RAM(Multi-Request Asynchronous/synchronous RAM ; MRASR)의 개략도.
도 3은 도 1의 메모리 디스패치/제어기에 대한 양호한 실시예의 개략도.
도 4는 도 3의 제 1동기 판독 포트 제어부의 양호한 실시예의 개략도.
도 5a-5e는 동기 판독 및 기록 동작 동안 도 1의 멀티-포트로된 메모리 시스템의 동작의 타이밍도.
도 6a-6e는 비동기 판독 및 기록 동작 동안 도 1의 멀티-포트로된 메모리 시스템의 동작의 타이밍도.
도 1은 본 발명에 따라 구성된 멀티-포트로된 메모리 시스템(100)의 개략도이다. 본 발명의 멀티-포트로된 메모리 시스템(100)은, 본 발명의 메모리 디스패치(dispatch)/제어기(106)에 결합된 복수의 동기 디바이스(102a-x), 복수의 비동기 디바이스(104a-y) 및 본 발명의 랜덤 액세스 메모리(RAM)(108)를 구비한다. 동기 디바이스(102a-x)는 마이크로프로세서, 중앙 처리 장치, 마이크로컨트롤러, 신호 프로세서, 제어 논리부 등과 같은 다수의 동기 디바이스를 구비하고, 비동기 디바이스(104a-y)는 직렬 포트, 아날로그 대 디지털 변환기 등과 같은 다수의 비동기 디바이스를 구비한다.
본 발명의 메모리 디스패치/제어기(106)는 종래의 메모리 제어기를 기본으로 하나 다수의 새로운 메모리 기능을 수행하는 메모리 매크로(macro) 프로토콜(하기에서 설명되는)을 부가적으로 포함한다. 예를 들어, 메모리 매크로 프로토콜은, 동기 디바이스(102a-x) 및 비동기 디바이스(104a-y)로부터 동기 요청 및 비동기 요청을 조정하고, 요청을 모니터하고 각 요청을 본 발명의 멀티-포트로된 메모리 시스템(100)의 적절한 채널로 이송하고, 적절한 채널이 없으면 요청을 정지(stall)시키고, 메모리 맵핑 기능 등을 수행한다. 본 발명의 메모리 디스패치/제어기(106)의 메모리 매크로 프로토콜은 소프트웨어, 하드웨어 또는 그들의 결합체내에 실장된다. 양호하게는 메모리 매크로 프로토콜은 도 3 및 4를 참고로 하기에서 설명되듯이 기본적으로 하드웨어를 구비하고 있다.
본 발명의 RAM(108)은 멀티-요청 비동기/동기 RAM(Multi-Request Asynchronous/synchronous RAM ; MRASR)(110a-n)으로서 본원에서 불려지는 n개의 포트로된 메모리 소자에서 장착된 RAM을 구비한다. 하기에서 설명하듯이, 각 MRASR (110a-n)는 복수의 동기 포트 및 복수의 비동기 포트를 지원한다. MRASRs가 충분한 수로 구비되어 본 발명의 RAM(108)의 모든 메모리를 채운다. 특히, MRASRs의 수는 본 발명의 RAM(108)의 세분성(granularity)을 한정하고, 본 발명의 RAM(108)의 세분성 및 크기는 각 MRASR(110a-n)의 메모리 크기를 한정한다. 예를 들어, 본 발명의 RAM(108)이 32킬로바이트 RAM이고, 세분성이 32로 되길 바란다면, 각 MRASR (110a-n)의 메모리 크기는 1킬로바이트이다.
도 1은 본 발명의 멀티-포트로된 메모리 시스템(100)을 "완전히 배선시킨(fully wired)" 버젼을 나타내고, 그 도면에서 충분한 버스 수가 구비되어 각 MRASR(110a-n)의 각 포트가 버스 세트를 소유하게 된다. m개의 포트를 각기 갖는 n개의 MRASRs에서 n 타임스(times) m(이하에서는 "nm") 버스 세트 또는 "채널들"이 본 발명의 멀티-포트로된 메모리 시스템(100)에서 완전히 배선시킨 버젼에 제공되야한다. 각 동기 채널은 다음중 하나 이상을 포함한다. 즉,
1) MRASR(110a-n)에 동기 기록하는 동안 데이터(SYNCWRDATA)를 MRASR(110a-n)에 공급하는 동기 기록 데이터 버스(112);
2) MRASR(110a-n)로부터 동기 판독하는 동안 MRASR(110a-n)로부터 데이터(SYNCRDDATA)를 수신하는 동기 판독 데이터 버스(114);
3) MRASR(110a-n)으로부터 동기 판독되는, MRASR(110a-n)내에 저장된 데이터의 어드레스(SYNCRDADDR)를 MRASR(110a-n)에 공급하는 동기 판독 어드레스 버스 (116);
4) 데이터를 MRASR(110a-n)으로 동기 기록되게 하는, MRASR(110a-n)내의 메모리 위치의 어드레스(SYNCWRADDR)를 MRASR(110a-n)에 공급하는 동기 기록 어드레스 버스(118);
5) 동기 판독 명령(SYNCRD)을 MRASR(110a-n)에 공급하는 동기 판독 명령 버스(120);
6) 동기 기록 명령(SYNCWR)을 MRASR(110a-n)에 공급하는 동기 기록 명령 버스(122);
7) MRASR(110a-n)에 수신된 동기 판독 명령을 MRASR(110a-n)에 의해 수행되게 하는 인식 신호(SYNCRDACK)를 MRASR(110a-n)로부터 수신하는 동기 판독 인식 버스(124);
8) MRASR(110a-n)에 수신된 동기 기록 명령을 MRASR(110a-n)에 의해 수행되게 하는 인식 신호(SYNCWRACK)를 MRASR(110a-n)로부터 수신하는 동기 기록 인식 버스(126);
양호하게는 각 동기 판독 채널은 동기 판독 데이터 버스(114), 동기 판독 어드레스 버스(116), 동기 판독 명령 버스(120) 및 동기 판독 인식 버스(124)를 포함하고 있고; 양호하게는 각 동기 기록 채널은 동기 기록 데이터 버스(112), 동기 기록 어드레스 버스(118), 동기 기록 명령 버스(122) 및 동기 기록 인식 버스(126)를 포함하고 있다.
각 비동기 채널은 다음 것 중 하나 이상을 포함한다. 즉,
1) MRASR(110a-n)에 비동기 기록하는 동안 데이터(ASYNCWRDATA)를 MRASR (110a-n)에 공급하는 비동기 기록 데이터 버스(136);
2) MRASR(110a-n)로부터 비동기 판독하는 동안 MRASR(110a-n)로부터 데이터(ASYNCRDDATA)를 수신하는 비동기 판독 데이터 버스(138);
3) MRASR(110a-n)으로부터 비동기 판독되는, MRASR(110a-n)내에 저장된 데이터의 어드레스(ASYNCRDADDR)를 MRASR(110a-n)에 공급하는 비동기 판독 어드레스 버스 (140);
4) 데이터를 MRASR(110a-n)으로 비동기 기록되게 하는, MRASR(110a-n)내의 메모리 위치의 어드레스(ASYNCWRADDR)를 MRASR(110a-n)에 공급하는 비동기 기록 어드레스 버스(142);
5) 비동기 판독 명령(ASYNCRD)를 MRASR(110a-n)에 공급하는 비동기 판독 명령 버스(128);
6) 비동기 기록 명령(ASYNCWR)을 MRASR(110a-n)에 공급하는 비동기 기록 명령 버스(130);
7) MRASR(110a-n)에 수신된 비동기 판독 명령을 MRASR(110a-n)에 의해 수행되게 하는 인식 신호(ASYNCRDACK)를 MRASR(110a-n)로부터 수신하는 비동기 판독 인식 버스(132);
8) MRASR(110a-n)에 수신된 비동기 기록 명령을 MRASR(110a-n)에 의해 수행되게 하는 인식 신호(ASYNCWRACK)를 MRASR(110a-n)로부터 수신하는 비동기 기록 인식 버스(134);
양호하게는 각 비동기 판독 채널은, 비동기 판독 데이터 버스(138), 비동기 판독 어드레스 버스(140), 비동기 판독 명령 버스(128) 및 비동기 판독 인식 버스(132)를 포함하고 있고; 양호하게는 각 비동기 기록 채널은 비동기 기록 데이터 버스(136), 비동기 기록 어드레스 버스(142), 비동기 기록 명령 버스(130) 및 비동기 기록 인식 버스(134)를 포함하고 있다.
도 1에서 각 MRASR(110a-n)가 p개의 동기 포트 및 q개의 비동기 포트를 갖는 다고 가정하면, 본 발명의 멀티-포트로된 메모리 시스템(100)은, 1) np개의 동기 및 nq개의 비동기 기록 데이터 버스(112a-np, 136a-nq); 2) np개의 동기 및 nq개의 비동기 판독 데이터 버스(114a-np, 138a-nq); 3) np개의 동기 및 nq개의 비동기 판독 어드레스 버스(116a-np, 140a-nq); 4) np개의 동기 및 nq개의 비동기 기록 어드레스 버스(118a-np, 142a-nq); 5) np개의 동기 및 nq개의 비동기 판독 명령 버스(120a-np, 128a-nq); 6) np개의 동기 및 nq개의 비동기 기록 명령 버스(122a-np, 130a-nq); 7) np개의 동기 및 nq개의 비동기 판독 인식 버스(124a-np, 132a-nq); 8) np개의 동기 및 nq개의 기록 인식 버스(126a-np, 134a-nq)을 포함하고 있다. 예를 들어, 본 발명의 RAM(108)이 n=32의 세분성을 갖는 32바이트 RAM이고, 각 MRASR이 m=5 포트이면, 그들중 2개는 동기(p=2)이고 나머지 3개는 비동기(q=3)이고, 본 발명의 멀티-포트로된 메모리 시스템(100)을 완전히 배선시킨 버젼에서nm=32×5= 160개의 버스 세트의 합계가 필요로 되는 데(160개의 채널을 한정하는), 그 중 np=32×2 = 64개는 동기 버스 세트이고 나머지인 nq = 32×3 = 96개는 비동기 버스 세트이다. 하기에서 설명했듯이, 그 다수의 버스를 사용하는 것은 다양한 환경(공간 요구 조건으로 인한)에서는 비실용적이고, 상당히 적은 버스 세트수가 사용된다(예를 들어, 5 내지 10개의 버스 세트).
도 1에서 각 동기 디바이스(102a-x)는 동기 판독 및 기록 명령을 본 발명의 메모리 디스패치/제어기(106)로 보내고 (데이터 등을 수신함에 의해 데이터/어드레스를 본 발명의 메모리 디스패치/제어기(106)로 보냄에 의해) 동기 판독 및 기록 명령을 완료하는 동기 버스 세트(144a-x)를 포함하고, 각 비동기 디바이스(104a-y)는 동기 판독 및 기록 명령을 본 발명의 메모리 디스패치/제어기(106)로 보내고 비동기 판독 및 기록 명령을 완료하는 비동기 버스 세트(146a-y)를 포함하고 있다. 본 발명의 메모리 디스패치/제어기(106), 본 발명의 RAM(108) 및 동기 디바이스(102a-x) 모두는 시스템 클럭(CLKIN)을 수신한다.
일반적으로, 본 발명의 메모리 디스패치/제어기(106)는 동기 디바이스(102a-x)로부터 동기 요청(예를 들어, 동기 판독 및 기록 명령)을 수신하고, 비동기 디바이스(104a-y)로부터 비동기 요청(예를 들어, 비동기 판독 및 기록 명령)을 수신하고 그 요청을 본 발명의 RAM(108)의 적절한 동기 및 비동기 채널로 이송한다. 요청된 명령이 본 발명의 RAM(108)에 의해 일단 수행되었을 때, 본 발명의 RAM(108)은 그 요청된 명령이 수행되었다는 인식을 (본 발명의 메모리 디스패치/제어기(106)를 경유해서) 그 요청하는 디바이스로 보낸다. 예를 들어, 본 발명의 메모리디스패치/제어기(106)가 동기 디바이스(102a-x)중 하나로부터 동기 판독 명령을 수신하면, 본 발명의 메모리 디스패치/제어기(106)는 판독될 데이터의 어드레스를 그 요청하는 동기 디바이스(102a-x)로부터 얻고, 본 발명의 메모리 디스패치/제어기(106)는 동기 판독 어드레스 버스(114a-np)중 어느 것이 그 요청을 서비스하는 데 "적절한" 버스인지를 식별하고(예를 들어, 본 발명의 메모리 디스패치/제어기(106)는 메모리 맵핑 기능을 수행하여 그 요청된 데이터(SYNCRDADDR)의 적절한 MRASR 어드레스를 식별하고 동기 판독 어드레스 버스(114a-np)중 어느 것이 판독될 데이터를 포함하는 MRASR을 서비스한다), 본 발명의 메모리 디스패치/제어기(106)가 어드레스 (SYNCRDADDR)를 식별된 동기 판독 어드레스 버스(114a-np)에 이송한다. MRASR이 판독된 명령을 일단 수행할 때, 인식 신호(SYNCRDACK)는 MRASR로부터 (동기 판독 인식 버스(124a-np)중 하나를 경유해서) 본 발명의 메모리 디스패치/제어기(106)로, 및 본 발명의 메모리 디스패치/제어기(106)로부터 (동기 버스 세트(102a-x)중 하나를 경유해서) 그 요청하는 동기 디바이스(102a-x)로 보내진다. 적절한 MRASR에 채널이 존재하지 않으면(예를 들어, MRASR을 서비스하는 동기 판독 어드레스 버스(114a-np) 모두가 사용중이라면), 본 발명의 메모리 디스패치/제어기(106)는 판독 명령을 정지시킨다. MRASR은 하기에서 설명하듯이 판독 명령을 정지시킬 수 있다. "완전히 배선시킨" 본 발명의 멀티-포트로된 메모리 시스템(100)을 실행시켜 사용할 때, 정지가 발생하지 않으나, 다수의 명령이 동시에 같은 MRASR로 발생한다면, 정지가 발생된다.
본 발명의 메모리 디스패치/제어기(106)가 비동기 디바이스(104a-y)중 하나로부터 비동기 판독 명령을 수신하면, 본 발명의 메모리 디스패치/제어기(106)는 비슷한 동작을 수행한다. 본 발명의 메모리 디스패치/제어기(106)는 판독될 데이터의 어드레스를 그 요청하는 비동기 디바이스(104a-y)로부터 얻고, 비동기 판독 어드레스 버스(114a-np)중 어느 것이 요청을 서비스하는 데 "적절한" 버스인지를 식별하고, 적절한 MRASR 어드레스(ASYNCRDADDR)를 식별된 비동기 판독 어드레스 버스(114a-np)에 이송한다. MRASR이 판독된 명령을 일단 수행할 때, 인식 신호 (ASYNCRDACK)는 MRASR로부터 (비동기 판독 인식 버스(132a-np)중 하나를 경유해서) 본 발명의 메모리 디스패치/제어기(106)로, 본 발명의 메모리 디스패치/제어기 (106)로부터 (비동기 버스 세트(146a-y)중 하나를 경유해서) 그 요청하는 비동기 디바이스(104a-y)로 보내진다. 적절한 MRASR에 채널이 존재하지 않으면(예를 들어, MRASR을 서비스하는 비동기 판독 어드레스 버스(140a-np) 모두가 사용중이라면), 본 발명의 메모리 디스패치/제어기(106)(및/또는 MRASR)는 판독 명령을 정지시킨다. 그러나, 동기 디바이스(102a-x) 및 비동기 디바이스(104a-x)상에서 작동하는 대부분의 응용 제품의 독립적인 특성으로 인해, 응용 제품들간의 메모리 오버랩량은 적고 정지가 동기 또는 비동기 요청동안 드물게 발생한다.
도 2는 도 1의 각 MRASRs(110a-n)에 대해 양호한 실시예를 나타내는 MRASR (200)의 개략도이다. 도 2에서 MRASR(200)는 2개의 비동기 포트(예를 들어, 비동기 판독 포트(202) 및 비동기 기록 포트(204)) 및 3개의 동기 포트(예를 들어, 제 1동기 판독부(206), 제 2동기 판독부(208) 및 동기 기록부(210))를 포함하고 있다. MRASR(200)는 제 1멀티플렉서(214), 제 1레지스터 뱅크(216), 제 2레지스터 뱅크(218), 제 1 AND 게이트(220) 및 제 2 AND 게이트(222)를 경유해서 비동기 포트 (202 및 204)에 결합되는 RAM(212)(예를 들어, 1 킬로바이트 RAM)을 사용한다. RAM(212)은 제 1멀티플렉서(214), 제 2멀티플렉서(224), 제 3레지스터 뱅크(226), 제 4레지스터 뱅크(228) 및 제 5레지스터 뱅크(230)를 경유해서 동기 포트 (206-210)에 결합된다. 제 1멀티플렉서 제어부(232)(제 1멀티플렉서(214)를 제어하는) 및 제 2멀티플렉서 제어부(234)(제 2멀티플렉서(224)를 제어하는)도 구비된다. 제 1멀티플렉서 제어부(232)는 제 1 플립/플롭(236)의 출력, 제 2 플립/플롭(238)의 출력, 제 2 멀티플렉서 제어부(234)의 출력 및 RAM(212)의 EOP(end-of-process) 출력 단자에 결합된다. 제 2멀티플렉서 제어부(234)는 제 1 멀티플렉서 제어부(232)의 출력, RAM(212)의 EOP 출력 단자 및 제 3 AND 게이트(240)의 출력에 결합된다.
동작시, 본 발명의 메모리 디스패치/제어기(106)에 의해 동기 디바이스 (102a-x) 및 비동기 디바이스(104a-y)로부터의 동기 및 비동기 요청은 MRASR(200)에 수신된다. 하기에서 설명했듯이, 본 발명의 메모리 디스패치/제어기(106)는 각 MRASR을 모니터하여 채널이 통화중일 때 MRASR의 채널에 요청이 수신되지 않도록 한다. 도 2의 MRASR(200)에서 본 발명의 메모리 디스패치/제어기(106)는 RAM(212)의 ASYNCACK 출력을 모니터하고, MRASR(200)로 비동기 요청을 수신하기 전에 RAM(212)의 ASYNCACK 출력을 동작하지 않게 한다(예를 들어, 저 논리 레벨을 갖는). 본 발명의 메모리 디스패치/제어기(106)는 RAM(212)의 SYNCACK 출력을 또한 모니터하고, MRASR(200)로 동기 요청을 수신하기 전에 RAM(212)의 SYNCACK 출력을 동작하지 않게 한다(예를 들어, 저 논리 레벨을 갖는). 도 3-6E를 참조해서 하기에서 설명하듯이, 본 발명의 메모리 디스패치/제어기(106)는 비동기/동기 요청을 MRASR로 보낼때 ASYNCACK/SYNCACK 출력을 또한 모니터하여 인식 신호가 MRASR로 부가적인 비동기/동기 요청을 수신하기 전에 MRASR(요청된 기능이 수행되었다는 것을 표시하는)로부터 수신되게 한다. ASYNCACK 출력이 동작할 때(예를 들어, 고논리 레벨을 갖는), 비동기 판독 포트(202)가 제 1 AND 게이트(220)에 의해 게이트 오프(gate off)되고 비동기 기록 포트(204)가 제 2 AND 게이트(222)에 의해 게이트 오프(gate off)되고; SYNCACK 출력이 동작할 때, CLKIN 신호가 제 3 AND 게이트(240)에 의해 게이트 오프(gate off)되어 제 1동기 판독 포트 (206), 제 2동기 판독 포트 (208) 및 동기 기록 포트(210)가 제 3레지스터 뱅크(226), 제 4레지스터 뱅크(228) 및 제 5레지스터 뱅크(230) 각각에 의해 래치될 수 없다. 일반적으로, 분리된 ASYNCACK 출력 및 분리된 SYNCACK 출력은 MRASR의 각 포트에 대해 구비된다(예를 들어, 도 1에 도시했듯이). 그러나, 도 2의 MRASR(200)에서 단일 ASYNCACK 출력이 비동기 포트(202 및 204)용으로 사용되고 단일 SYNCACK 출력이 동기 포트(206-210)용으로 사용된다.
동기성 정지(synchronous stalls)가 발생하지 않는 다면(예를 들어, SYNCACK이 동작하지 않는다면), CLKIN의 상승 에지는 제 1동기 판독 포트 (206), 제 2동기 판독 포트(208) 및 동기 기록 포트(210)상에 존재하는 동작 요청 신호를 제 3레지스터 뱅크(226), 제 4레지스터 뱅크(228) 및 제 5레지스터 뱅크(230) 각각으로 래치한다(예를 들어, 어드레스 및 기록 데이터에서 래치하기 위해). 그후에, 비동기 판독 포트(202) 또는 비동기 기록 포트(204)중 어느 것에도 동작 비동기 요청이 포함되지 않는다면, 제 2멀티플렉서 제어부(234) 및 제 1멀티플렉서 제어부(232)는 제 2멀티플렉서(224) 및 제 1멀티플렉서(214)로 지향하게 되어 레지스터 뱅크(226-230)에 의해 래치된 동기 명령을 RAM(212)에서 수신한다. 동기 요청이 제 2멀티플렉서 제어부(234)에 의해 세트되는 기결정된 순서로 RAM(212)으로 수신된다.
비동기 판독 포트(202) 및/또는 비동기 기록 포트(204)상에 비동기 요청을 하는 경우에, ASYNCACK 출력이 동작하지 않는다면, 어드레스 및 기록 데이터(있다면)가 제 1레지스터 뱅크(216) 및/또는 제 2레지스터 뱅크 (218)로 래치된다. 제 1레지스터 뱅크(216)로 래치되는 데이터에 응답해서 제 1플립/플롭(236)이 세트되고, 제 2레지스터 뱅크(218)로 래치되는 데이터에 응답해서 제 2플립/플롭(238)이 세트된다. RAM(212)의 진행중인 동작을 완료하자 마자(예를 들어, RAM(212)의 EOP 출력이 동작하지 않을 때), 제 1플립/플롭(236) 및/또는 제 2플립/플롭(238)의 세트 상태가 제 1멀티플렉서 제어부(232)로 지향하게 되어 래치된 비동기 요청을 RAM(212)에서 수신한다. 그러므로, 비동기 포트(202 및 204)가 동기 포트(206-210)보다 우선순위를 갖고, 비동기 요청을 완료할 때까지 제 3레지스터 뱅크(226), 제 4레지스터 뱅크(228) 및/또는 제 5레지스터 뱅크(230)내에 래치된 동기 요청이 제 1멀티플렉서 제어부(232) 및/또는 제 2멀티플렉서 제어부(234)에 의해 정지된다.
양호하게는 비동기 포트(202 및 204)가 연속적으로 폴(poll)되고 비동기 포트 동작이 동작시 초기화된다(예를 들어, CLKIN의 상태와 무관하게). 진행중인 포트 동작이 이루어지면, 진행중인 포트 동작을 (예를 들어, 동작안되는 EOP 신호로 표시하듯이) 완료하자마자 비동기 요청이 개시된다. 전술한 바와 같이, 모든 비동기 요청이 만족될 때까지 동기 요청이 정지된다. 또한, 동기 동작이 정지되지 않을 때, 동기 포트(206-210)의 세개 모두에 동기 요청이 존재한다면, 제 1동기 판독 포트(206)상의 동기 요청이 처음에 수행되고, 제 2동기 판독 포트(208)상의 동기 요청이 두번째로 수행되고 동기 기록 판독 포트(210)상의 동기 요청이 세번째로 수행된다.
MRASR(200)에 의해 사용된 특정한 우선순위 방식(예를 들어, 비동기 요청이 동기 요청보다 더 높은 우선순위를 가짐)이 조정되고, 동기 요청이 비동기 요청보다 더 높은 우선순위로 설정될 수 있다. MRASR(200)의 멀티플렉스된 구조는 그 우선순위 방식을 쉽게 변형시킬 수 있다는 것을 장점으로 한다.
전술한 바와 같이, 완전히 배선시킨 본 발명의 멀티-포트로된 메모리 시스템(100)을 실행하는 데 필요한 버스를 다수로 사용하는 것은 다양한 환경에서 비실용적이다. 예를 들어, 본 발명의 RAM(108)이 32 MRASRs를 갖는 32 킬로바이트 RAM이다. 8개의 버스 세트가 사용되면, 8개의 버스 세트는, 2개의 버스 세트 서비스 MRASRs 1-8, 2개의 버스 세트 서비스 MRASRs 9-16, 2개의 버스 세트 서비스 MRASRs 17-24 및 2개의 버스 세트 서비스 MRASRs 25-32로 구성된다. 버스 세트의 실제 할당은 변하나, 양호하게는 동기 디바이스(102a-x) 및 비동기 디바이스(104a-y)의 메모리 사용을 토대로 선택된다. 양호하게는 버스 세트 할당은 동적으로 변화된다(예를 들어, 하드웨어, 소프트웨어 또는 그 결합체를 경유해서).
본 발명의 멀티-포트로된 메모리 시스템(100)의 양호한 구성에서 본 발명의 메모리 디스패치/제어기(106)는 각 MRASR(110a-n)의 크기, 본 발명의 RAM(108)의세분성, 비동기 및 동기 요청을 각 MRASR로 통신할 수 있는 버스수, 및 비동기/동기 어드레스 판독 및 기록을 적절한 MRASRs로 변환하는 데 필요한 메모리 맵핑에 대한 정보를 보유한다. 본 발명의 메모리 디스패치/제어기(106)는 비동기 및 동기 요청간의 우선순위를 또한 세트할 수 있다(예를 들어, 비동기 요청전에 동기 요청을 또는 그 역으로 RAM(108)으로 수신함에 의해).
도 3은 도 1의 메모리 디스패치/제어기(106)에 대한 양호한 실시예의 개략도이다. 도 3의 실시예에서 각 MRASR(110a-n)는 3개의 동기 포트(제 1동기 판독 포트, 제 2동기 판독 포트 및 동기 기록 포트) 및 2개의 비동기 포트(비동기 판독 포트 및 비동기 기록 포트)를 사용하게 된다. 나머지의 동기 및 비동기 포트의 다른 구성도 사용될 수 있다.
도 3에서 메모리 디스패치/제어기(106)는 동기 디바이스(102a-x) 및 RAM (108)에 각기 결합된 제 1동기 판독 포트 제어부(302), 제 2동기 판독 포트 제어부(304) 및 동기 기록 포트 제어부(306), 및 비동기 디바이스(104a-y) 및 RAM (108)에 각기 결합된 비동기 판독 포트 제어부(308) 및 비동기 기록 포트 제어부(310)를 구비하고 있다. 제 1동기 판독 포트 제어부(302)는 메모리 디스패치/제어기(106) 및 각 MRASR(110a-n)의 제 1동기 판독 포트(도시안된)간의 동기 메모리 요청(동기 디바이스(102a-x)로터의 동기 판독) 및 인식의 이송을 제어한다. 특히, 제 1동기 판독 포트 제어부(302)는 설정된 동기 메모리 요청에 대해 RAM(108)의 적절한 MRASR을 선택하고, 그 선택된 MRASR에 메모리 요청을 이송하고, 동기 메모리 요청의 MRASR 실행의 인식을 수신하고, 요청하는 동기 디바이스에 그인식을 통신한다. 제 2동기 판독 포트 제어부(304), 동기 기록 포트 제어부(306), 비동기 판독 포트 제어부(308) 및 비동기 기록 포트 제어부(310)는 MRASR의 동기 판독 및 상기 제 2동기 판독 포트, MRASR의 동기 기록 및 상기 동기 기록 포트, MRASR의 비동기 판독 및 상기 비동기 판독 포트, 및 MRASR의 동기 기록 및 상기 비동기 기록 포트 각각에 대해 비슷한 동작을 수행한다.
도 4는 도 3의 제 1동기 판독 포트 제어부(302)의 양호한 실시예의 개략도이다. 제 2동기 판독 포트 제어부(304), 동기 기록 포트 제어부(306), 비동기 판독 포트 제어부(308) 및 비동기 기록 포트 제어부(310)는 비슷하게 구성되므로 더 이상 설명하지 않는다. 도 4에서 제 1동기 판독 포트 제어부(302)는 각 동기 디바이스(102a-x)의 동기 버스 세트(144a-x) 및 각 MRASR(110a-n)의 제 1동기 판독포트(도시 안된) 각각에 결합된 복수의 채널 멀티플렉서(402a-n)을 구비하고 있다. 제 1동기 판독 포트 제어부(302)는 채널 멀티플렉서(402a-n)(그 동작을 제어하는)에 결합된 멀티플렉서 제어부(404), 및 각 MRASR(110a-n)의 제 1동기 판독포트 및 (복수의 인식 멀티플렉서(408a-x)를 경유해서) 각 동기 디바이스(102a-x)의 동기 버스 세트(144a-x)에 결합된 인식 제어 회로(406)도 구비하고 있다.
동작시, 동기 디바이스(102a-x)중 하나로부터의 동기 메모리 판독 요청은 메모리 디스패치/제어기(106)에 의해 디코드되고, MRASR의 제 1동기 판독 포트가 동기 메모리 판독을 실행하도록 사용되면, 메모리 디스패치/제어기(106)는 메모리 요청의 상위 비트를 디코드하여 그 디바이스에 의해 요청되는 채널이 어떤 것인지를 결정한다. 하나 이상의 메모리 요청이 같은 채널에 대해 완료되면, 멀티플렉서 제어부(404)는 메모리 요청을 우선 순위화한다. 또한, 멀티플렉서 제어부(404)는 요청된 채널이 사용중이 아니라는 것(예를 들어, 이전에 수신된 요청을 서비스하고 있지 않은)을 확정하게 된다. 예를 들어, 동기 메모리 판독 요청을 채널을 경유해서 MRASR에서 수신한 후, 멀티플렉서 제어부(404)가 (예를 들어, 인식 제어 회로(406)를 경유해서) 채널을 모니터하여 그 수신된 동기 메모리 판독 요청이 실행되었는 지(그리고, 예를 들어 그 채널이 사용중이 아니라는 것)를 결정한다. 그 요청된 채널이 사용중이면, 채널이 사용중일 때까지 메모리 디스패치/제어기(106)는 동기 메모리 판독 요청을 정지시킨다. MRASR로부터의 각 동기 메모리 판독 인식이 인식 제어 회로(406)로부터 인식 멀티플렉서(408a-x)로, 및 인식 멀티플렉서(408a-x)로부터 그 요청하는 디바이스로 전송된다.
일반적으로 각 동기 디바이스(102a-x) 및 각 비동기 디바이스(104a-y)가 RAM(108)의 모든 어드레스 영역을 요청할 수 있다. 메모리 디스패치/제어기(106)는 각 요청하는 디바이스의 상위 비트를 디코드하여 어느 채널이 그 디바이스에 의해 요청되는 지를 결정한다. 같은 채널에 대해 이전의 요청이 인식되지 않으면, 메모리 디스패치/제어기(106)는 요청하는 디바이스를 정지시킨다. 그러나, 그 요청된 채널이 사용중이 아니라면(또는 사용중이 아닌 것으로 되면), 메모리 디스패치 /제어기(106)는 그 요청된 어드레스를 채널을 통해 루트시키고 그 요청이 적절한 MRASR에 의해 실행된다.
2개의 디바이스가 다른 MRASR 채널 경계에 있는 어드레스에 액세스를 요청하면, 채널 충돌이 없으며, 그 요청이 동기든 또는 비동기든 간에 동시에 처리될 수있다. 그러나, 2개의 디바이스가 같은 사이클로 같은 채널에 대해 요청하면, 메모리 디스패치/제어기(106)는 디바이스들중 하나만을 서비스하고 나머지의 디바이스를 정지시킨다. 사용가능한 채널수를 많게 하고 비동기 및 동기 요청을 분리되게 함에 의해, 채널 충돌에 대한 잠재성이 매우 감소된다.
도 5a-5e는 동기 판독 및 기록 동작동안 도 1의 본 발명의 멀티-포트로된 메모리 시스템(100)의 동작의 타이밍도이다. 도 1및 5a에서, 동기 디바이스(102a-x)중 하나가 동기 판독 명령(SYNCRD)을 본 발명의 메모리 디스패치/제어기(106)로 발생시킨 후, 본 발명의 메모리 디스패치/제어기(106)는 본 발명의 RAM(108)의 MRASRs(110a-n)중 어느 것이 판독될 데이터를 포함하고, 그 식별된 MRASR에 대해 채널을 선택하고 그 동기 판독 명령(SYNCRD)을 MRASR로 전송하는 지를 식별한다. 시간 t1에서 그 식별된 MRASR는 판독 명령(SYNCRD) 및 그 요청된 데이터의 어드레스 (SYNCRDADDR)를 수신하고, 직후에 판독 명령(SYNCRDACK)의 실행을 인식한다. 그 요청된 데이터(SYNCRDDATA)는 적절한 동기 판독 데이터 버스상에 위치되어 본 발명의 메모리 디스패치/제어기(106)에 이송되고 그후에 그 요청하는 동기 디바이스로 이송된다.
도 5b에서 제 1 및 2 동기 판독 명령은 동기 디바이스(102a-x)중 하나 이상에 의해 하나씩 차례로 본 발명의 메모리 디스패치/제어기(106)로 발생된다. 그것에 응답해서, 본 발명의 메모리 디스패치/제어기(106)는 제 1동기 판독 명령을 적절한 MRASR로 전송한다. 시간t1에서 MRASR은 제 1동기 판독 명령(SYNCRD) 및 요청된 데이터의 어드레스(SYNCRDADDR)를 수신하고, 직후에 제 1판독 명령(SYNCRDACK)의 실행을 인식한다. 그 요청된 데이터(SYNCRDDATA)는 적절한 동기 판독 데이터 버스상에 위치되어 본 발명의 메모리 디스패치/제어기(106) 및 요청하는 디바이스에 이송되게 된다. 제 1동기 판독 명령의 실행을 인식한 후, 제 2동기 판독 명령(SYNCRD)는 MRASR에 수신되고, 시간 t3에서 MRASR은 제 2동기 판독 명령(SYNCRD) 및 요청된 데이터의 어드레스(SYNCRDADDR)를 수신한다. 직후에 MRASR는 제 2판독 명령(SYNCRDACK)의 실행을 인식하고, 그 요청된 데이터(SYNCRDDATA)는 적절한 동기 판독 데이터 버스상에 위치되어 본 발명의 메모리 디스패치/제어기(106) 및 요청하는 디바이스에 이송되게 된다. 본 발명의 디스패치/제어기(106)는 MRASR의 포트에 보내진 이전의 요청이 MRASR에 의해 인식되었든 아니든간에 트랙을 유지하고, 포트가 가용할 때까지는(예를 들어, 포트와 관련된 MRASR로부터 인식을 수신한 후), 다른 요청을 포트에 보내지 않는다.
도 5c는 도 5b의 시간 다이어그램과 비슷한 타이밍 다이어그램을 예시한다. 그러나, 도 5c의 타이밍 다이어그램에서 제 1동기 판독 명령(SYNCRD)이 즉시 인식되지 않는다(예를 들어, MRASR가 정지됨). 따라서, 본 발명의 메모리 디스패치/제어기 (106)는 정지하고, MRASR이 시간 t4에서 제 1동기 판독 명령의 완료를 인식할 때까지 제 2비동기 판독 명령(SYNCRD)를 MRASR로 계속 출력한다. 도 5d 및 5e는 정지안된(도 5d) 및 정지된(도 5e) 동기 기록 요청 동안 도 1의 본 발명의 멀티-포트로된 메모리 시스템(100)의 비슷한 동작을 예시한다. 도 6a-6e는 도 5a-5e를 참고로 설명된 동기 판독 및 기록 동작과 비슷한 본 발명의 멀티-포트로된 메모리 시스템(100)의 비동기 판독 및 기록 동작을 예시한다.
앞선 설명에서는 본 발명의 양호한 실시예를 개시한 것이고, 본 발명의 범위내에 있는 상기 개시된 장치 및 방법의 변형예는 당업자에 의해 쉽게 이해될 것이다. 예로서, 어떤 크기의 RAM(108)일자라도 많은 MRASRs(많은 포트를 갖는) 및 많은 채널을 사용할 수 있다.
따라서, 본 발명이 그 양호한 실시예와 관련해서 개시되는 반면에, 다른 실시예는 다음의 청구범위에 의해 한정했듯이 본 발명의 정신 및 범위내에 있다.
Claims (19)
- 멀티-포트로된 메모리로서,동기 메모리 요청을 수신하는 수단과;비동기 메모리 요청을 수신하는 수단과;상기 수신된 동기 및 비동기 메모리 요청을 동시에 처리하는 수단을 구비하는 멀티-포트로된 메모리.
- 제1항에 있어서, 동기 메모리 요청을 수신하는 상기 수단 및 비동기 메모리 요청을 수신하는 상기 수단은,동기 및 비동기 메모리 요청을 수신하고;동기 메모리 요청을 동기 메모리 채널을 경유해서 멀티-포트로된 메모리 어래이로 이송하고;비동기 메모리 요청을 비동기 메모리 채널을 경유해서 상기 멀티-포트로된 메모리 어래이로 이송하는메모리 디스패치 수단을 구비하는멀티-포트로된 메모리.
- 제2항에 있어서, 상기 수신된 동기 및 비동기 요청을 동시에 처리하는 상기 수단이 상기 메모리 디스패치 수단에 결합된 메모리 수단을 구비하고, 상기 메모리수단은,상기 메모리 디스패치 수단으로부터 동기 메모리 요청을 수신하는 수단과;수신된 동기 메모리 요청을 실행하는 수단과;실행된 동기 메모리 요청의 인식을 상기 메모리 디스패치 수단에 보내는 수단과;상기 메모리 디스패치 수단으로부터 비동기 메모리 요청을 수신하는 수단과;수신된 비동기 메모리 요청을 실행하는 수단과;실행된 비동기 메모리 요청의 인식을 상기 메모리 디스패치 수단에 보내는 수단을 구비하는 멀티-포트로된 메모리.
- 제3항에 있어서, 상기 메모리 수단은 수신된 동기 메모리 요청의 실행 및 수신된 비동기 메모리 요청의 실행간에 우선순위 방식으로 한정되는 우선순위 수단을 더 구비하는 멀티-포트로된 메모리.
- 멀티-포트로된 메모리 디바이스로서,적어도 하나의 동기 디바이스로부터 동기 메모리 요청을 수신하고 적어도 하나의 비동기 디바이스로부터 비동기 메모리 요청을 수신하도록 채용된 메모리 디스패치/제어기와;상기 메모리 디스패치/제어기에 결합된 적어도 하나의 멀티-요청 메모리 어래이를 갖는 메모리 회로를 구비하고,상기 적어도 하나의 멀티-요청 메모리 어래이는,상기 메모리/디스패치 제어기로부터 동기 메모리 요청을 수신하도록 채용된 복수의 동기 포트와;상기 메모리/디스패치 제어기로부터 비동기 메모리 요청을 수신하도록 채용된 복수의 비동기 포트와;상기 복수의 동기 포트 및 상기 복수의 비동기 포트에 결합되고, 상기 동기 및 비동기 포트를 경유해서 수신된 동기 및 비동기 메모리 요청을 처리하도록 채용된 요청 처리 회로와;상기 요청 처리 회로에 결합된 메모리 어래이를 갖는 멀티-포트로된 메모리 디바이스.
- 제5항에 있어서, 상기 요청 처리 회로는,상기 복수의 동기 포트에 결합되고 상기 동기 포트상에 있는 동기 메모리 요청을 기억하기 위해 채용된 복수의 제 1기억 디바이스와;상기 복수의 비동기 포트에 결합되고 상기 비동기 포트상에 있는 비동기 메모리 요청을 기억하기위해 채용된 복수의 제 2기억 디바이스와;상기 복수의 제 1 및 2 기억 디바이스 및 메모리 어래이에 결합되어, 상기 복수의 제 1 기억 디바이스내에 기억된 동기 메모리 요청 및 상기 복수의 제 2 기억 디바이스내에 기억된 비동기 메모리 요청의 상기 메모리 어래이에 의해 실행을 우선순위화하도록 채용된 우선순위화 회로를 구비하는 멀티-포트로된 메모리 디바이스.
- 제6항에 있어서, 상기 우선순위화 회로는,상기 복수의 제 1기억 디바이스에 결합되고 상기 복수의 제 1기억 디바이스에 기억된 동기 메모리 요청들간에 선택하도록 채용된 제 1선택 회로와;상기 복수의 제 2기억 디바이스 및 상기 제 1선택 회로에 결합되고, 상기 복수의 제 2기억 디바이스에 기억된 비동기 메모리 요청 및 상기 제 1선택 회로에 의해 선택된 동기 메모리 요청간에 선택하도록 채용된 제 2선택 회로를 구비하는멀티-포트로된 메모리 디바이스.
- 제7항에 있어서, 상기 제 1선택 회로는,상기 복수의 제 1기억 디바이스에 결합된 제 1멀티플렉서와;상기 제 1멀티플렉서에 결합되고 상기 제 1멀티플렉서의 동작을 제어하도록 채용된 제 1멀티플렉서 제어기를 구비하는 멀티-포트로된 메모리 디바이스.
- 제8항에 있어서, 상기 제 2선택 회로는,상기 복수의 제 2기억 디바이스 및 상기 제 1멀티플렉서에 결합된 제 2멀티플렉서와;상기 제 2멀티플렉서 및 상기 제 1멀티플렉서 제어기에 결합되고 상기 제 2멀티플렉서의 동작을 제어하도록 채용된 제 2멀티플렉서 제어기를 구비하는 멀티-포트로된 메모리 디바이스.
- 제5항에 있어서, 상기 적어도 하나의 멀티-요청 메모리 어래이는,상기 복수의 동기 포트, 상기 복수의 비동기 포트 및 상기 메모리 어래이에 결합되고, 상기 메모리 어래이에 의해 메모리 요청의 실행동안 상기 복수의 동기 포트중 적어도 하나 및 상기 복수의 비동기 포트중 적어도 하나를 차단하도록 채용된 게이팅 회로를 더 구비하는 멀티-포트로된 메모리 디바이스.
- 제5항에 있어서, 상기 메모리 회로가 복수의 멀티-요청 메모리 어래이를 구비하는 멀티-포트로된 메모리 디바이스.
- 제11항에 있어서, 상기 메모리 회로가 32 킬로바이트의 메모리를 구비하고,상기 복수의 멀티-요청 메모리 어래이는 32개의 멀티-요청 메모리 어래이를 구비하는 멀티-포트로된 메모리 디바이스.
- 제11항에 있어서, 각 멀티-요청 메모리 어래이는,제 1동기 판독 포트와;제 2동기 판독 포트와;동기 기록 포트와;비동기 판독 포트와;비동기 기록 포트를 구비하는 멀티-포트로된 메모리 디바이스.
- 메모리 회로로서,하나의 멀티-요청 메모리 어래이에서 상기 적어도 하나의 멀티-요청 메모리 어래이는,메모리/디스패치 제어기로부터 동기 메모리 요청을 수신하도록 채용된 복수의 동기 포트와;메모리/디스패치 제어기로부터 비동기 메모리 요청을 수신하도록 채용된 복수의 비동기 포트와;복수의 동기 포트 및 복수의 비동기 포트에 결합되고, 상기 동기 및 비동기 포트를 경유해서 수신된 동기 및 비동기 메모리 요청을 처리하도록 채용된 요청 처리 회로와;상기 요청 처리 회로에 결합된 메모리 어래이를 구비하는 메모리 회로.
- 제14항에 있어서, 상기 요청 처리 회로는,상기 복수의 동기 포트에 결합되고 상기 동기 포트상에 있는 동기 메모리 요청을 기억하기 위해 채용된 복수의 제 1기억 디바이스와;상기 복수의 비동기 포트에 결합되고 상기 비동기 포트상에 있는 비동기 메모리 요청을 기억하기위해 채용된 복수의 제 2기억 디바이스와;상기 복수의 제 1 및 2 기억 디바이스 및 메모리 어래이에 결합되어, 상기복수의 제 1 기억 디바이스내에 기억된 동기 메모리 요청 및 상기 복수의 제 2 기억 디바이스내에 기억된 비동기 메모리 요청의 상기 메모리 어래이에 의해 실행을 우선순위화하도록 채용된 우선순위화 회로를 구비하는 메모리 회로.
- 제14항에 있어서, 복수의 멀티-요청 메모리 어래이를 더 구비하는 메모리 회로.
- 비동기 및 동기 메모리 요청을 처리하는 방법으로서,복수의 동기 포트 및 복수의 비동기 포트를 갖는 복수의 멀티-요청 메모리 어래이를 구비하는 메모리 회로를 갖는 메모리 디바이스를 제공하는 단계와;동기 메모리 요청을 수신하는 단계와;상기 동기 메모리 요청을 서비스할 수 있는 복수의 멀티-요청 메모리 어래이중 하나를 선택하는 단계와;상기 동기 메모리 요청을 상기 선택된 멀티-요청 메모리 어래이에 이송하는 단계와;비동기 메모리 요청을 수신하는 단계와;상기 비동기 메모리 요청을 서비스할 수 있는 상기 복수의 멀티-요청 메모리 어래이중 하나를 선택하는 단계와;상기 비동기 메모리 요청을 상기 선택된 멀티-요청 메모리 어래이에 이송하는 단계를 구비하는비동기 및 동기 메모리 요청을 처리하는 방법.
- 제17항에 있어서, 상기 동기 메모리 요청을 상기 선택된 멀티-요청 메모리 어래이에 이송하는 단계는, 상기 동기 메모리 요청을 서비스할 수 있는 상기 복수의 멀티-요청 메모리 어래이중 선택된 하나가 사용중인지를 결정하는 단계와, 그렇다면, 상기 선택된 멀티-요청 메모리 어래이가 사용중이 아닐 때까지 상기 동기 메모리 요청을 상기 선택된 멀티-요청 메모리 어래이에 이송하는 것을 지연하는 단계를 구비하는 방법.
- 제17항에 있어서, 상기 동기 메모리 요청을 서비스할 수 있는 상기 복수의 멀티-요청 메모리 어래이중 선택된 하나 및 상기 비동기 메모리 요청을 서비스할 수 있는 복수의 멀티-요청 메모리 어래이중 선택된 하나가 같은 멀티-요청 메모리 어래이인지를 결정하는 단계와, 그렇다면, 상기 동기 및 비동기 메모리 요청의 실행을 우선순위화하는 단계를 더 구비하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/524,661 | 2000-03-13 | ||
US09/524,661 US6282144B1 (en) | 2000-03-13 | 2000-03-13 | Multi-ported memory with asynchronous and synchronous protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010091900A true KR20010091900A (ko) | 2001-10-23 |
KR100388342B1 KR100388342B1 (ko) | 2003-06-25 |
Family
ID=24090154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0008684A KR100388342B1 (ko) | 2000-03-13 | 2001-02-21 | 비동기 및 동기 프로토콜을 갖는 멀티 포트 메모리 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6282144B1 (ko) |
KR (1) | KR100388342B1 (ko) |
TW (1) | TW487925B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100967827B1 (ko) * | 2008-01-07 | 2010-07-05 | 주식회사 지엠피 리드팩 | 식품용기 밀봉기 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668300B1 (en) * | 2000-09-14 | 2003-12-23 | Bae Systems Information And Electronic Systems Integration Inc. | Computer device having multiple linked parallel busses and associated method |
US6918019B2 (en) * | 2001-10-01 | 2005-07-12 | Britestream Networks, Inc. | Network and networking system for small discontiguous accesses to high-density memory devices |
US7206904B2 (en) * | 2002-03-20 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Method and system for buffering multiple requests from multiple devices to a memory |
US7359281B2 (en) * | 2005-02-01 | 2008-04-15 | Intelliserv, Inc. | Read and/or write detection system for an asynchronous memory array |
US20100011172A1 (en) * | 2008-07-09 | 2010-01-14 | Fujitsu Limited | Microcontroller systems having separate address and data buses |
CN103106165A (zh) * | 2011-11-15 | 2013-05-15 | 鸿富锦精密工业(深圳)有限公司 | 信号采集系统及方法 |
CN103885904B (zh) * | 2014-04-16 | 2017-11-28 | 国网上海市电力公司 | 一种便携式主站的数据存储系统及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4652993A (en) | 1984-04-02 | 1987-03-24 | Sperry Corporation | Multiple output port memory storage module |
US5237670A (en) | 1989-01-30 | 1993-08-17 | Alantec, Inc. | Method and apparatus for data transfer between source and destination modules |
GB9008366D0 (en) | 1990-04-12 | 1990-06-13 | British Aerospace | Data interaction architecture(dia)for real time embedded multi processor systems |
US5515523A (en) | 1991-06-03 | 1996-05-07 | Digital Equipment Corporation | Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems |
US5617367A (en) * | 1993-09-01 | 1997-04-01 | Micron Technology, Inc. | Controlling synchronous serial access to a multiport memory |
US5504675A (en) * | 1994-12-22 | 1996-04-02 | International Business Machines Corporation | Method and apparatus for automatic selection and presentation of sales promotion programs |
US6078527A (en) * | 1997-07-29 | 2000-06-20 | Motorola, Inc. | Pipelined dual port integrated circuit memory |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
-
2000
- 2000-03-13 US US09/524,661 patent/US6282144B1/en not_active Expired - Lifetime
- 2000-11-29 TW TW089125392A patent/TW487925B/zh not_active IP Right Cessation
-
2001
- 2001-02-21 KR KR10-2001-0008684A patent/KR100388342B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100967827B1 (ko) * | 2008-01-07 | 2010-07-05 | 주식회사 지엠피 리드팩 | 식품용기 밀봉기 |
Also Published As
Publication number | Publication date |
---|---|
TW487925B (en) | 2002-05-21 |
US6282144B1 (en) | 2001-08-28 |
KR100388342B1 (ko) | 2003-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2297836C (en) | Multi-port internally cached drams | |
US5404548A (en) | Data transfer control system transferring command data and status with identifying code for the type of information | |
TW405074B (en) | Memory controller in a multi-port bridge for a local area network | |
US6345348B2 (en) | Memory system capable of supporting different memory devices and a memory device used therefor | |
JP2005500621A (ja) | デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
US7899940B2 (en) | Servicing commands | |
US6889266B1 (en) | Method for delivering packet boundary or other metadata to and from a device using direct memory controller | |
US6912716B1 (en) | Maximized data space in shared memory between processors | |
KR100388342B1 (ko) | 비동기 및 동기 프로토콜을 갖는 멀티 포트 메모리 | |
US20070143521A1 (en) | Burst-capable bus bridges for coupling devices to interface buses | |
US7523250B2 (en) | Semiconductor memory system and semiconductor memory chip | |
US7634602B2 (en) | Bus system with few control lines | |
KR20040045446A (ko) | 버스트 모드를 지원하는 외부 메모리가 있는 인터페이싱프로세서 | |
KR102260820B1 (ko) | 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법 | |
JPS60201453A (ja) | 記憶装置アクセス制御方式 | |
JPH04282938A (ja) | 通信制御装置 | |
EP1459191B1 (en) | Communication bus system | |
JPH01234962A (ja) | バス制御方式 | |
JPH10312355A (ja) | 制御ユニット及び通信システム | |
JPH03127203A (ja) | プログラマブルコントローラの通信方法 | |
JPS61125664A (ja) | ネツトワ−クシステムにおけるメモリ管理方式 | |
JPS58221442A (ja) | デ−タの処理方法 | |
JPS6383854A (ja) | デ−タ転送回路 | |
JPS60147864A (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 | ||
LAPS | Lapse due to unpaid annual fee |