[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100303574B1 - 다중-포트 공용 메모리 인터페이스 및 관련 방법 - Google Patents

다중-포트 공용 메모리 인터페이스 및 관련 방법 Download PDF

Info

Publication number
KR100303574B1
KR100303574B1 KR1019960700802A KR19960700802A KR100303574B1 KR 100303574 B1 KR100303574 B1 KR 100303574B1 KR 1019960700802 A KR1019960700802 A KR 1019960700802A KR 19960700802 A KR19960700802 A KR 19960700802A KR 100303574 B1 KR100303574 B1 KR 100303574B1
Authority
KR
South Korea
Prior art keywords
data
port
different
ram
data burst
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019960700802A
Other languages
English (en)
Other versions
KR960704271A (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 KR960704271A publication Critical patent/KR960704271A/ko
Application granted granted Critical
Publication of KR100303574B1 publication Critical patent/KR100303574B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 데이타를 전송하는 다수의 포트, 다수의 메모리 액세스 버퍼 및 상기 포트와 상기 버퍼간에 데이타의 부분집합을 분배하는 상호접속 매트릭스 회로를 포함하는 다중포트 공용 메모리 시스템을 제공한다.

Description

[발명의 명칭]
다중포트 공용 메모리 인터페이스 및 관련방법
[도면의 간단한 설명]
제1도는 종래의 다중포트 공용 메모리 시스템의 블록도.
제2도는 제1도의 종래의 시스템에 사용될 수 있는 데이터 포맷을 나타내는 도면.
제3도는 또 다른 종래의 다중포트 공용 메모리 시스템의 블록도.
제4도는 본 발명에 따른 제1 다중포트 공용 메모리 시스템의 전체적인 블록도.
제5도는 제4도 실시예에 사용된 데이터 포맷과 데이터 흐름을 나타내는 도면.
제6도는 제4도 실시예의 메모리 액세스 버퍼와 제어 로직을 나타내는 상세한 블록도.
제7도는 제6도의 메모리 액세스 버퍼를 나타내는 이중 레지스터쌍을 나타내는 블록도.
제8도는 제6도의 제어 로직과 메모리 액세스 버퍼의 동작을 설명하는 타이밍도.
제9도는 제7도의 이중 레지스터쌍의 동작을 설명하는 타이밍도.
제10도는 본 발명에 따른 비동기 전송모드 스위치에 대한 블록도.
[발명의 상세한 설명]
[발명의 분야]
본 발명은 메모리 인터페이스 시스템에 관한 것으로서, 더욱 상세하게는 다중처리기 시스템 및 통신 스위칭과 같은 제품에 사용되는 다수의 장치들에 의한 공용 메모리 액세스를 제공하고 이를 중재하는 방법 및 장치에 관한 것이다.
공용 메모리는 다중 처리간의 데이터 전달을 용이하게 하는 데 사용된다. 통상적인 공용 메모리는 다수의 포트를 사용하여 구현되고 있다. 각 포트는 서로 다른 외부 장치에 공용 메모리로의 액세스를 제공한다. 다음, 서로 다른 이 장치들은 데이터를 전달하는 서로 다른 처리들을 제어하거나 실행시킬 수 있다.
다른 포트에 의한 공용 메모리 액세스에 의해 크게 영향을 받지 않는 공용 메모리 액세스를 각 포트에 제공하기 위해, 각 포트의 대역폭의 합에 근접한 대역폭을 갖는 공용 메모리로의 경로가 통상적으로 설계된다. 이러한 설계는 충분히 큰 상기 경로의 데이터 운반 능력을 보장하여, 다수의 포트가 공용 메모리로 액세스하고자 하더라도 어떤 포트들도 공용 메모리 엑세스시 크게 지연되지 않도록 한다. 일반적으로, 상기 설계는 두가지 중 한가지 방법 또는 이들의 일부조합으로 달성될 수 있다. 첫째로, 공용 메모리 액세스 시간은 각 포트들에 대한 데이터 전송 시간보다 아주 빠르게 설계될 수 있다. 둘째로, 공용 메모리로의 경로폭은 각 포트의 경로폭 보다 아주 크게 설계될 수 있다.
상기 첫 번째 방법은 공용 메모리로부터 데이터를 판독하거나 상기 메모리에 데이터를 기록할 수 있는 타임슬롯을 각 포트에 할당하는 것이다. 각 포트에 대해 할당된 타임슬롯은 상기 포트를 통하여 데이터를 전송하는데 필요한 실제 시간보다 짧다. 따라서, 데이터는 포트와 공용 메모리간의 전송동안 일시적으로 버퍼링된다. 통상적으로, 상기 포트 타임슬롯의 길이는 공용 메모리로의 액세스를 공유하는 장치의 수와 반비례한다. 특정 포트를 사용하는 장치는 상기 포트에 대해 할당된 타임슬롯동안에만 상기 메모리로 액세스할 수 있다. 데이터는 타임슬롯사이에서 버퍼링된다. 상기 방법에는 단점을 갖는다. 예컨대, 종종 메모리 액세스 시간이 포트 데이터 전송 시간보다 아주 짧을 필요가 있다. 그러나, 포트와 공용메모리의 데이터 전송률들이 서로 달라져서 종종 실행될 수 없게 된다.
상기 두 번째 방법도 각 포트에 타임슬롯을 할당한다. 예컨대, 공용 메모리로의 기록은 각 포트에서 수신된 다수의 데이터 워드들을 일시적으로 버퍼링시키는 단계와 이 데이터 워드들을 상기 포트에 할당된 타임슬롯동안 하나의 메모리 액세스 사이클에서 광 대역폭 메모리 경로로 상기 메모리에 제공하는 단계를 포함한다.
역으로, 공용 메모리로부터의 판독은 각 포트에 대해 할당된 타임슬롯동안 하나의 메모리 액세스 사이클에서 광 대역폭 경로로 다수의 워드를 제공하는 단계, 상기 메모리로부터 판독된 워드를 일시적으로 버퍼링시키는 단계 및 상기 포트를 통하여 상기 워드를 전송하는 단계를 포함한다. 상기 방법은 데이터 워드가 각 포트를 통하여 다중워드 버스트로 전달되는 버스트 모드 시스템에 특히 적합하다. 완전한 버스트는 메모리 액세스 버퍼에 일시적으로 저장되어 단일 메모리 액세스 사이클동안 공용 메모리로의 광대역 경로를 통하여 판독 또는 기록될 수 있다. 적절히 큰 대역폭을 갖는 경로를 제공함으로써 각 포트는 다른 포트를 통한 데이터 전송에 의해 방해받지 않으면서 공용 메모리로 독점적인 액세스를 하는 것으로 보여질 수 있다.
제1도의 블록도는 워드폭 m을 갖는 k개의 포트가 동등하게 공용 메모리를 공유하는 다중포트 메모리 시스템의 종래의 실행을 나타내고 있다. 각 버스트는 k개의 워드를 포함한다. k개의 메모리 액세스 버퍼들은 각각 k개의 m-비트 워드를 저장할 수 있다. 각 버퍼는 k×m 라인폭 경로에 의해 공용 메모리에 접속된다. 상기 공용 메모리는 k×m 비트폭이다.
제2도는 제1도의 시스템과 같은 통상적인 다중포트 메모리 시스템에 사용되는 데이터 포맷을 도시하고 있다. 공용 메모리로의 데이터 전송동안, m-비트 워드의 k 워드 버스트가 포트를 통하여 전달된다. 상기 전체 버스트는 단일 메모리 액세스 버퍼에 일시적으로 저장된다. 소정의 타임슬롯동안, 상기 버스트의 모든 k 워드는 버퍼로부터 동시에 전송되어 k×m 경로로 공용 메모리에 기록된다. 공용 메모리로부터의 데이터 전송동안, k 워드는 또 다른 소정의 타임슬롯동안 공용 메모리로부터 판독되며 단일 메모리 액세스 버퍼로 전송된다. 상기 버퍼링된 데이터는 상기 버퍼와 연결된 포트를 통하여 전송된다.
버스트를 초기에 입력한 포트와 상기 버스트를 출력하는 포트는 서로 다를 수 있다. 공용 메모리는 버스트를 일시적으로 저장하여 상기 버스트를 입력 포트로 부터 출력 포트로 전달할 수 있다. 이와 같이, 제1도의 시스템은 포트간에 데이터를 전달하는데 사용될 수 있다.
예컨대, 특히 메모리 기록 동작에 있어서, 각 포트를 통하여 수신된 k개의 m-비트 워드는 상기 포트에 할당된 메모리 액세스 버퍼에 의해 버퍼링된다. 계속해서, 상기 메모리 액세스 버퍼용으로 예약된 타임슬롯동안 할당된 버퍼에 저장된 모든 k개의 m-비트 워드는 공용 k×m-비트폭 경로로 공용 메모리에 동시에 기록된다. 이와 유사한 방법으로, 다른 버퍼도 각각 자신과 연결된 포트를 대표하여 m-비트 워드를 저장할 수 있다. 각 버퍼의 전체 내용(즉, 모든 k 워드들)은 상기 버퍼용으로 예약된 각 타임슬롯동안 공용 매모리에 기록될 수 있다. 메모리 판독 동작은 기록 동작 단계의 역과 유사하다.
이러한 종래의 실행은 대형 다중포트 시스템에서 버퍼와 버스 사이에 다수의 접속핀이 있어야 하는 문재점이 있다. 제3도는 또 다른 종래 다중포트 공용 메모리시스템을 나타내는 블록도이다. 사용된 데이터 포맷은 워드당 72비트(64비트 데이터 + 8비트 패러티)인 16 워드 버스트를 포함한다. 공용 메모리 버스는 1152 라인폭(16 워드 × 72비트/워드)을 갖는다. 상기 버스는 16 메모리 액세스 버퍼 각각에 접속된다. 각 버퍼는 1224 이상의 데이터 핀을 필요로 하기도 하는데, 1152개는 버스와의 접속을 위해서이고 72개는 포트와의 접속을 위해서이다. 불행하게도, 버스에 접속된 1152 데이터 핀은 16 버퍼 모두와 공용 메모리에 접속된 버스상에서 동작하는 고도의 구동능력을 각각 필요로 하기도 한다. 제3도는 상기 버퍼핀에 의해 극복되어야 할 버스용량을 나타내고 있다.
이와 같이, 공용 메모리로의 다수의 포트 액세스를 제공하는 개선된 구조가 필요하였다. 상기 개선된 구조는 메모리 액세스 버퍼들에 대한 핀이 보다 적어야 할 것이며 버퍼 핀을 위해 필요한 구동능력이 크지 않아야 할 것이다. 본 발명은 이들 요구를 충족시킨다.
[본 발명의 요약]
신규한 다중포트 메모리 시스템이 제공된다. 상기 메모리 시스템은 랜덤 액세스 메모리를 포함한다. 각 포트와 랜덤 액세스 메모리간의 데이터 전송동안 일시적으로 데이터를 저장하는 다수의 버퍼가 제공된다. 데이터 경로는 랜덤 액세스 메모리와 다수의 버퍼를 상호접속시킨다. 상호접속 회로는 소정의 데이터 부분집합을 포트와 서로 다른 소정의 버퍼 사이에서 전달한다.
본 발명의 다른 특징에 따르면, 랜덤 액세스 메모리와 다수의 데이터 포트간의 포트 버스트를 전송하는 방법이 제공된다. 포트 버스트는 단일 포트를 통하여 전송된 데이터의 다중워드 버스트이다. 각 포트 버스트의 데이터 워드는 다수의 부분집합으로 분할된다. 각 데이터 워드 부분집합은 일시저장 버퍼와 관련된다. 데이터 워드 부분집합은 상기 부분집합들이 일시적으로 저장되는 각각의 관련 버퍼들 및 각 포트들 사이에서 전달된다. 전체 포트 버스트는 단일 메모리 액세스 사이클에서 다수의 버퍼와 랜덤 액세스 메모리 사이에 전송될 수 있다.
본 발명은 포트와 공용 메모리간에 데이터의 다중워드 버스트를 전송하는 데 필요한 접속핀의 수를 감소시킨다. 또한, 본 발명의 실시예는 메모리 액세스 버퍼의 출력 구동요건을 완화시킨다.
본 발명의 목적과 장점들은 첨부된 도면을 참조한 다음의 상세한 설명으로부터 더욱 명백해진다.
본 발명은 다중포트 공용 메모리 시스템을 실행하는 새로운 방법 및 장치를 포함한다. 본 명세서는 당업자가 븐 발명을 실시하고 사용할 수 있도록 이하 설명한다. 특정 응용예에 대한 실명은 단지 예로서 제공된다. 바람직한 본 실시예는 당업자에 의해 다양하게 변형될 수 있으며 본 발명의 사상 및 범위안에서 본 명세서에 정의된 포괄적인 개념은 다른 실시예 및 응용예에 적용될 수 있다. 따라서, 본 발명은 본 명세서에 설명된 실시예에 한정되지 않으며 본 명세서에 개시된 원리 및 특징과 일치하는 가장 광범위한 범위에 따른다.
본 발명에 따른 제1 다중포트 공용 메모리 시스템(18)의 블록도가 제4도에 도시되어 있다. 상기 제1 시스템(18)은 m-비트 데이터 워드를 n-워드 버스트로 각각 입력 및 출력시키는 k 포트 세트(20), 상호접속 매트릭스 회로(22), 한 세트의 m개의 메모리 액세스 버퍼 세트(24) 및 공용 메모리(26)를 포함한다. 포트는 디지탈 정보가 데이터 버스와 같은 외부 회로로 또는 상기 회로로부터 전송될 수 있는 양방향 디지탈 경로의 역할을 한다. 포트 구조는 당업자에게 공지되어 있으므로 설명을 생략한다. 점선으로 표시된 공용 메모리(26)의 특정 영역은 버퍼(24)에 일시적으로 저장된 데이터의 부분집합용으로 마련된다.
메모리 기록 동작동안, 포트(20)는 이 포트에 접속된 각 외부 장치(도시되지 않음)로부터 이진 데이터를 전송한다. 상기 포트(20)는 수신된 이진 데이터를 상호 접속 매트릭스(22)에 제공하는데, 이 상호 접속 매트릭스는 포트를 통하여 전송된 데이터를 메모리 액세스 버퍼(24)들로 분배한다. 본 실시예에 있어서, 각 메모리 액세스 버퍼(24)가 각 포트에 의해 전송된 데이터의 부분집합을 수신하도록 상기 분배가 행해진다. 본 실시예에 있어서, 각 버퍼(24)는 각 포트로부터 각 버퍼에 의해 수신된 모든 데이터를 메모리(26)로 병렬로 전송할 수 있다. 또한, 각 포트로부터 수신된 데이터의 모든 병렬 전송은 단일 메모리 액세스 사이클동안 행해질 수 있다.
메모리 판독 동작은 기록 동작의 단계와 유사하나 그 순서는 역이다. 즉, n개의 m-비트 워드의 비트들이 공용 메모리로부터 전송되어 메모리 액세스 버퍼(24)간에 분배된다. 상호접속 매트릭스(22)는 분배된 비트를 단일 포트(20)에 제공하고 이 단일 포트를 통하여 n개의 m-비트 워드를 포함하는 버스트가 외부 장치(도시되지 않음)로 전송된다.
제1 시스템(18)에 사용되는 상호접속 매트릭스 회로(22), 데이터 포맷 및 데이터 흐름이 제5도에 상세히 도시되어 있다. 각 메모리 액세스 버퍼(24)는 포트를 통하여 전송된 매 데이터 워드에 대한 특정 비트 위치를 저장하는 데 전용된다.
데이터 워드는 데이터 및 패러티 정보를 포함할 수 있다. 바람직한 본 실시예에 있어서, 메모리 액세스 버퍼의 전체 수는 워드당 전체 비트 수(m)와 동일하며 이는 각 버퍼가 매 워드의 단일 비트 위치를 책임지도록 한다. 예컨대, 메모리 액세스 버퍼(24-1)는 포트(20-1 내지 20-k)중 어느 하나를 통하여 전송된 각 워드의 비트 1(B1)을 저장하며, 메모리 액세스 버퍼(24-2)는 포트(20-1 내지 20-k)중 어느 하나를 통하여 전송된 각 워드의 비트 2(B2)를 저장한다.
제4도를 참조하여, 각 메모리 액세스 버퍼(24-1 내지 24-m)가 n개의 데이터 라인세트(28-1 내지 28-m)에 의해 공용 메모리(26)에 접속된다. 따라서, 서로다른 열 비트의 m-부분집합은 메모리(26)와 버퍼(24)간에 동시에 전송될 수 있다. 본 실시예에 있어서, m-부분집합 각각에 대해 n-비트, 즉 n-워드 버스트의 n개의 워드 각각에 대해 1비트이다. 특히, 버스트당 n-워드이고 워드당 m-비트라면, 열 B1의 버스트당 n-비트이고 열 B2의 버스트당 n-비트이며, …, 열 Bm의 버스트당 n-비트이다. 소정의 열의 n-비트들 모두는 상기 열의 비트를 저장하도록 할당된 버퍼에 접속된 n개의 라인으로 메모리(26)에 동시에 제공될 수 있다. 예컨대, B1의 n 비트는 모두 버퍼(24-1)에 접속된 n개의 라인에 제공된다. 이는 상기 버퍼가 한번에 메모리의 번지지정된 위치로 또는 상기 위치로부터 n 워드를 전송할 수 있음을 의미한다. 이하 설명되는 바와 같이, 이들 전송된 워드 모두는 동일한 외부 장치에서 발생되거나 또는 상기 장치로 향하여 전송된다.
각 포트(20)는 소정 포맷의 데이터를 상호접속 매트릭스(22)와 외부 회로(도시되지 않음)간에 전송한다. 본 명세서에 있어서, "포트 버스트"는 외부 회로로 또는 상기 회로로부터의 방향중 어느 하나의 방향으로 단일 포트를 통하여 전송되는 데이터 버스트를 의미한다. 제5도에 도시된 본 실시예에 있어서, m-비트 데이터 워드는 버퍼(24)로의 전송을 위해 상호접속 매트릭스(22)로의 포트에 의해 제공될 수 있다. 역으로, m-비트 데이터 워드는 외부 회로로의 전송을 위해 상호접속 매트릭스(22)에 의해 포트로 제공될 수 있다. 데이터 워드 포맷은 소정의 열에 제공되는 비트 B1 내지 Bm을 갖는 데이터 워드를 포함한다. 상기 상호접속 매트릭스는 전술된 바와 같이 상기 비트들을 분배한다.
예컨대, 상호접속 매트릭스 회로(22)는 인쇄 배선 회로 기판(PCB), 와이어랩 또는 납땜된 와이어를 사용하여 실시될 수 있다. 바람직한 본 실시예에 있어서, 상호접속 매트릭스는 포트와 버퍼간의 접속을 제공한다. 이하 설명되는 바와 같이, 예컨대 포트(20-1)를 통하여 전송된 각 워드의 각각의 B1는 상기 매트릭스(22)에 의해 포트(20-1)와 연결된 버퍼(24-1)의 저장소자에 각각 접속되고, 포트(20-2)를 통하여 전송된 각 워드의 B1은 상기 매트릭스(22)에 의해 포트(20-2)와 연결된 버퍼(24-1)의 저장소자에 접속되며,... , 포트(20-k)를 통하여 전송된 각 워드의 각각의 B1은 상기 매트릭스(22)에 의해 포트(20-k)와 연결된 버퍼(24-1)의 저장소자에 접속된다.
메모리 액세스 버퍼는 표준 논리회로 또는 주문자형(custom) 논리회로를 사용하여 실행될 수 있다. 제6도 내지 제9도는 메모리 액세스 버퍼(24)와 메모리 액세스 버퍼(24)의 하나를 나타내는 이중 레지스터쌍(34)의 동작을 나타내고 있다. 제6도의 블록도는 레지스터쌍(34), 제어로직(29), 상기 레지스터쌍(34)을 상호접속 매트릭스(도시되지 않음)에 접속시키는 직렬 입력/출력 라인(30) 및 n-비트 병렬 입력/출력 버스(32)를 도시하고 있다. 제어 로직(29)은 라인(30)상의 직렬 I/O와 버스(32)상의 병렬 I/O를 제어한다. 상기 제어 로직의 동작은 제8도의 타이밍도를 참조하여 설명된다.
대표적인 이중 n-비트 레지스터쌍(34)이 제7도에 도시되어 있다. 본 발명의 실시예에서. 각 메모리 액세스 버퍼(24)는 버퍼(24)당 2k개의 레지스터 전체에 대해 제7도에 도시된 것과 유사한 k개의 이중 레지스터쌍을 포함한다. 각 버퍼의 각 레지스터쌍은 하나의 포트와 연결된다. 각 레지스터쌍은 상기 레지스터쌍과 연결된 포트로 또는 상기 포트로부터 전송된 매 데이터 워드의 소정의 위치(열)에 모든 비트를 저장하는 데 전용한다. 즉, 각 버퍼의 각 이중 레지스터쌍은 각 포트를 통하여 전송된 각 데이터 워드로부터의 동일한 열 비트를 모두 저장하고 이를 전송한다.
예컨대, 제5도를 참조하여 버퍼(24-1)에서 이중 레지스터쌍 Ri1은 포트 Pi(도시되지 않음)를 통하여 전송된 각 데이터 워드의 제1(순서대로)비트 B1를 수신하고 이를 저장한다. 버퍼(24-2)에서, 이중 레지스터쌍 Ri2는 포트 Pi를 통하여 전송된 각 워드의 제2(순서대로)비트 B2를 수신하고 이를 저장한다. 버퍼(24-m)에서, 이중 레지스터쌍 Rim은 포트 Pi를 통하여 전송된 각 워드의 제m(순서대로) 비트 Bm을 수신하고 이를 저장한다. 따라서, 예컨대 포트 Pi를 통하여 전송된 모든 B1은 상기 포트를 통하여 전송된 데이터의 부분집합을 나타낸다. 이와 유사하게, 모든 B2는 예컨대 또다른 부분집합을 나타내며 모든 Bm도 동일하다.
이중 레지스터쌍(34)은 시프트인 레지스터(36)와 시프트아웃 레지스터(38)를 포함한다. 상기 시프트인 레지스터(36)는 먼저 n 비트 데이터를 저장하고 공용메모리(26)에 기록하기 위해 메모리 버스(32)상으로 상기 n 비트 데이터를 병렬로 제공한다. 시프트아웃 레지스트는 메모리 버스(32)로부터의 n 비트 데이터를 병렬로 판독하고 공용 메모리(26)로부터 판독된 상기 n 비트 데이터를 저장한다.
시프트인 레지스터(36)에 저장된 데이터는 상호접속 매트릭스(22)로부터 시프트인 레지스터(26)로 직렬로 시프트되며, 상기 시프트인 레지스터(36)로부터 상기된 바와 같이 메모리(26)에 기록되기 위해 버스(32)상으로 병렬로 제공한다. 역으로, 시프트 아웃 레지스터(38)에 저장된 데이터는 메모리(26)로부터 판독된 후버스(32)로부터 시프트아웃 레지스터로 병렬로 판독되며, 상기 시프트아웃 레지스터로부터 상호접속 매트릭스(22)로 직렬로 시프트된다. 출력 인에이블 버퍼(40)는 상기 시프트아웃 레지스터(38)로부터 상기 상호접속 매트릭스(22)로의 데이터의 직렬 전송을 제어한다.
제4도 내지 제6도의 메모리 액세스 버퍼에 대한 타이밍도가 제8도에 도시되어 있다. 제8도의 타이밍도는 32 포트 시스템(k=32)에 대한 타이밍도를 나타내고 있는데, 각 포트는 32 워드(n=32)의 버스트 크기를 갖는다. 따라서, n=k이다.
본 실시에에서, 메모리 액세스는 32 메모리 기록 사이클 이전의 32 메모리 판독 사이클사이에서 교대한다.
먼저 메모리 기록 타이밍상에서, 메모리 데이터 기록 주기동안[클록 표시 (33-64)] 데이터의 서로 다른 32 워드 버스트는 각 포트(20)의 공용 메모리(26)에 기록될 수 있다. 각 포트는 상기 포트를 통하여 전송된 데이터가 메모리(26)에 기록될 수 있는 클록 사이클을 갖는다. 연속하는 포트의 데이터는 연속 클록 사이클 상에서 기록되며, 상기 연속 클록 사이클은 각 포트에 대한 기록 "타임슬롯"이다. 포트에 배정된 기록 타임슬롯을 마련하기 위해 각 포트는 자신의 타임슬롯이전에 32 클록 사이클동안 데이터를 메모리 액세스 버퍼로 전송을 개시하여, 포트의 타임슬롯이 도착하기 이전에 포트에 의해 수신된 버스트의 32 워드 모두를 상기 포트에 할당된 버퍼로 전송하기에 시간이 충분하도록 한다. 따라서, 메모리 데이터 타이밍 라인상의 "w1.C"를 앞서는 32클록 사이클동안 상호접속 매트릭스(22)를 통하여 포트(20-1)로부터 메모리 액세스 버퍼(24-1)로 포트(20-1)상으로 "w1.1 "w1.2",..."w1.32"로 표시되는 32회의 전송이 이루어진다. 각 포트는 서로 다른 타임슬롯을 가지므로, 상기 포트로부터의 전송들은 적절히 시간차이가 나도록 하여 각 포트의 버스트가 상기 포트의 타임슬롯직전에 공용 메모리로 전송될 준비가 되도록 한다.
특히, 예컨대, 제8도에 도시된 각 포트(20-1) 데이터 기록 사이클동안 포트(20-1)를 통하여 전송된 제1 워드의 모든 비트는 상호접속 매트릭스(22)에 의해 메모리 액세스 버퍼(24)의 할당된 이중 포트 레지스터쌍간에 분배된다. 예컨대, 버스트당 32워드와 워드당 m비트가 있으면, 제1 포트(20-1) 데이터 기록 사이클동안 포트(20-1)를 통하여 전송된 워드1(W1)의 비트1(B1)(w1.1)은 버퍼(24-1)의 소정의 레지스터쌍에 직렬로 기록되고, W1의 B2는 버퍼(24-2)의 소정의 레지스터쌍에 직렬로 기록되며, W1의 B3는 버퍼(24-3)의 레지스터쌍에 직렬로 기록된다. W1의 Bm은 버퍼(24-m)의 레지스터쌍에 직렬로 기록된다.
이와 유사하게, 제32 포트(20-1) 데이터 기록 사여클(w1.32)동안, 포트(20-1)를 통하여 전숑된 W32의 B1은 상기 포트(20-1)를 통하여 전숭된 W1의 B1과 같이 버퍼(24-1)의 동일한 레지스터쌍에 직렬로 기록된다. 또한, 예컨대 제3포트(20-1) 데이터 기록 사이클(w1.3)동안, 포트(20-1)를 통하여 전송된 W3의 B6은 포트(20-1)를 통하여 전송된 W1의 B6와 같이 메모리 액세스 버퍼(24-6)(도시되지 않음)의 동일한 레지스터쌍에 직렬로 기록된다.
이와 같이, 포트(20-1)에 대한 32개의 각 데이터 기록 사이클동안(w1.1 내지 w1.32), 데이터는 각 메모리 액세스 버퍼(24-1 내지 24-m)의 지정된 시프트인레지스터로 직렬로 시프트된다. 메모리 데이터 사이클(w1.C)동안,32개의 이전 직렬 시프트인 사이클동안(w1.1 내지 w1.32) 포트(20-1)의 시프트인 레지스터로 직렬로 시프트된 모든 데이터는 버스(32)상으로 병렬로 제공되어 공용 메모리(26)에 기록될 수 있다.
이와 유사하게, 메모리 판독 주기(클록 표시 1-32)동안, 데이터의 32개의워드가 각 포트에 대한 공용 메모리로부터 판독될 수 있다. 예컨대, r1.C에서 단일한 클록 메모리 액세스 사이클동안 32개의 워드는 메모리(26)로부터 판독될 수 있으며 이들 워드는 포트(20-1)를 통하여 외부 장치로 전송될 수 있다. 이와 같이, r1.C는 포트(20-1)에 대한 판독 "타임슬롯"이다. 또한, 예컨대 r31.C는 포트(20-31)에 대한 판독 타임슬롯을 나타낸다.
특히, 예컨대 타임슬롯 r1.C에서 버퍼(24-1)의 시프트아웃 레지스터는 메모리(26)로부터 병렬로 판독된 32워드의 B1 모두를 병렬로 수신한다. 이와 유사하게, 예컨대 타임슬롯 r1.C에서 버퍼(24-18)(도시되지 않음)의 시프트아웃 레지스터는 메모리(26)로부터 병렬로 판독된 32워드의 B18 모두를 병렬로 수신한다.
32 포트(20-1) 데이터 판독 사이클(r1.1 내지 r1.32)동안, 메모리 데이터 판독 사이클(r1.C)동안 메모리(26)로부터 판독된 워드들은 상호접속 매트릭스(22)를 통하여 포트(20-1)로 직렬로 전송된다. 예컨대, 데이터 판독 사이클(r1.1)동안 포트(20-1)를 통하여 전송될 제1 워드(W1)의 모든 비트는 매트릭스(22)를 통하여 서로 다른 m개의 버퍼(24)의 서로 다른 m개의 시프트아웃 레지스터로부터 동시에 직렬로 시프트되어, W1을 포트(20-1)에 제공한다. 또한, 데이터 판독 사이클(r1.31) 동안 포트(20-1)를 통하여 전송될 제31 워드(W31)의 모든 비트는 매트릭스(22)를 통하여 서로 다른 m개의 버퍼(24)의 서로 다른 m개의 시프트아웃 레지스터로부터 동시에 직렬로 시프트되어 W31을 포트(20-1)에 제공한다.
따라서, 소정의 포트에서 수신된 데이터가 메모리(26)에 기록되면, 상호접속매트릭스는 다수의 버퍼간에 데이터 워드 비트들을 분배하여 각 버퍼는 저장될 각 워드의 부분집합을 저장만 하도록 한다. 상기 바람직한 실시예에 있어서, 각 버퍼는 소정의 열의 비트만을 저장한다. 따라서, 각 버퍼는 메모리에 동시에 전송될 모든 데이터의 부분집합을 버스(32)에 제공하기만 하면 된다.
역으로, 메모리로부터 판독된 데이터가 소정의 포트로 출력되어야 할 때, 상호접속 매트릭스는 다수의 버퍼간에 배분된 비트들을 재결합하여 이들을 일련의 완성된 워드(또는 버스트)로서 출력하도록 한다. 포트를 통하여 전송될 전체 데이터는 메모리로부터 병렬로 출력되어 버퍼로 입력된다. 그러나, 각 버퍼는 상기 전체 데이터의 부분집합을 수신한다. 상호접속 매트릭스(22)는 상기 부분집합을 데이터 워드의 버스트로 재결합시킨다.
제9도의 타이밍도는 제7도의 이중 레지스터쌍의 동작을 도시하고 있다.
P.WRITE 펄스동안, 메모리 데이터 사이클(rX.c)동안 공용 메모리로부터 판독된 데이터는 시프트아웃 레지스터(38)에 병렬로 기록된다. 각 SHIFT-OUT 펄스동안, 단일 비트가 시프트아웃 레지스터로부터 상호 접속 매트릭스(22)로 시프트아웃되어 각 포트로 전송된다. 예컨대, 버퍼(24-1)에 대해 각 SHIFT-OUT 펄스는 제8도의 r1.X 펄스에 해당한다. 각 SHIFT-IN 펄스동안, 데이터의 단일 비트는 시프트인 레지스터로 시프트인된다. 예컨대, 버퍼(24-1)에 대해 각 SHIFT-IN 펄스는 제8도의 w1.X펄스에 해당한다. P.READ 펄스동안, 시프트인 레지스터로 시프트인된 모든 데이터는 병렬로 판독하여, w1.C 사이클동안 공용 메모리(26)에 기록되도록 한다.
본 실시예에 있어서, 공용 메모리(26)는 메모리폭이 (n×m)인 표준 랜덤액세스 메모리(RAM) 구조일 수 있다. 따라서, 상기 메모리는 메모리 액세스 버퍼(24)로 또는 상기 버퍼로부터 (n×m) 비트 데이터를 전송할 수 있으며, 제5도에 도시된 바와 같이 메모리의 주소지정된 하나의 위치에 (n×m) 비트 모두를 저장할수 있다. 본 실시예에 있어서, 포트로부터의 각 워드를 인접 비트로서 저장하기 보다 상기 워드는 "교환배치(interleaved)"되어, 모든 제1 열 = 열 비트(B1s)는 인접하여 저장되고 모든 제2 열 비트(B2s)가 다음에 기록되고, 그 다음도 이와 같다.
이러한 구조에서, 특정 포트(20)로부터 또는 상기 포트로의 n 워드를 나타내는 모든 비트는 공용 메모리(26)의 라인으로서 즉시 저장될 수 있다.
본 실시예에 있어서, 타임슬롯은 미리 할당된다. 그런데, 타임슬롯은 우선 순위에 기초하여 조정될 수 있다. 또한, 본 실시예에서 k개의 포트(20) 각각은 공용 메모리(26)와 통신하기 위해 단일 클록 사이클 타임슬롯을 필요로 하고 각 포트는 메모리 액세스 버퍼(24)로 또는 상기 버퍼로부터 n-워드 데이터 버스트 전체를 전송하기 위해 상기 타임슬롯이전에 n 클록 사이클을 필요로 하므로, 포트의 개수(k)와 동일한 버스트당 워드의 개수(n)를 설정하여 정체나 유휴시간없이 데이터를 전송하는 순조로운 순환처리를 제공하는 것이 효과적이다. 그러나, 포트 개수와 버스트당 워드 개수간의 관계는 본 발명의 범위를 벗어나지 않고 변할 수 있다.
제10도는 본 발명에 따른 32-포트 비동기 전송 모드(ATM)의 블록도이다. ATM은 고정된 크기의 패킷, 즉 셀을 사용하여 정보를 전송하는 페이로드(payload) 멀티플렉싱 기술이다. 본 실시예에 있어서, ATM 셀은 길이가 53바이트이며 경로 정보를 운반하는 5바이트 헤더 및 그 뒤에 이어지는 48바이트 정보 필드(페이로드)로 구성된다. 스위치를 개시시키는 각 ATM 셀의 페이로드는 공용 메모리의 특정 위치에 위치된다. ATM 셀 페이로드가 48바이트폭(바이트당 8비트)이므로, 공용 메모리는 384비트(48×4=384)이다. 상기 실행은 메모리 액세스 버퍼로부터 메모리로 12비트 포트 워드와 32워드의 포트 버스트를 갖는 32비트 버스를 갖도록 선택되었다. 384는 12×32와 같은데, 즉 셀이 12-비트 워드의 32-워드 버스트로 전송됨을 유의한다.
ATM 스위치는 포트로 수신된 각 셀을 각 셀에 포함된 경로 정보에 따라 행선 포트로 전달한다. 특히, 셀은 포트로부터 전달되어 공용 메모리에 저장된다. 상기 셀은 공용 메모리로부터 추출되어 셀에 표시된 행선 포트로 전송된다. 상기 방법에 있어서, 데이터는 포트사이에서 스위칭될 수 있다. 제어 메모리와 스위치 제어기의 동작은 당업자에 의해 이해될 것이며 본 명세서에서는 생략된다.
본 발명의 특정 실시예가 상세히 설명되었으나, 본 발명의 범위를 벗어나지 않고서 다양한 변형이 가능하다. 따라서, 상기된 설명에 의해 첨부된 청구범위에서 정의되는 본 발명에 의해 제한되지는 않는다.

Claims (28)

  1. 랜덤 액세스 메모리(RAM)(26)와 다수의 데이터 포트(20)를 포함하는 다중포트 메모리 시스템(18)에 사용되는 메모리 인터페이스에 있어서, 서로 다른 각 데이터 포트와 상기 RAM 사이에 전송되는 다수의 각 데이터 버스트 부분집합을 동시에 저장하는 다수의 저장소자를 각각 포함하는 다수의 버퍼(24)와, 각 데이터 포트와 상기 RAM 사이에 전송되는 소정의 데이터 버스트의 서로 다른 각 부분집합들이 서로 다른 각 버퍼들로 또는 상기 버퍼들로부터 전달되도록 각 데이터 포트를 상기 다수의 각 버퍼와 접속시키는 다수의 데이터라인을 포함하는 상호접속 회로(22)를 포함하는 것을 특깅으로 하는 메모리 인터페이스.
  2. 제1항에 있어서, 하나의 각 데이터 포트와 상기 RAM 사이에 전송되는 소정의 데이터 버스트의 서로 다른 각각의 부분 집합들은 서로 다른 각각의 데이터 라인들을 경유하여 서로 다른 각 버퍼들로 또는 버퍼들로부터 전송되는 것인 메모리 인터페이스.
  3. 제1항 또는 제2항에 있어서, 상기 각 버퍼들은 각각의 저장 소자들과 상기 RAM 사이를 연결할 수 있는 병렬 데이터 경로 회로를 포함하는 것인 메모리 인터페이스.
  4. 제3항에 있어서, 상기 각 저장 소자들을 상기 상호접속 회로로 그리고 상기 회로로부터 데이터 버스트 부분집합을 직렬로 전송하는 직렬 전송 회로를 포함하는 것을 특징으로 하는 메모리 인터페이스.
  5. 제4항에 있어서, 상기 직렬 전송 회로는 상기 상호접속 회로로 그리고 상호 접속 회로로부터 데이터 버스트 부분집합들을 한 번에 한 비트씩 직렬로 전송하는 것인 메모리 인터페이스.
  6. 제3항에 있어서, 상기 각 저장소자들은 각각 상기 상호접속 회로로부터 상기 각 데이터 버스트 부분집합을 직렬로 시프트인(shift-in)하는 시프트인 레지스터 회로 및 상기 상호접속 회로로 상기 각 데이터 버스트 부분집합을 직렬로 시프트아웃(shift-out)하는 시프트아웃 레지스터 회로를 포함하는 것을 특징으로 하는 메모리 인터페이스.
  7. 제3항에 있어서, 상기 각 저장소자들은 상기 상호접속 회로로부터 각 데이터 버스트 부분집합들을 직렬로 시프트인하고 상기 RAM으로 상기 데이터 버스트 부분집합을 병렬로 시프트아웃하는 직렬 시프트인/병렬 시프트아웃 레지스터 회로와, 상기 RAM으로부터 각 데이터 버스트 부분집합을 병렬로 시프트인하고 상기 상호접속 회로로 상기 데이터 버스트 부분집합을 직렬로 시프트아웃하는 병렬 시프트인/직렬 시프트아웃 레지스터를 포함하는 것을 특징으로 하는 메모리 인터페이스.
  8. 제7항에 있어서, 상기 각 병렬 데이터 경로 회로는 상기 각 직렬 시프트인/병렬 시프트아웃 레지스터 회로를 상기 RAM과 간헐적으로 접속시키고, 상기 병렬 시프트인/직렬 시프트아웃 레지스터 회로를 상기 RAM과 간헐적으로 접속시키는 것을 특징으로 하는 메모리 인터페이스.
  9. 랜덤 액세스 메모리(RAM)(26), 다수의 데이터 포트(20), 및 제3항에 따른 메모리 인터페이스를 구비하는 다중-포트 메모리 시스템(18).
  10. 제9항에 있어서, 소정의 데이터 버스트의 서로 다른 부분집합들을 저장하는 서로 다른 다수의 버퍼 및 상기 RAM 사이에 소정의 데이터 버스트의 모든 부분집합을 병렬로 동시 전송하는 것을 제어하는 제어신호를 제공하는 제어회로를 추가로 포함하는 다중 포트 메모리 시스템.
  11. 제10항에 있어서, 상기 제어회로는 상기 상호 접속 회로 및 서로 다른 각 버퍼들 사이의 데이터 버스트 부분 집합들의 전송을 제어하는 제어신호를 제공하는 것인 다중 포트 메모리 시스템.
  12. 제10항에 있어서, k개의 데이터 포트(20), n-워드 데이터 버스트들의 다수의 각 n-비트 부분 집합들을 동시에 저장하는 k개의 저장 소자를 각각 포함하는 m개의 버퍼(24)로서, 각 n-비트의 부분집합은 n개의 비트로 이루어지며 모든 n개의 비트 각각은 각 n-워드 데이터 버스트의 서로 다른 각 데이터 워드에서의 각각의 같은 비트 위치에 저장되는 것을 특징으로 하는 m개의 버퍼(24), 및 각 데이터 포트와 상기 RAM 사이에 전송되는 소정의 n-워드 데이터 버스트의 m개의 서로 다른 각 n-비트 부분집합이 m개의 서로 다른 각각의 버퍼들로 또는 상기의 버퍼들로부터 전달되도록 각 데이터 포트를 서로 다른 각m개의 버퍼에 상호 접속시키는 상호 접속 회로의 데이터 라인들을 포함하는 다중 포트 메모리 시스템.
  13. 제12항에 있어서, k=m인 다중 포트 메모리 시스템.
  14. 랜덤 액세스 메모리(RAM)(26), k개의 데이터 포트(20), 각 데이터 포트들을 통하여 전송된 데이터 버스트들을 각 데이터 버스트의 서로 다른 데이터 워드에서의 동일한 비트 위치에 저장되는 n개의 비트를 각각 포함하는 각 n-비트 데이터 버스트 부분집합으로 분할하는 수단, 각 데이터 포트와 상기 RAM으로 또는 이들로부터 전송되는 각 데이터 버스트의 서로 다른 데이터 버스트 부분집합들을 서로 다른 버퍼수단내의 서로 다른 저장소자 수단에 일시적으로 저장하는 k개의 저장소자 수단을 각각 포함하는 m개의 버퍼 수단들, 및 각 데이터 포트의 하나와 상기 RAM으로 또는 이들로부터 전송되는 각 데이터 버스트의 서로 다른 데이터 버스트 부분집합 모두를 서로 다른 버퍼 수단의 서로 다른 저장소자 수단과 상기 RAM 사이에 병렬로 전송하는 수단을 각각 포함하는 것을 특징으로 하는 다중포트 메모리 시스템.
  15. 제14항에 있어서, k = m인 다중포트 메모리 시스템.
  16. 제1항 또는 제2항에 있어서, 상기 인터페이스 회로는 인쇄 배선 회로 기판을 포함하는 것인 메모리 인터페이스.
  17. 워드당 m 비트를 포함하는 n-워드 데이터 버스트들을 k개의 데이터 포트와 랜덤 액세스 메모리(RAM)사이에 전송하는 방법에 있어서, 각 데이터 포트들을 통하여 전송된 데이터 버스트들을 각 데이터 버스트의 서로 다른 데이터 워드들에서의 동일한 각 비트 위치에 저장된 n개의 각 비트들을 포함하는 각 데이터 버스트 부분집합으로 분할하는 단계, k개의 저장소자를 각각 포함하는 m개의 버퍼를 제공하는 단계, 각 데이터 포트와 상기 RAM사이애 전송되는 데이터 버스트의 서로 다른 데이터 버스트 부분집합들을 서로 다른 버퍼내의 서로 다른 저장소자들에 일시적으로 저장하는 단계, 및 각 데이터 포트의 하나와 상기 RAM으로부터 또는 이들로 전송되는 각 데이터 버스트의 서로 다른 데이터 버스트 부분집합 모두를 서로 다른 버퍼의 저장소자들과 RAM 사이에 병렬로 전송하는 단계를 포함하는 것을 특징으로 하는 n-워드 데이터 버스트들 전송 방법.
  18. 제17항에 있어서, k = m인 방법.
  19. 제17항 또는 제18항에 있어서, 각각의 상기 데이터 버스트 부분집합은 n 비트를 포함하는 것인 방법.
  20. 제17항 또는 제18항에 있어서, 각 데이터 포트의 하나와 상기 RAM으로 또는 이들로부터 전송되는 각 데이터 버스트의 각 데이터 버스트 부분집합들을 상기 각 데이터 포트와 서로 다른 버퍼내의 서로 다른 저장소자들 사이에 직렬로 전송하는 단계를 추가로 포함하는 방법.
  21. 제20항에 있어서, 각 데이터 포트의 하나와 상기 RAM으로 또는 이들로부터 전송되는 각 데이터 버스트의 각 데이터 버스트 부분집합들을 상기 각 데이터 포트와 서로 다른 버퍼내의 서로 다른 저장소자들 사이에서 한 번에 한 비트씩 직렬로 전송하는 단계를 추가로 포함하는 방법.
  22. (삭제)
  23. (삭제)
  24. (삭제)
  25. (삭제)
  26. (삭제)
  27. (삭제)
  28. (삭제)
KR1019960700802A 1993-08-19 1994-08-17 다중-포트 공용 메모리 인터페이스 및 관련 방법 Expired - Fee Related KR100303574B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08-109805 1993-08-19
US08/109,805 US5440523A (en) 1993-08-19 1993-08-19 Multiple-port shared memory interface and associated method
PCT/US1994/009364 WO1995005635A1 (en) 1993-08-19 1994-08-17 Multiple-port shared memory interface and associated method

Publications (2)

Publication Number Publication Date
KR960704271A KR960704271A (ko) 1996-08-31
KR100303574B1 true KR100303574B1 (ko) 2001-11-22

Family

ID=22329660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960700802A Expired - Fee Related KR100303574B1 (ko) 1993-08-19 1994-08-17 다중-포트 공용 메모리 인터페이스 및 관련 방법

Country Status (9)

Country Link
US (1) US5440523A (ko)
EP (1) EP0714534B1 (ko)
JP (1) JP3241045B2 (ko)
KR (1) KR100303574B1 (ko)
AT (1) ATE182700T1 (ko)
AU (1) AU682211B2 (ko)
CA (1) CA2168666C (ko)
DE (1) DE69419760T2 (ko)
WO (1) WO1995005635A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732041A (en) * 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
US5802287A (en) * 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
AU3412295A (en) * 1994-09-01 1996-03-22 Gary L. Mcalpine A multi-port memory system including read and write buffer interfaces
US5696991A (en) * 1994-11-29 1997-12-09 Winbond Electronics Corporation Method and device for parallel accessing data with optimal reading start
US5808487A (en) * 1994-11-30 1998-09-15 Hitachi Micro Systems, Inc. Multi-directional small signal transceiver/repeater
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
US6185222B1 (en) * 1995-09-28 2001-02-06 Cisco Technology, Inc. Asymmetric switch architecture for use in a network switch node
US5617555A (en) * 1995-11-30 1997-04-01 Alliance Semiconductor Corporation Burst random access memory employing sequenced banks of local tri-state drivers
JP3603440B2 (ja) 1996-01-12 2004-12-22 富士通株式会社 半導体記憶装置
US5724358A (en) * 1996-02-23 1998-03-03 Zeitnet, Inc. High speed packet-switched digital switch and method
US6373846B1 (en) 1996-03-07 2002-04-16 Lsi Logic Corporation Single chip networking device with enhanced memory access co-processor
US5959993A (en) * 1996-09-13 1999-09-28 Lsi Logic Corporation Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture
US5831980A (en) * 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US5924117A (en) * 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
US6487207B1 (en) * 1997-02-26 2002-11-26 Micron Technology, Inc. Shared buffer memory architecture for asynchronous transfer mode switching and multiplexing technology
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
US6170046B1 (en) 1997-10-28 2001-01-02 Mmc Networks, Inc. Accessing a memory system via a data or address bus that provides access to more than one part
US6590901B1 (en) * 1998-04-01 2003-07-08 Mosaid Technologies, Inc. Method and apparatus for providing a packet buffer random access memory
US6307860B1 (en) 1998-04-03 2001-10-23 Mmc Networks, Inc. Systems and methods for data transformation and transfer in networks
US7126137B2 (en) * 1998-05-05 2006-10-24 Carl Zeiss Smt Ag Illumination system with field mirrors for producing uniform scanning energy
US6650637B1 (en) * 1998-12-14 2003-11-18 Lucent Technologies Inc. Multi-port RAM based cross-connect system
DE19936080A1 (de) * 1999-07-30 2001-02-15 Siemens Ag Multiprozessorsystem zum Durchführen von Speicherzugriffen auf einen gemeinsamen Speicher sowie dazugehöriges Verfahren
DE19937176A1 (de) * 1999-08-06 2001-02-15 Siemens Ag Multiprozessor-System
WO2001026309A1 (en) * 1999-10-06 2001-04-12 Tenor Networks, Inc. Hierarchical output-queued packet-buffering system and method
US6850490B1 (en) 1999-10-06 2005-02-01 Enterasys Networks, Inc. Hierarchical output-queued packet-buffering system and method
DE19961138C2 (de) * 1999-12-17 2001-11-22 Siemens Ag Multiport-RAM-Speichervorrichtung
US6560160B1 (en) * 2000-11-13 2003-05-06 Agilent Technologies, Inc. Multi-port memory that sequences port accesses
US6842837B1 (en) * 2001-02-13 2005-01-11 Digeo, Inc. Method and apparatus for a burst write in a shared bus architecture
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
US7769942B2 (en) 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
WO2008014413A2 (en) * 2006-07-27 2008-01-31 Rambus Inc. Cross-threaded memory device and system
US8234425B1 (en) 2007-06-27 2012-07-31 Marvell International Ltd. Arbiter module
US7949817B1 (en) 2007-07-31 2011-05-24 Marvell International Ltd. Adaptive bus profiler
US8131915B1 (en) 2008-04-11 2012-03-06 Marvell Intentional Ltd. Modifying or overwriting data stored in flash memory
US8683085B1 (en) 2008-05-06 2014-03-25 Marvell International Ltd. USB interface configurable for host or device mode
US8621159B2 (en) 2009-02-11 2013-12-31 Rambus Inc. Shared access memory scheme
US8423710B1 (en) 2009-03-23 2013-04-16 Marvell International Ltd. Sequential writes to flash memory
US8213236B1 (en) 2009-04-21 2012-07-03 Marvell International Ltd. Flash memory
US8688922B1 (en) 2010-03-11 2014-04-01 Marvell International Ltd Hardware-supported memory management
US8756394B1 (en) 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
JP5229922B2 (ja) * 2010-11-08 2013-07-03 ルネサスエレクトロニクス株式会社 情報処理システム
US9343124B1 (en) * 2011-07-29 2016-05-17 Altera Corporation Method and system for operating a multi-port memory system
CN107562549B (zh) * 2017-08-21 2019-12-03 西安电子科技大学 基于片上总线和共享内存的异构众核asip架构

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
US4891794A (en) * 1988-06-20 1990-01-02 Micron Technology, Inc. Three port random access memory
US4888741A (en) * 1988-12-27 1989-12-19 Harris Corporation Memory with cache register interface structure
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5204841A (en) * 1990-07-27 1993-04-20 International Business Machines Corporation Virtual multi-port RAM
US5278967A (en) * 1990-08-31 1994-01-11 International Business Machines Corporation System for providing gapless data transfer from page-mode dynamic random access memories
JP2871967B2 (ja) * 1991-08-20 1999-03-17 日本電気アイシーマイコンシステム株式会社 デュアルポート半導体記憶装置
JPH05151769A (ja) * 1991-11-28 1993-06-18 Mitsubishi Electric Corp マルチポートメモリ

Also Published As

Publication number Publication date
JP3241045B2 (ja) 2001-12-25
DE69419760T2 (de) 2000-03-09
KR960704271A (ko) 1996-08-31
CA2168666A1 (en) 1995-02-23
WO1995005635A1 (en) 1995-02-23
AU682211B2 (en) 1997-09-25
JPH09502818A (ja) 1997-03-18
EP0714534A1 (en) 1996-06-05
ATE182700T1 (de) 1999-08-15
US5440523A (en) 1995-08-08
AU7600094A (en) 1995-03-14
DE69419760D1 (de) 1999-09-02
CA2168666C (en) 2001-06-12
EP0714534B1 (en) 1999-07-28

Similar Documents

Publication Publication Date Title
KR100303574B1 (ko) 다중-포트 공용 메모리 인터페이스 및 관련 방법
US7046673B2 (en) Method and apparatus for manipulating an ATM cell
KR100356447B1 (ko) 메모리인터페이스유닛,공유메모리스위치시스템및관련방법
US5548588A (en) Method and apparatus for switching, multicasting multiplexing and demultiplexing an ATM cell
US5802131A (en) Multiport serial access self-queuing memory switch
EP2629299A1 (en) Memory system and method with serial and parallel modes
US6920510B2 (en) Time sharing a single port memory among a plurality of ports
JP2677670B2 (ja) 2つのバス間における交差回路
US3991276A (en) Time-space-time division switching network
EP0673137A1 (en) Virtual interconnection memory
EP0351959A2 (en) Multi-channel controller
JP3598335B6 (ja) Atmセルを操作する方法及び装置
KR100330175B1 (ko) 에이티엠셀을조작하는방법및장치
JPS61184087A (ja) 時間スイツチ回路

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 19960216

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19990813

Comment text: Request for Examination of Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20010430

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20010712

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20010713

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20040708

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20051124

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20051124

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20070609