KR100335808B1 - 고속 네트워크 스위치 버스 - Google Patents

고속 네트워크 스위치 버스 Download PDF

Info

Publication number
KR100335808B1
KR100335808B1 KR1019990025395A KR19990025395A KR100335808B1 KR 100335808 B1 KR100335808 B1 KR 100335808B1 KR 1019990025395 A KR1019990025395 A KR 1019990025395A KR 19990025395 A KR19990025395 A KR 19990025395A KR 100335808 B1 KR100335808 B1 KR 100335808B1
Authority
KR
South Korea
Prior art keywords
fifo
cell
data
bus
receive
Prior art date
Application number
KR1019990025395A
Other languages
English (en)
Other versions
KR20000011350A (ko
Inventor
고데브라이언
파그넌비키
고팔라크리슈나나빈
Original Assignee
클라크 3세 존 엠.
내셔널 세미콘덕터 코포레이션
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 클라크 3세 존 엠., 내셔널 세미콘덕터 코포레이션 filed Critical 클라크 3세 존 엠.
Publication of KR20000011350A publication Critical patent/KR20000011350A/ko
Application granted granted Critical
Publication of KR100335808B1 publication Critical patent/KR100335808B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크 스위치가 입력 프레임 데이터를 셀로 분할한다. 각 셀이 소스 식별 필드를 포함한다. 대역폭의 유용성 및 셀 우선권에 기초하여, 상기 셀이 스위치 버스를 통하여 송신된다. 셀이 소스 식별 필드에 기초하여 발송된다. 네트워크 스위치가 스위치 버스를 모니터링함으로써 대역폭 사용을 결정한다. 프레임 개시 셀을 감지하면, 네트워크 스위치가 대역폭 카운터를 증가시킨다. 프레임 종료 셀을 감지하면, 네트워크 스위치가 엔트리를 감소 FIFO 에 추가한다. 스위치 버스 잠복 기간 후에, 네트워크 스위치가 감소 FIFO 로부터 엔트리를 제거하고 대역폭 카운터를 감소시킨다.

Description

고속 네트워크 스위치 버스{HIGH-SPEED NETWORK SWITCH BUS}
본 발명은 네트워크를 통하여 데이터를 교환하는 것에 관한 것이며, 특히 고속 네트워크 스위치 버스 상에서 대역폭을 배정하는 것에 관한 것이다.
네트워크는 통상적으로 컴퓨터 또는 다른 장치들을 상호 연결하는데 사용된다. 네트워크 컴퓨터의 수가 증가함에 따라, 네트워크 대역폭에 대한 요구도 증가하였다. 네트워크 스위치가 네트워크를 서브 네트워크 (sub-network) 로 분할하도록 동작한다. 1개의 서브 네트워크에 접속된 컴퓨터의 수가 적을수록, 서브 네트워크의 대역폭은 더 적은 컴퓨터 사이에서 공유된다. 하지만, 1개의 서브 네트워크 상의 컴퓨터가 다른 서브 네트워크 상의 컴퓨터와 통신할 필요가 있다. 네트워크 스위치가 2개의 서브 네트워크 사이의 통신 링크 (link) 를 제공하는 것을 담당한다. 네트워크 스위치가 2개의 개별 컴퓨터 사이에 또는 개별 컴퓨터와 서브 네트워크 사이에 통신 링크를 제공하도록 동작할 수도 있다.
서브 네트워크로서, 네트워크 스위치는 제한된 대역폭 용량만을 가진다. 다수의 컴퓨터가 네트워크 스위치를 사용하여 연결되면, 컴퓨터 대역폭의 합은 네트워크 스위치의 대역폭 용량을 크게 초과할 수도 있다.
정상적인 동작 중에, 컴퓨터 간의 통신은 서브 네트워크 내에서 발생할 수도 있다. 이러한 통신은 네트워크 통신으로부터 대역폭을 요구하지 않는다. 하지만, 최정점 동작 중에, 스위치 버스에 필요한 대역폭이 용량을 초과할 수도 있다. 그러한 기간 중에, 네트워크 스위치가 사용 가능한 대역폭을 배정하는방법을 결정해야 한다. 통신 데이터가 우선권 필드를 포함할 수도 있기 때문에, 상위 우선권 데이터는 하위 우선권 데이터 이전에 송신되어야 한다.
이러한 배정을 효과적으로 수행하기 위하여, 네트워크 스위치가 활성화된 통신의 개수를 모니터링하여야 한다. 그렇지 않으면, 그 네트워크 스위치는 사용 가능한 대역폭을 과사용하여 데이터를 손실할 수도 있다. 그러한 데이터 손실을 방지하기 위하여, 네트워크 스위치가 그 사용 가능한 대역폭이 완전히 사용되고 있는지 결정해야 한다. 만약 그렇다면, 네트워크 스위치가 수개의 현재 통신이 종료될 때까지 추가적인 통신을 지연시켜야 한다.
특히, 네트워크 스위치가 다른 프로토콜 (protocol) 하에서 동작하는 서브 네트워크를 상호 연결할 경우, 대역폭 사용의 효과적인 모니터링은 복잡한 문제를 제시한다. 통신 패킷 (packet) 의 시작부가 길이 필드를 포함한다. 길이 필드 및 송신 속도를 사용하여, 네트워크 스위치가 시간과 대역폭의 양측면에서 통신의 송신 요구 사항을 결정할 수 있다. 통신이 시작되면, 네트워크 스위치는 이러한 정보를 사용하여 그 대역폭 자원의 탑재를 모니터링한다.
예를 들어, 네트워크 스위치가 각 통신의 시간을 측정하여 종료 시점을 결정한다. 통신이 종료될 경우, 네트워크 스위치가 대역폭 자원을 다른 통신에 재배정할 수도 있다. 하지만, 개별적인 시간 측정기는 값비싼 펌웨어 (firmware) 를 요구한다.
대역폭의 배정 전에 통신이 대기하여야 하는 최대 시간을 버스 잠복기라 칭한다. 버스 잠복기를 최소화시키기 위하여, 네트워크 스위치는 통신을 서브 패킷 또는 셀로 분할할 수도 있다. 네트워크 스위치가 보다 긴 통신 대신에 한번에 단지 한 개의 서브 패킷을 송신할 것이다. 전체 통신의 종료 이후 대신에 서브 패킷의 종료 이후에 다른 통신이 버스 액세스에 주어지기 때문에, 이것은 버스 잠복기를 감소시킬 것이다. 이것이 버스 잠복기를 감소시키는 한편, 보다 작은 패킷으로 분할하는 것은 추가적인 오버헤드 (overhead) 를 필요로 한다. 예를 들어, 네트워크 스위치가 각각의 서브 패킷에 수신지 어드레스 (destination address) 를 부착하여 그들이 적절하게 발송되는 것을 보장한다. 네트워크 스위치도 서브 패킷이 적절하게 수신된 것을 보장하기 위하여 핸드셰이킹 (handshaking) 을 요구한다. 이러한 동작들은 다른 경우에 다른 통신에 배정될 수도 있는 스위치 대역폭을 소모한다.
따라서, 네트워크 스위치를 통하여 데이터를 송신하는 방법은 버스 잠복기를 최소화시키고 통신 데이터에 대역폭 배정을 최대화시키는 역할을 하도록 정해진다. 동시에, 네트워크 스위치가 대역폭이 현재 사용 가능하게 된 이후에 통신이 시작된다는 것을 보장하도록 동작하여야 한다. 이러한 목적으로, 상기 방법은 현재 대역폭 사용을 정확하게 모니터링하여야 한다. 상기 방법은 우선권에 기초하여 사용 가능한 대역폭을 배정하여야 한다. 이러한 모니터링 및 배정은 최소한의 펌웨어를 사용하여 구현되어야 한다.
도 1 은 스위치 버스에 의하여 접속된 2개의 데이터 교환기 (exchanger) 를 포함하는 스위치된 네트워크의 바람직한 실시예의 블록도.
도 2 는 프레임을 셀로 분할하는 바람직한 실시예의 블록도.
도 3 은 데이터 셀의 바람직한 실시예의 블록도.
도 4 는 발송 테이블 (routing table) 의 바람직한 실시예의 블록도.
도 5 는 네트워크로부터 패킷을 수신하는 도 1의 1개의 데이터 교환기의 바람직한 동작을 도시하는 플로우 차트.
도 6 은 스위치 버스를 통하여 셀을 수신하는 도 1의 1개의 데이터 교환기의 바람직한 동작을 도시하는 플로우 차트.
도 7 은 도 1 의 1개의 데이터 교환기, 수신 FIFO 및 복수의 포트의 바람직한 실시예의 블록도.
도 8 은 스위치 버스 대역폭의 바람직한 배정을 도시하는 그래프.
도 9 는 버스 인터페이스의 바람직한 실시예의 블록도.
도 10 은 셀을 버스 FIFO 상에 탑재하는 도 1 의 1개의 데이터 교환기의 바람직한 동작을 도시하는 플로우 차트.
도 11 은 대역폭 카운터를 증가시키는 도 9 의 버스 인터페이스의 바람직한실시예를 도시하는 플로우 차트.
도 12 는 감소 FIFO 의 바람직한 실시예를 도시하는 블록도.
도 13 은 대역폭 카운터를 감소시키는 도 9 의 버스 인터페이스의 바람직한 동작을 도시하는 플로우 차트.
도 14a 는 제 1 복수의 셀을 유지하는 것을 도시한 버스 FIFO 의 바람직한 실시예의 블록도이며, 도 14b 는 제 2 복수의 셀을 유지하는 것을 도시한 도 14a 의 버스 FIFO 의 블록도.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 네트워크 102a 및 102b : 패킷
104a 및 104b : 제 1 셀 110 : 제 1 데이터 교환기
112 및 162 : 외부 물리적 계층 118 : 교류 형식 필드
121 내지 133 및 171 내지 183 : 포트 134 : 수신 FIFO
138 : 버스 인터페이스 136 : 룩업 엔진 (look up engine)
140 : 버퍼 관리자 142 : 송신 FIFO
144 : 브로드캐스트 (broadcast) 버퍼 146 : 외부 메모리
150 : 스위치 버스
152 : 스위치 조정 (arbitration) 링크 160 : 제 2 데이터 교환기
182 : 수신지 어드레스 필드 포트 184 : 수신 FIFO
186 : 룩업 엔진 188 : 버스 인터페이스
190 : 버퍼 관리자 192 : 송신 FIFO
194 : 브로드캐스트 버퍼 196 : 외부 메모리
210 : 데이터 프레임 212 : 프리앰블 (preamble)
214 : SOF 필드 216 : 수신지 어드레스 필드
218 : 소스 어드레스 필드 220 : 필드
222 : 가변 길이 데이터 필드 223 : 종단 (EOF) 필드
310 : 셀 312 : 소스 정보 필드
314 : 데이터 필드 410 : 발송 테이블
430 : 열 (row) 420 : 소스 필드
422 : 수신지 필드 424 : 유효 필드
712 : 버스 FIFO 710 : FIFO 관리자
701 내지 713 : 포트 710 : FIFO 관리자
712a 및 712b : 버스 FIFO 810, 820 및 830 : 세그먼트
910, 912, 914 및 916 : 제 1 업 다운 카운터
930 : 전체 대역폭 카운트 (TOTAL-BW-CNT)
932 : LOPRI-BW-CNT 1210 : 감소 FIFO
1230 : 엔트리 1220 : 우선권 필드
1222 : 크기 필드 1224 : 형식 필드
1226 : 시간 필드
1412, 1414, 1420, 1422 및 1424 : 셀
본 발명의 1 실시형태에 따르면, 네트워크를 상호 연결하는데 적합한 네트워크 스위치가 복수의 포트, 수신 FIFO 및 스위치 버스를 포함한다. 복수의 포트가 네트워크로부터 프레임을 수신하고 상기 프레임을 셀로 분할시키도록 구성되며, 각 셀은 소스 포트 필드를 포함하도록 구성한다. 수신 FIFO 는 복수의 포트와 조작상으로 접속되고 상기 복수의 포트로부터 셀을 수신하도록 구성된다. 상기 스위치 버스 인터페이스가 상기 수신 FIFO 와 조작상으로 접속되며 상기 수신 FIFO 로부터 셀을 수신하고 스위치 버스를 통하여 상기 셀을 송신하도록 구성된다.
본 발명의 또 다른 실시형태에 따르면, 네트워크 장치를 상호 연결하는데 적합한 네트워크 스위치가 복수의 포트, 수신 FIFO 및 송신 FIFO 를 포함한다. 복수의 포트가 복수의 네트워크 장치와 데이터를 송수신하도록 구성된다. 상기 수신 FIFO 가 상기 복수의 포트로부터 데이터를 수신하도록 구성된다. 상기 송신 FIFO 가 상기 복수의 포트에 데이터를 송신하도록 구성된다. 상기 버스 인터페이스가 상기 수신 FIFO 및 상기 송신 FIFO 와 조작상으로 접속되고 스위치 버스를 모니터링하며 상기 스위치 버스를 통하여 데이터를 송수신하도록 구성된다. 상기 버스 인터페이스가 대역폭 카운터 및 감소 FIFO 를 포함한다. 상기 대역폭 카운터가 프레임 개시 필드의 감지 후에 증가하고 프레임 종료 필드의 감지 후에 감소하도록 구성된다. 상기 감소 FIFO 가 조작상으로 상기 대역폭 카운터와 접속된다. 상기 버스 인터페이스가 상기 감소 FIFO 상에 프레임 종료 데이터를 저장하고 상기 프레임 종료 데이터가 잠복 기간 중에 상기 감소 FIFO 상에 저장된 후에 상기 대역폭 카운터를 감소시키도록 구성된다.
본 발명의 또 다른 실시형태에 따르면, 프레임 데이터가 제 1 포트로부터 수신된다. 상기 프레임 데이터가 각각이 소스 포트 필드를 포함하는 셀로 분할된다. 상기 셀들은 스위치 버스를 통하여 송신된다. 상기 셀들은 상기 스위치 버스로부터 수신된다. 상기 데이터 셀이 상기 소스 포트 필드에 기초하여 제 2 포트로 발송된다.
도 1 은 제 1 데이터 교환기 (110) 및 제 2 데이터 교환기 (160) 을 포함하는 스위치된 네트워크 (100) 의 바람직한 실시예를 도시한다. 도시된 바와 같이, 데이터 교환기 (110 및 160) 각각은 패킷 데이터의 고속 발송을 가능케하는 수개의 기능 블록을 포함한다. 이러한 기능 블록은 제어기 또는 처리기와 같은 상업적으로 사용 가능한 소자를 사용하여 구현될 수도 있고, 여기서 기술된 기능을 수행하기 위하여 특별히 설계될 수도 있다.
데이터 교환기 (110) 및 데이터 교환기 (160) 각각은 외부 네트워크 장치에 연결하는데 수개의 포트를 제공한다. 보다 구체적으로는, 데이터 교환기 (110) 가 포트 (121 내지 133) (포트 (123 내지 131) 는 도시 생략) 를 제공하고 데이터 교환기 (160) 가 포트 (171 내지 183) (포트 (171 내지 181) 는 도시 생략) 를 제공한다. 포트 (121 내지 133) 각각은 외부 물리적 계층 (112) 에 연결한다. 도시된 바와 같이, 외부 물리적 계층 (112) 은 각 포트를 물리적 네트워크에 연결하도록 동작하는 단일 장치로 구비된다. 물리적 계층 (112) 은 또한 단일 포트를 네트워크에 연결하도록 동작하는 수개의 개별 장치로 구비된다. 물리적 계층 (112) 은 네트워크에 물리적 연결을 제공하고, 포트 (121 내지 133) 에 매체 독립적인 인터페이스 (media independent interface) 를 제공한다. 포트 (171 내지 183) 의 각각은 외부 물리적 계층 (162) 에 연결한다. 외부 물리적 계층 (162) 이 물리적 계층 (112) 과 동일한 기능을 제공한다. 각 포트 (121 내지 133 및 171 내지 183) 는 네트워크를 통하여 데이터를 송신 및 수신하는데 매체 액세스 제어 기능을 제공한다.
데이터 교환기 (110) 는 스위치 버스 (150) 및 스위치 조정 (arbitration) 링크 (152) 를 통하여 데이터 교환기 (160) 에 연결한다. 이하에서 설명하는 바와 같이, 데이터 교환기 (110) 에 의하여 포트를 통하여 수신된 패킷 데이터가 스위치 버스 (150) 을 통하여 데이터 교환기 (160) 에 송신될 수도 있다. 데이터 교환기 (160) 는 차례로 1개의 포트를 통하여 패킷 데이터를 송신할 수도 있다. 이러한 방법으로, 포트 (121 내지 131) 의 1개에 접속된 네트워크 장치가 포트 (171 내지 183) 의 1개에 접속된 장치에 데이터를 송신할 수도 있다. 유사하게, 포트 (171 내지 183) 의 1개에 접속된 네트워크 장치가 포트 (121 내지 133) 의 1개에 접속된 장치에 데이터를 송신할 수도 있다. 2개의 데이터 교환기만이 도시되더라도, 추가적인 데이터 교환기가 스위치 버스 (150) 및 스위치 조정 링크 (152) 를 통하여 접속될 수도 있다.
데이터 교환기 (110) 는 수신 FIFO (134), 송신 FIFO (142) 및 브로드캐스트 (broadcast) 버퍼 (144) 를 포함한다. 수신 FIFO (134) 는 포트 (121 내지 133) 의 각각에 접속하여 패킷 데이터를 수신한다. 수신 FIFO (134) 는 스위치 버스 (150) 를 통하여 데이터를 송신하기 전에 프레임 데이터의 임시 저장 장치를 제공한다.
송신 FIFO (142) 는 포트 (121 내지 133) 의 각각에 연결하여 유니캐스트 (unicast) 프레임 데이터를 송신한다. 송신 FIFO (142) 가 각 포트에 대한 개별 FIFO 를 포함한다. 송신 FIFO (142) 는 적절한 FIFO 를 통하여 유니캐스트 프레임 데이터의 수신지 어드레스를 사용함으로써 적절한 포트에 외부 메모리 (146) 로부터 데이터를 이동시킨다.
브로드캐스트 버퍼 (144) 는 포트 (121 내지 133) 의 각각에 연결하여 브로드캐스트 및 멀티캐스트 프레임 데이터를 송신한다. 브로드캐스트 버퍼 (144) 는 10Mb/s 및 100Mb/s FIFO 를 포함한다. 이러한 FIFO 도 외부 메모리 (146) 로부터 적절한 포트에 데이터를 이동시킨다.
버스 인터페이스 (138) 는 수신 FIFO (134) 로부터 스위치 버스 (150) 로 데이터를 전송한다. 버스 인터페이스 (138) 는 스위치 버스 (150) 을 통하여 데이터를 송신하는 저전압 고대역폭 드라이버를 제공한다. 버스 인터페이스 (138) 는 또한 스위치 버스 (150) 로부터 데이터를 판독한다. 버스 인터페이스 (138) 는 룩업 엔진 (look up engine) (136) 에 헤더 (header) 데이터를 제공하고, 프레임 데이터를 송신 버퍼 (142) 및 브로드캐스트 버퍼 (144) 에 프레임 데이터를 제공한다.
이하에서 보다 상세히 설명하는 바와 같이, 버스 인터페이스 (138) 는 룩업 엔진 (136) 을 액세스하여 스위치 버스로부터 데이터를 수용하고 발송 테이블을 유지할 것인가를 결정한다. 데이터가 수용되면, 버스 인터페이스 (138) 는 헤더데이터를 사용하여 버퍼 관리자 (140) 에 발송 지시를 내린다.
발송 지시에 기초하여, 버퍼 관리자 (140) 는 외부 메모리 (146) 에 데이터를 저장한다. 버퍼 관리자 (140) 는 또한 메모리 사용을 추적하고 외부 메모리 (146) 에서 큐 (queue) 를 제어한다. 큐는 혼잡한 포트에 대한 데이터를 저장하는데 사용된다.
데이터 교환기 (160) 는 데이터 교환기 (110) 와 동일한 방법으로 동작하는 기능 블록을 포함한다. 구체적으로, 데이터 교환기 (160) 는 수신 FIFO (184), 룩업 엔진 (186), 버스 인터페이스 (188), 버퍼 관리자 (190), 송신 FIFO (192), 브로드캐스트 버퍼 (194), 및 외부 메모리 (196) 를 포함한다. 이러한 블록들은 수신 FIFO (134), 룩업 엔진 (136), 버스 인터페이스 (138), 버퍼 관리자 (140), 송신 FIFO (142), 브로드캐스트 버퍼 (144), 및 외부 메모리 (146) 와 동일한 방법으로 각각 기능한다.
데이터 교환기 (110) 로부터 데이터 교환기 (160) 로 이동함에 따라, 단일 유니캐스트 패킷의 경로가 설명된다. 시작하기 위하여, 패킷 (102a) 이 외부 물리적 계층 (112) 에 의하여 수신된다. 동작이 적절하게 실행된다면, 제 1 패킷은 또 다른 패킷이 동일한 포트에 의하여 수신되기 전에 완전히 수신된다. 외부 물리적 계층 (112) 이 패킷 (102a) 을 매체 독립적인 인터페이스를 통하여 포트 (121) 에 제공되는, 프레임 데이터로 변환시킨다. 변환은 매체 종속적인 패킷을 니블 와이드 (nibble wide) NRZ 포맷으로 변환한다.
포트 (121) 는 프레임 경계기호 (delimeter) 의 시작 (SOF) 을 위한 입력 데이터를 모니터링한다. SOF 를 수신하면, 포트 (121) 는 프레임 데이터를 48 비트 셀로 분할한다. 그 셀들은 수신 FIFO (134) 에 전달된다. 수신 FIFO (134) 에서 셀의 수가 드레인 임계값을 초과하면, 그 셀들은 버스 FIFO 에 탑재된다. 버스 FIFO 가 드레인 임계값을 초과하면, 데이터 교환기 (110) 는 스위치 조정 링크 (152) 를 통하여 스위치 버스 요구를 나타낸다. 만약 조정이 되면, 스위치 버스 (150) 를 통하여 버스 FIFO 에 저장된 제 1 셀 (104a) 를 송신한다. 모든 셀이 송신될 때까지, 버스 FIFO 는 셀 송신을 계속한다.
데이터 교환기 (160) 는 스위치 버스 (150) 을 모니터링한다. 룩업 엔진 (186) 은 제 1 셀 (104b) 을 분석하여 수신지 어드레스 필드가 포트 (171 내지 183) 에 접속된 장치와 일치하는지를 결정한다. 이 실시예에서, 룩업 엔진 (186) 은 수신지 어드레스 필드가 포트 (182) 에 접속된 장치와 일치하는지를 결정한다. 이에 대응하여, 룩업 엔진 (186) 은 데이터 교환기 (110) 에 일치 신호를 제공하고, 메모리 (196) 에서 버퍼를 보전하도록 버퍼 관리자 (190) 를 지시한다. 메모리 (196) 의 버퍼는 연속적인 메모리 위치에서 전체 프레임을 저장하기에 충분히 크다. 동일 프레임으로부터의 후속의 셀들이 수신됨에 따라, 버퍼 관리자 (190) 는 연속적인 메모리 장소에 셀들을 순차적으로 저장한다.
버퍼에 저장된 셀의 수가 드레인 임계값을 초과하면, 그 데이터는 송신 FIFO (192) 에 전달된다. 또, 송신 FIFO (192) 는 포트 (171 내지 183) 의 각각에 대한 개별 FIFO 를 포함한다. 포트 (182) 와 연관된 송신 FIFO 에 데이터가 제공된다. 포트 (182) 에 연관된 송신 FIFO 는 48비트 폭의 데이터를 니블와이드 데이터로 변환시킨다. 이 데이터는 매체 독립적인 인터페이스를 통하여 물리적 계층 (162) 에 제공된다. 물리적 계층 (162) 는 네트워크 연결을 통하여 송신되는 데이터를 패킷 (102b) 으로 변화시킨다.
브로드캐스트 또는 멀티캐스트 패킷은 유사한 데이터 흐름을 가진다. 버퍼 관리자 (190) 는 메모리 (196) 내의 연속적인 메모리 위치로 그 셀 데이터를 저장한다. 메모리 (196) 에 저장된 셀의 수가 드레인 임계값을 초과하면, 그 데이터는 송신 FIFO (192) 대신에 브로드캐스트 버퍼 (194) 로 전달된다. 또한, 브로드캐스트 버퍼 (194) 가 10Mb/s 버퍼 및 100Mb/s 버퍼를 포함한다. 이러한 버퍼의 양자가 포트 (171 내지 183) 에 데이터를 제공한다. 외부의 물리적인 계층 (162) 에 기초하여, 각각의 포트는 매체 독립적인 인터페이스를 통하여 10Mb/s 또는 100Mb/s 데이터 중 1개를 물리적 계층 (162) 에 제공한다. 물리적인 계층 (162) 이 데이터를 각각의 네트워크 연결을 통하여 송신되는 패킷으로 변환한다.
또 다른 바람직한 실시예에서, 데이터 교환기는 스위치 버스를 통하여 수신된 모든 패킷 데이터가 룩업 엔진을 통하여 전달되도록 구성된다. 룩업 엔진이 패킷 데이터 및 제어 신호를 다른 모듈에 제공한다.
도 2 를 참조하여, 포트 (121 내지 133) 가 프레임 데이터를 셀로 분할하는 바람직한 공정이 설명된다. 데이터 프레임 (210) 은 프리앰블 (preamble) (212), SOF 필드 (214), 수신지 어드레스 필드 (216) 및 소스 어드레스 필드 (218) 로서 시작한다. 데이터 프레임 (210) 도 우선권, 형식, 길이 또는 다른 데이터를 포함할 수도 있는 필드 (220) 을 포함한다. 데이터 프레임 (210) 은 또한 가변 길이 데이터 필드 (222) 및 프레임 경계부호의 종단 (EOF) 필드 (223) 를 포함한다.
프레임이 포트를 통하여 수신되면서, 그 프레임이 48 비트 폭의 셀로 분할된다. 예를 들어, 데이터 프레임 (210) 은 셀 (C1, C2, ..., CN) 로 분할된다. 제 1 셀 (C1) 은 수신지 어드레스 필드 (216) 을 포함하지만, 후속의 셀 (예를 들면, C2, ..., CN) 은 그렇지 않다. 통상적으로, 수신지 어드레스 필드가 네트워크로 하여금 데이터를 적절한 목적에 발송하도록 허용한다. 하지만, 후속의 셀들이 수신지 어드레스 필드를 포함하지 않기 때문에, 후속의 셀들은 수신지 어드레스 필드에 기초하여 발송될 수 없다. 이하에서 보다 상세히 설명하는 바와 같이, 소스 포트 식별자 (identifier) 는 그 셀에 부착된다. 그 셀들은 소스 포트 식별자에 기초하여 발송된다.
도 3 을 참조하여, 셀 (310) 이 도시된다. 셀 (310) 은 소스 정보 필드 (312) 및 데이터 필드 (314) 를 포함한다. 바람직한 실시에에서, 각 데이터 교환기가 최대 13개의 포트를 가지며 최대 13개의 데이터 교환기가 스위치 버스를 통하여 함께 종속 접속될 수도 있다. 따라서, 포트의 최대 개수가 156개이고, 8 비트의 소스 정보 필드 (312) 는 각 소스 포트를 독자적으로 식별하기에 충분하다. 소스 정보 필드 (312) 도 소스 포트에 관련한 속도 및 형식 정보를 포함한다. 속도 정보는 소스 포트가 10Mb/s, 100Mb/s 또는 다른 속도에서 동작하는지를 식별한다. 형식 정보는 그 셀이 ATM OC3 프레임, ATM OC12 프레임, 보전(reserve) 프레임, 또는 또 다른 프레임의 부분인지를 지시한다. 데이터 필드 (314) 가 도 1 로부터의 셀 (C1, ..., CN) 중의 1개와 같은 프레임의 48 비트 부분을 포함한다.
상기에서 언급한 바와 같이, 입력 프레임 데이터가 셀로 분할되고 수신 FIFO 상에 위치된다. 셀은 스위치 버스를 통하여 송신되고, 또 다른 데이터 교환기에 의하여 수신된다. 셀을 수신하는 한편, 데이터 교환기는 소스 식별 필드를 프레임 수신지와 연관시키는 발송 테이블을 유지한다. 제 1 셀만이 수신지 어드레스 필드를 가지기 때문에, 발송 테이블은 데이터 교환기가 수신지 어드레스 필드를 가지지 않는 후속 셀을 적절하게 발송시킬 수 있도록 한다.
도 4 를 참조하여, 발송 테이블 (410) 의 바람직한 실시예가 도시된다. 그 테이블은 열 (row) (430) (E1 내지 EN) 로 도시된 복수의 엔트리를 포함한다. 각 열 (430) 은 소스 필드 (420), 수신지 필드 (422) 및 유효 필드 (424) 로 분할된다. 초기화에서, 모든 열 (430) 의 유효 필드 (424) 는 그 엔트리가 무효인 것을 지시하는 0으로 설정된다. 그 스위치 버스를 모니터링하는 한편, 데이터 교환기는 그 포트의 1개에 접속된 장치의 어드레스와 일치하는 수신지 어드레스 필드를 가지는 제 1 셀을 감지할 수도 있다. 이러한 것이 발생하면, 데이터 교환기는 셀을 수신하고 그 테이블 (410) 을 갱신한다. 구체적으로, 데이터 교환기는 무효 열을 선택한다. 데이터 교환기는 그 셀의 소스 포트 ID 및 수신지 포트 ID 를 소스 필드 (420) 및 수신지 필드 (422) 로 각각 탑재한다. 선택적으로, 데이터 교환기는 셀의 수신지 어드레스 필드를 수신지 필드 (422) 로 탑재하지만, 이것은 수신지 포트 ID 보다 더 많은 메모리를 요구한다. 데이터 교환기는 유효 필드 (430) 을 설정한다.
후속 셀이 수신지 어드레스 필드를 포함하지 않더라도, 데이터 교환기는 소스 정보 필드 (312) 를 모니터링함으로써 셀을 적절하게 발송할 수 있다. 데이터 교환기가 유효 테이블 엔트리의 소스 필드 (420) 와 일치하는 소스 ID 를 가지는 셀을 감지하면, 그 셀은 수용되며 수신지 필드 (422) 에 따라서 발송된다. 데이터 교환기가 그 셀이 EOF 를 포함하는 것을 감지하면, 데이터 교환기는 그 테이블 엔트리를 무효화한다.
스위치 버스를 통하여 셀을 송신하고 스위치 버스를 통하여 셀을 수신하는 데이터 교환기의 동작이 도 5 및 6 을 참조하여 각각 설명된다. 도 5 를 참조하여, 포트로부터 프레임을 수신하고 스위치 버스를 통하여 셀을 송신하는 데이터 교환기의 바람직한 동작이 설명된다. 데이터 교환기는 포트 중의 1개가 프레임을 수신하는 블록 510 에서 시작한다. 블록 512 에서, 데이터 교환기는 프레임을 셀로 분할하며 그 소스 정보 필드를 부착한다. 블록 514 에서, 데이터 교환기는 수신 FIFO 상으로 셀을 탑재한다. 블록 516 에서, 데이터 교환기는 스위치 버스를 통하여 제 1 셀을 송신한다. 블록 518 에서, 데이터 교환기는 수신 FIFO 상에 추가적인 셀이 있는지를 테스트한다. 수신 FIFO 상에 추가적인 셀이 있으면, 데이터 교환기는 블록 516 으로 복귀하여 다음 셀을 송신한다. 그렇지 않고 추가적인 셀이 없으면, 그 공정은 블록 520 에서 종료한다. 또 다른 패킷이 수신되면, 그 공정은 다시 블록 510 에서 시작한다.
프레임 데이터의 수신 공정이 단일 포트를 참조하여 설명되더라도, 데이터 교환기는 상이한 포트로부터 수신 FIFO 상으로 셀을 동시에 탑재한다. 이 공정은 도 7 을 참조하여 보다 더 설명되지만, 정상적인 동작중에 1개의 포트는 한 번에 1개의 프레임만을 수신할 것이다. 부언하면, 제 1 프레임이 완전히 수신될 때 까지, 1개의 포트는 제 2 프레임을 수신하지 않을 것이다.
도 6 을 참조하여, 스위치 버스를 통하여 셀을 수신하고 포트를 통하여 프레임을 송신하는 데이터의 바람직한 동작이 설명된다. 데이터 교환기는 데이터 교환기가 제 1 셀에 대한 스위치 버스를 모니터링하는 블록 (610) 에서 시작한다. 제 1 셀은 수신지 어드레스 필드 및 소스 포트 ID 양자를 포함할 것이다. 데이터 교환기가 제 1 셀을 감지하지 않으면, 데이터 교환기는 그 스위치 버스를 모니터링하는 것을 계속한다.
다른 한편, 블록 612 에서, 데이터 교환기는 수신지 어드레스 필드가 그 포트의 1개에 접속된 장치의 어드레스와 일치하는지를 결정한다. 만약 그렇지 않으면, 데이터 교환기는 블록 610 으로 복귀하여 후속하는 제 1 셀을 모니터링한다. 만약 그렇다면, 블록 614 에서, 데이터 교환기가 그 발송 테이블을 갱신한다. 구체적으로는, 데이터 교환기가 그 소스 ID 를 무효 소스 포트에 탑재하며 그 수신지 ID 를 연관된 수신지 필드에 탑재하고, 연관된 유효 필드를 1 로 설정한다.
블록 (616) 에서, 데이터 교환기가 입력 프레임과 연관된 모든 셀을 지지하기에 충분한 버퍼를 배정하고 그 제 1 셀을 버퍼의 제 1 메모리 위치로 탑재한다.블록 (618) 에서, 데이터 교환기가 유효 발송 테이블 엔트리의 소스 필드와 일치하는 소스 ID 를 가지는 셀에 대한 스위치 버스를 지속적으로 모니터링한다. 데이터 교환기가 그러한 셀을 감지하면, 블록 (620) 에서 데이터 교환기는 연관된 버퍼의 다음 메모리 위치로 그 셀을 탑재한다. 이러한 방법으로, 단일 프레임과 연관된 순차적인 셀은 연관된 버퍼의 연속적인 메모리 위치에 저장될 것이다.
블록 (622) 에서, 데이터 교환기는 버퍼로 탑재되는 그 셀이 EOF를 포함하는지를 테스트한다. EOF 는 그 프레임의 마지막 셀이 수신된 것을 지시한다. 셀이 EOF 를 포함하지 않으면, 데이터 교환기는 블록 (618) 에 복귀하여 소스 포트 ID 의 일치를 지속적으로 모니터링한다. 셀이 EOF 를 포함하면, 데이터 교환기는 블록 (624) 로 진행한다. 여기서, 데이터 교환기는 그 셀을 버퍼로부터 적절한 송신 FIFO 로 이동시킨다. 그 프레임 데이터가 일치하는 수신지 어드레스를 가지는 장치에 접속된 포트로부터 송신된다.
이 프레임이 완전히 수신되기 때문에, 동일 소스 포트로부터의 후속 셀은 다른 수신지 어드레스에 지정될 수도 있다. 따라서, 발송 테이블은 그러한 후속 셀이 동일 포트에 발송되지 않도록 갱신될 필요가 있다. 따라서, 블록 (624) 에서, 데이터 교환기가 패킷 테이블에서 소스 ID를 지수화시키고 연관된 유효 비트를 0 으로 설정한다.
포트로부터 프레임 데이터를 수신하고 스위치 버스를 통하여 셀 데이터를 송신하는 상기 기술된 공정은 프레임을 송신하는데 요구되는 시간 대신에 셀을 송신하는데 요구되는 시간으로 잠복기를 한정한다. 또한, 셀을 발송하기 위한 소스 포트 ID의 사용은 스위치 버스 대역폭의 사용에 적정한 증가만을 발생시킨다. 그 증가는 전체 48 비트 수신지 어드레스를 각각의 셀에 부착함으로써 요구되는 것 보다 현저하게 낮다.
전술한 바와 같이, 1개의 포트가 단지 1개의 프레임을 수신하더라도, 각 데이터 교환기는 복수의 포트를 포함한다. 따라서, 데이터 교환기는 복수의 프레임을 동시에 수신할 수도 있다. 패킷들이 동시에 수신됨에 따라, 그것들은 동시에 셀로 분할되고 수신 FIFO 상에 위치된다. 따라서, 다른 패킷으로부터의 셀은 수신 FIFO 상에서 상호 혼합될 수도 있다. 이러한 셀이 FIFO 상에서 배열되고 후속적으로 스위치 버스를 통하여 송신되는 공정이 보다 자세히 설명된다.
도 7 을 참조하여, 수신 FIFO (134) 를 포함하는 데이터 교환기 (110) 의 바람직한 실시예가 설명된다. 도시된 바와 같이, 수신 FIFO (134) 가 버스 FIFO (712) 에 접속된 FIFO 관리자 (710) 을 포함한다. 포트 (121 내지 133) (포트 (123 내지 131) 도시 생략) 의 각각이 포트 (701 내지 713) (포트 (703 내지 711) 도시 생략) 의 각각을 포함한다. FIFO 관리자 (710) 도 포트 FIFO (721 내지 733) 에 접속된다. 프레임이 포트에 의하여 수신되면, 포트가 프레임을 셀로 분할하고 그 셀을 그 포트 FIFO 에 저장한다. FIFO 관리자 (710) 는 포트 (121 내지 133) 을 조사하여 어떤 포트가 버스 FIFO (712) 상에 위치될 셀을 가지고 있는지를 결정한다. FIFO 관리자 (710) 도 현재 송신을 대기하는 셀의 형식을 결정한다. 수신 FIFO (134) 가 다음 리스트에 따라서 대기 셀의 순서를 정한다;
1. 보전된 대역폭을 가지는 셀 또는 진행중인 셀 (예를 들어, 비 SOF 셀)
2. 고 우선 10Mb SOF 셀
3. 고 우선 100Mb SOF 셀
4. 저 우선 10Mb SOF 셀
5. 저 우선 100Mb SOF 셀.
그 포트를 조사한 후에, 그들의 우선권에 기초하여, 버퍼 관리자가 사용가능한 셀을 버스 FIFO (712) 상에 탑재한다. 따라서, 보전 대역폭을 가진 셀이 처음 탑재되고, 저 우선 100Mb SOF 셀이 마지막에 탑재될 것이다.
전술한 바와 같이, 156 개의 포트까지는 스위치 버스를 통하여 접속될 수도 있고, 각 포트는 100Mb/s 에서 통신하도록 구성될 수도 있다. 바람직한 실시예에서, 스위치 버스는 최대 2.4Gb/s 의 처리량을 가진다. 따라서, 포트 데이터 처리 용량의 합이 스위치 버스의 처리 용량을 훨씬 초과할 수도 있다. 관통 (cut-through) 모드에서 동작할 때, 대역폭 용량보다 더 많은 교류를 가지는 스위치 버스는 송신 FIFO 를 미달할 것이다. 부언하면, 송신 FIFO 에 저장된 셀이 적절한 포트를 통한 송신 이전에 중복 기입될 수도 있다. 따라서, 버퍼 관리자는 버스 FIFO 의 탑재를 제어하여 스위치 버스가 그 통신을 수용할 수만 있으면 포트 사이의 통신이 시작된다는 것을 확인시킨다.
또한, 네트워크 장치는 네트워크 대역폭을 보전할 수도 있다. 보전 대역폭은 네트워크 장치가 사용될 수 있는 상태로 항상 유지되어야 한다. 따라서, 탑재 제어가 보전 대역폭이 다른 통신에 의하여 소모되지 않는다는 것을 확인시켜야 한다.
제어를 탑재하는 바람직한 실시예가 설명된다. 도 8 을 참조하여, 대역폭 배정의 실시예를 설명하는 그래프가 도시된다. 스위치 버스의 사용가능한 전체 대역폭은 2.4Gb/s 이다. 세그먼트 (810) 는 특정 포트 교류에 보전되어 있는 전체의 부분을 도시한다. 도시된 바와 같이, 0.4Gb/s 는 보전되고 2.0Gb/s 는 고 및 저 우선 버스 교류를 위하여 유지된다. 세그먼트 (820) 는 고 우선 버스 교류에 사용될 수도 있는 대역폭의 부분을 도시한다. 이 부분은 보전되지 않는 완전한 2.0Gb/s 를 포함한다. 따라서, 고 우선 통신은 2.0Gb/s 상한을 초과할 수 없다. 동일하게, 고 및 저 우선 통신의 조합은 2.0Gb/s 상한을 초과할 수 없다. 세그먼트 (830) 는 저 우선 버스 교류를 위하여 사용되는 대역폭의 부분을 도시한다. 이 부분이 1.5Gb/s 를 포함한다. 따라서, 저 우선 통신이 1.5Gb/s 하한을 초과할 수 없다.
또한, 탑재 제어는 스위치 버스가 통신을 수용하기만 하면 통신이 시작되는 것을 확인시킬 수 있다. 탑재 제어는 또한 보전 대역폭이 적절한 포트에 보전되고, 통신이 그 적절한 한계를 초과하지 않는 것을 확인시켜야 한다. 따라서, 각각의 데이터 교환기가 스위치 버스 탑재를 모니터링한다. 데이터 교환기는 통신이 스위치 버스로 하여금 대역폭 한계를 초과하지 않도록 하면 통신이 시작되도록 탑재 제어를 실시한다.
도 9 를 참조하여, 대역폭 모니터링 회로를 포함하는 버스 인터페이스 (138) 의 바람직한 실시예의 블록도가 설명된다. 버스 인터페이스 (138) 은 4개의 제 1 업 다운 카운터 (910, 912, 914 및 916) 을 포함한다. SOF 필드를 포함하는고 우선 10Mb/s 의 셀을 감지하면, 버스 인터페이스 (138) 가 카운터 (910) 를 증가시킨다. EOF 필드를 포함하는 고 우선 10Mb/s 셀을 감지한 후에, 버스 인터페이스 (138) 가 카운터 (910) 를 감소시킨다. 유사하게, SOF 필드를 포함하는 고 우선 100Mb/s 셀을 감지하면 카운터 (912) 가 증가되고, EOF 필드를 포함하는 고 우선 100Mb/s 셀을 감지한 후에 카운터 (912) 가 감소된다. 고 우선 셀 대신에 저 우선 셀에 기초하여 증가되고 감소되는 것을 제외하고는, 카운터 (914 및 916) 는 각각 카운터 (910 및 912) 와 동일한 방법으로 기능한다.
100Mb/s 통신이 10Mb/s 통신보다 더 큰 대역폭을 소모한다. 따라서, SOF 필드를 감지하면, 100Mb/s 카운터 (912 및 916) 가 비례적으로 더 큰 값에 의하여 증가된다. 유사하게, EOF 필드를 감지하면, 이러한 카운터가 비례적으로 더 큰 값에 의하여 감소된다.
블록 922 은 카운터 (914) 의 값을 카운터 (916) 의 값에 추가하여 저 우선 대역폭 카운트 (LOPRI-BW-CNT) (932) 를 제공한다. 블록 920 은 카운터 (910 및 912) 의 값을 가진 블록 922 의 출력을 추가하여 전체 대역폭 카운트 (TOTAL-BW-CNT) (930) 를 제공한다.
보통의 10Mb/s 및 100Mb/s 셀에 추가하여, 데이터 교환기가 보전 셀을 송신할 수도 있다. 보전 셀에 대한 대역폭이 다른 형식의 통신에 배정될 수도 있다. 따라서, 보전 대역폭은 항상 보전 셀에 사용가능하다. 따라서, 보전 셀은 카운터를 증가하거나 감소하지 않는다.
또한, 데이터 교환기는 ATM 셀, 1000Mb/s 셀, 유료 (pay-as-you-go) 셀 및다른 형식의 셀을 송신할 수도 있다. 데이터 교환기 (138) 가 이러한 다른 형식의 셀 각각에 대하여 고 우선 및 저 우선 카운터를 유지할 것이다. 저 우선 카운트가 LOPRI-BW-CNT (932) 에 추가되고, 고 우선 카운트가 TOTAL-BW-CNT (930) 에 추가된다. 스위치 버스의 대역폭 탑재를 모니터링함으로써, 데이터 교환기 (138) 는 추가적인 통신을 시작할 수도 있는지 결정할 수 있다. 포트 (121 내지 133) 중의 1개가 프레임을 수신하면, 그 인터페이스는 스위치 버스가 현재 그 프레임을 송신하는데 사용가능한 충분한 대역폭을 가지고 있는지를 결정한다. 그렇다면, 그 프레임은 스위치 버스 (150) 를 통하여 송신하는 수신 FIFO (134) 상에 위치된다. 그렇지 않으면, 그 프레임은 대역폭이 사용가능해질 때까지 포트 FIFO 에 저장된다.
도 10 을 참조하여, (도 7 의 수신 FIFO (134) 와 같은) 수신 FIFO 의 바람직한 동작이 도시된다. 수신 FIFO 가 (도 9의) LOPRI-BW-CNT (932) 및 TOTAL-BW-CNT (930) 을 사용하여 입력 셀의 탑재에 대한 결정을 내린다. 수신 FIFO 는, 어느 포트가 버스 FIFO 상으로 위치될 준비가 된 보전 셀 또는 진행 프레임으로부터의 셀을 가지는지 결정하는 블록 1010 에서 시작한다. 블록 1012 에서, 수신 FIFO 가 그러한 보전 및 진행 셀을 버스 FIFO 상으로 탑재한다.
블록 1014 에서, 수신 FIFO 는 어느 포트가 버스 FIFO 상에 위치될 준비가 된 고 우선 10Mb/s SOF 셀을 가지는지를 결정한다. 블록 1016 에서, 수신 FIFO 가 사용가능한 고 우선 10Mb/s SOF 셀의 대역폭을 표시하는 카운트 (이하, HP-10-CNT) 를 계산한다. 수신 FIFO 가 이 카운트를 TOTAL-BW-CNT 의 현재값에 추가한다. 이 합계가 상한 (high-limit) 이하이면, 수신 FIFO 가 블록 1018 로 진행한다. 여기서, 수신 FIFO 가 사용가능한 고 우선 10Mb/s SOF 셀을 버스 FIFO 상으로 탑재한다.
블록 1020 에서, 수신 FIFO 는 어느 포트가 버스 FIFO 상에 위치될 준비가 된 고 우선 100Mb/s SOF 셀을 가지는지 결정한다. 블록 1022 에서, 수신 FIFO 가 사용가능한 고 우선 100Mb/s SOF 셀의 대역폭을 표시하는 카운트 (이하, HP-100-CNT) 를 계산한다. 수신 FIFO 가 이 카운트를 TOTAL-BW-CNT 및 HP-10-CNT 의 현재값에 추가한다. 이 합계가 상한 (HIGH-LIMIT) 이하이면, 수신 FIFO 가 블록 1018 로 진행한다. 여기서, 수신 FIFO 가 사용가능한 고 우선 10Mb/s SOF 셀을 버스 FIFO 상으로 탑재한다.
블록 1026 에서, 수신 FIFO 는 어느 포트가 버스 FIFO 상에 위치될 준비가 된 고 우선 10Mb/s SOF 셀을 가지는지 결정한다. 블록 1028 에서, 수신 FIFO 가 사용가능한 저 우선 100Mb/s SOF 셀의 대역폭을 표시하는 카운트 (이하, LP-100-CNT) 를 계산한다. 수신 FIFO 가 이 카운트를 LOWPRI-BW-CNT 의 현재값에 추가하여 저 우선 총합을 제공한다. 또한, 수신 FIFO 가 LP-10-CNT 를 TOTAL-BW-CNT, HP-10-CNT 및 HP-100-CNT 의 현재값에 추가하여 대역폭의 총합을 제공한다. 이 저 우선 총합이 하한 (LOW-LIMIT) 이하이고 대역폭의 총합이 상한 (HIGH-LIMIT) 이면, 수신 FIFO 가 블록 1030 으로 진행한다. 여기서, 수신 FIFO 가 사용가능한 저 우선 10Mb/s SOF 셀을 버스 FIFO 상으로 탑재한다.
블록 1032 에서, 수신 FIFO 는 어느 포트가 버스 FIFO 상에 위치될 준비가 된 저 우선 100Mb/s SOF 셀을 가지는지 결정한다. 블록 1034 에서, 수신 FIFO 가 사용가능한 저 우선 100Mb/s SOF 셀의 대역폭을 표시하는 카운트 (이하, LP-100-CNT) 를 계산한다. 수신 FIFO 가 이 카운트를 LOWPRI-BW-CNT 및 LP-10-CNT 의 현재값에 추가하여 저 우선 총합을 제공한다. 수신 FIFO 가 LP-100-CNT 를 TOTAL-BW-CNT, HP-10-CNT, HP-100-CNT 및 LP-10-CNT 의 현재값에 추가하여 대역폭의 총합을 제공한다. 이 총합이 하한 (LOW-LIMIT) 이하이고 대역폭의 총합이 상한 (HIGH-LIMIT) 이하이면, 수신 FIFO 가 블록 1036 으로 진행한다. 여기서, 수신 FIFO 가 사용가능한 저 우선 10Mb/s SOF 셀을 버스 FIFO 상으로 탑재한다.
블록 1016, 1022, 1028 또는 1032 의 1개에서, 수신 FIFO 가 사용가능한 셀에 의하여 요구되는 대역폭이 사용가능한 것을 초과하는 것을 결정하면, 수신 FIFO 가 블록 1040 으로 진행한다. 여기서, 수신 FIFO 가 적정 대역폭 한계를 초과하지 않고 사용가능한 셀의 1개가 송신될 수도 있는지를 결정한다. 만약, 그렇다면, 이러한 셀들은 버스 FIFO 상에 위치되고 수신 FIFO 는 블록 1010 에 복귀한다.
또 다른 바람직한 실시예에서, 사용가능한 셀이 버스 FIFO 상으로 탑재되고 버스 인터페이스가 조정된 후에 대역폭 임계값이 확인된다. 대역폭 확인이 임의의 셀에 실패하는 한편 대이터 교환기가 스위치 버스를 지배하면, 셀은 제거된다. 버스 인터페이스가 송신을 완료하고 더 이상 버스를 지배하지 않는 후에, 수신 FIFO 포인터가 재설정되어 임의의 제거된 셀은 다음 송신을 위하여 재탑재될 것이다.
도 11을 참조하여, 대역폭 카운터를 증가시키는 버스 인터페이스 (도 9 의 버스 인터페이스 (138) ) 의 바람직한 동작이 설명된다. 버스 인터페이스가 SOF 필드를 포함하는 셀에 대한 스위치 버스를 모니터링하는 블록 1110 에서 시작한다. 그러한 셀을 감지하면, 버스 인터페이스가 블록 1112 으로 진행한다. 여기서, 버스 인터페이스가 셀의 우선권을 결정한다. 버스 인터페이스가 보전 셀을 감지하면, 블록 1110 으로 복귀한다. 저 우선 셀을 감지하면, 블록 1116 으로 진행한다. 블록 1116 에서, 버스 인터페이스 (138) 가 그 증가량을 결정한다. 상기 설명한 바와 같이, 100Mb/s 셀이 10Mb/s 셀보다 비례적으로 더 큰 양으로 카운터를 증가한다. 따라서, 버스 인터페이스가 기대되는 대역폭의 사용에 기초하여 증가량을 결정한다. 그 증가량을 결정한 후에, 버스 인터페이스가 저 우선 카운터를 증가시키고 블록 1114 으로 진행한다.
블록 1114 에서, 버스 인터페이스가 고 우선 카운터를 증가시킨다. 블록 1116 에 설명된 바와 같이, 증가량이 결정된다. 버스 인터페이스가 블록 1110 으로 복귀하여 SOF 필드를 포함하는 다음 셀에 대하여 모니터링한다.
SOF 필드를 포함하는 셀에 대하여 조사하는 한편, 버스 인터페이스가 EOF 필드를 포함하는 셀에 대하여 모니터링한다. 이것들은 대역폭 카운터를 감소하는데 사용된다.
전술한 바와 같이, SOF 셀을 감지하면, 대역폭 카운터가 즉시 증가된다. SOF 셀이 대역폭을 사용하면서 이미 시작했기 때문에, 이것은 대역폭의 정확한측정을 유지한다. 하지만, EOF 셀을 감지하면, EOF 셀이 버스 대역폭을 현재 사용하고 있기 때문에 카운터는 즉시 감소되지 않을 수도 있다. 정확한 카운트를 유지하기 위하여, 버스 교환기는 대역폭 카운트를 감소시키기 전에 EOF 셀의 완료를 대기하여야 한다. 이러한 목적으로, 데이터 교환기가 감소 FIFO 를 유지한다. EOF 셀을 감지하면, 엔트리가 감소 FIFO 에 추가된다. 데이터 교환기가 감소 FIFO 를 모니터링하고, 버스 잠복 기간 후에 데이터 교환기가 FIFO 로부터의 엔트리를 제거하고 적절한 카운터를 감소시킨다.
도 12 를 참조하여, 감소 FIFO 의 바람직한 실시예가 도시된다. 감소 FIFO (1210) 가 복수의 엔트리 (1230) (E1 내지 EN) 를 포함한다. EOF 필드를 포함하는 셀을 수신하면, 세로운 엔트리가 감소 FIFO 에 추가된다. 각각의 엔트리 (1230) 가 우선권 필드 (1220), 크기 필드 (1222), 형식 필드 (1224) 및 시간 필드 (1226) 를 포함한다. 우선권 필드 (1220) 가 EOF 셀의 우선권을 지시한다. 크기 필드 (1222) 는 프레임이 전체 크기 프레임보다 작은지 여부 (크기 프레임의 1/4, 1/2 또는 3/4) 를 지시한다. 교류 형식 필드 (118) 가 프레임의 형식을 지시하도록 사용된다. 전술한 바와 같이, 카운터가 10Mb/s, 100Mb/s, ATM OC3, ATM OC12, 또는 다른 형식 셀에 대한 상이한 양에 의하여 증가된다. 시간 필드는 최종 EOF 셀 이후의 시간을 저장한다. 프레임이 FIFO 로부터 분리됨에 따라, 이 필드는 적절한 대역폭 카운터가 감소될 수 시기를 결정하도록 사용된다. EOF 셀을 감지하면, 데이터 교환기가 감소 FIFO 상에 새로운 엔트리를 위치시킨다.
도 13 을 참조하여, 대역폭 카운터를 감소시키는 데이터 교환기의 바람직한 동작이 설명된다. 블록 1310 에서, 스위치 버스가 휴지 (idle) 상태이고 데이터 교환기가 EOF 셀에 대하여 모니터링한다. EOF 셀을 감지하면, 데이터 교환기가 블록 1314 로 진행하고 감소 타이머 및 EOF-to-EOF 타이머를 시작한다. 제 1 엔트리가 감소 FIFO 상에 위치되면 감소 타이머가 우선 시작되고, 대역폭 카운터가 감소될 때마다 후속적으로 재설정된다. 새로운 엔트리가 감소 스택 (stack) 에 위치될 때마다 EOF-to-EOF 타이머가 재설정된다. EOF-to-EOF 타이머는 최종 EOF 셀 이후의 시간량을 유지한다.
블록 1316 에서, 데이터 교환기가 새로운 엔트리를 감소 FIFO 상으로 탑재한다. 전술한 바와 같이, 엔트리가 블록 1310 에서 수신된 EOF 셀에 관련된 정보를 포함한다. 시간 필드가 최대 버스 잠복기로서 탑재된다. 블록 1318 에서, 데이터 교환기가 추가적인 EOF 셀에 대한 모니터링을 계속한다. 1 이 감지되면 데이터 교환기가 블록 1326 으로 진행하고, 그렇지 않으면 데이터 교환기가 블록 1320 으로 진행한다. 블록 1326 에서, 데이터 교환기가 감소 FIFO 상으로 또 다른 엔트리를 탑재한다. 엔트리가, 직전에 수신된 EOF 셀에 관련된 정보를 포함하고, 시간 필드가 EOF-to-EOF 타이머의 현재값으로 탑재된다. 블록 1328 에서, EOF-to-EOF 타이머가 재설정되고 데이터 교환기가 블록 1320 으로 진행한다.
블록 1320 에서, 데이터 교환기가 감소 FIFO 상의 최초 엔트리의 시간 필드와 감소 타이머의 현재 값을 비교한다. 시간 필드가 감소 타이머보다 작으면, 데이터 교환기가 블록 1318 에 복귀한다. 그렇지 않으면, 블록 1322 에서, 데이터 교환기가 감소 타이머를 재설정한다. 블록 1324 에서, 데이터 교환기가 EOF FIFO 의 최초 엔트리를 제거한다. 이 엔트리에 기초하여, 데이터 교환기가 고 또는 저 우선 카운터 중의 1개를 감소한다. 블록 1325 에서, 데이터 교환기가 감소 FIFO 가 비어 있는지를 결정한다. 그렇다면 데이터 교환기가 블록 1310 으로 복귀하고, 그렇지 않으면 데이터 교환기가 블록 1318 로 복귀한다. 각각의 경우에, 동작은 전술한 바와 같이 진행한다.
데이터 교환기의 전술한 동작은 EOF 셀이 송신을 완료할 때까지 대역폭 카운터가 감소되지 않는 것을 확인한다. 또한, 이 동작이 각각의 데이터 교환기에 대하여 2개의 타이머만을 요구한다.
전술한 바와 같이, 수신 FIFO 가 대역폭 카운터를 사용하여 스위치 버스가 추가적인 통신을 시작하는데 사용가능한 충분한 대역폭을 가지고 있는지 결정한다. 대역폭의 사용가능성 및 프레임의 우선권에 기초하여, 셀이 스위치 버스를 통한 송신에 대하여 버스 FIFO 상으로 탑재된다.
우선권에 기초한 입력 셀을 배열하는 것에 추가하여, 수신 FIFO 도 소스 포트에 기초하여 셀을 배열한다. 제 1 탑재가 포트 (1) 로부터 포트 (13) 까지의 순서로 발생한다. 성공적인 송신 이후에, 성공적인 송신을 완료한 제 1 포트 이후의 1개의 포트로부터 시작되는 순서로 다음 탑재가 발생한다.
이러한 탑재가 도 14a 및 14b 에 도시된 실시예에 의하여 도시된다. 초기화에서, 포트 탑재 우선권은 다음과 같이 주어진다;
포 트 우 선 권
1 1
2 2
3 3
. .
. .
11 11
12 12
13 13.
따라서, 포트 (4, 8 및 9) 각각이 송신 준비된 셀을 가지고 있다는 것으로 지시하면, 그 셀들은 도 14a 에 도시된 바와 같이 버스 FIFO (712a) 상으로 탑재될 것이다. 포트 (4) 의 셀 (1410) 이 우선 탑재된다. 포트 (8) 의 셀 (1412) 가 그 다음에 탑재된다. 그리고 포트 (9) 의 셀 (1414) 이 최종 탑재된다. 그 셀들은 버스 FIFO (712a) 상에 탑재된 순서로 스위치 버스를 통하여 송신될 것이다. 성공적인 송신 이후에, 탑재 우선권이 포트 (4) 에 주어진다. 이 포트 탑재 우선권은 다음과 같이 주어진다;
포 트 우 선 권
5 1
6 2
. .
. .
12 8
13 9
1 10
2 11
3 12
4 13.
따라서, 포트 (3, 10 및 12) 각각이 송신 준비된 셀을 가지고 있는지를 지시하면, 그 셀들은 도 14b 에 도시된 바와 같이 버스 FIFO (712b) 상으로 탑재될 것이다. 포트 (10) 의 셀 (1420) 이 우선 탑재된다. 포트 (12) 의 셀 (1422) 이 그 다음에 탑재되고 포트 (3) 의 셀 (1424) 이 최종 탑재된다. 성공적인 송신 후에, 탑재 우선권이 포트 (6) 에 주어진다. 탑재 우선권이 후속 송신에 대하여 유사하게 구현된다.
스위치 버스가 많이 탑재된 기간 동안에, 데이터 교환기는 모든 사용가능한 셀을 송신할 수 없을 수도 있다. 탑재 우선권이 고정되면, 이러한 시간 동안에 최상위 우선권을 가진 포트만이 임의의 셀 데이터를 송신할 수 있을 것이다. 우선권을 교체함으로써, 스위치 버스 액세스가 포트 사이에서 균일하게 된다. 도 14a 및 14b 에 도시된 실시예가 고 우선권 10Mb/s SOF 셀을 참조하더라도, 동일한 균일화가 다른 셀 형식에도 적용된다.
이상에서 설명된 실시예가 특정한 구조를 가진 데이터 교환기를 참조하더라도, 본 발명은 본 발명의 사상에서 출발하지 않고도 다양한 다른 네트워크 스위치에서 구현될 수 있다. 그러한 다른 네트워크 스위치가 이상에서 설명된 기능 블록을 사용한 발명을 구현하거나 동일한 기능을 수행하기 위하여 다른 구성을 구현할 수도 있다. 당업자는 여기서 설명된 것으로부터 시작하지 않아도 다른 변형예가 가능하다는 것을 이상에서 개시된 실시예로부터 이해할 수 있을 것이다. 모든 실시예 및 모든 그러한 변형예가 이하의 청구항에 포함되도록 의도된다.

Claims (5)

  1. 네트워크로부터 프레임을 수신하고, 각각이 소스 포트 필드를 포함하는 셀로 상기 프레임을 분할하도록 구성되는 복수의 포트;
    상기 복수의 포트와 조작상으로 접속되고, 상기 복수의 포트로부터 상기 셀을 수신하도록 구성된 수신 FIFO ; 및
    상기 수신 FIFO 와 조작상으로 접속되고, 상기 수신 FIFO 로부터 상기 셀을 수신하며 상기 셀들을 스위치 버스를 통하여 송신하도록 구성된 스위치 버스 인터페이스를 구비하는 것을 특징으로 하는 네트워크를 상호 연결하는데 적합한 네트워크 스위치.
  2. 제 1 항에 있어서, 상기 수신 FIFO 가 수신 관리자 및 버스 FIFO 를 구비하고, 상기 수신 관리자가 셀의 우선권에 기초하여 상기 복수의 포트로부터 상기 버스 FIFO 로 셀의 전송을 조절하도록 구성된 것을 특징으로 하는 네트워크를 상호 연결하는데 적합한 네트워크 스위치.
  3. 복수의 네트워크 장치와 데이터를 송수신하도록 구성된 복수의 포트;
    상기 복수의 포트로부터 데이터를 수신하도록 구성된 수신 FIFO ;
    상기 복수의 포트에 데이터를 송신하도록 구성된 송신 FIFO ; 및
    상기 수신 FIFO 및 상기 송신 FIFO 와 조작상으로 접속되고, 스위치 버스를모니터링하며 상기 스위치 버스를 통하여 데이터를 송신 및 수신하는 버스 인터페이스를 구비하며,
    상기 버스 인터페이스가, 프레임 개시 필드를 감지한 후에 증가시키고 프레임 종료 필드를 감지한 후에 감소시키도록 구성된 대역폭 카운터, 및
    상기 버스 인터페이스가 상기 감소 FIFO 상에서 프레임 종료 데이터를 저장하고 상기 프레임 종료 데이터가 잠복 기간 동안 상기 감소 FIFO 상에 저장된 후에 상기 대역폭 카운터를 감소시키도록 구성된 감소 FIFO 를 구비하는 것을 특징으로 하는 네트워크를 상호 연결하는데 적합한 네트워크 스위치.
  4. 제 1 포트로부터 프레임 데이터를 수신하는 단계;
    상기 프레임 데이터를, 각각이 소스 포트 필드를 포함하고 있는 셀로 분할하는 단계;
    상기 셀을 스위치 버스를 통하여 송신하는 단계;
    상기 스위치 버스로부터 상기 셀을 수신하는 단계; 및
    상기 데이터 셀을 상기 소스 포트 필드에 기초하여 제 2 포트로 발송하는 단계를 구비하는 것을 특징으로 하는 네트워크 스위치를 통하여 데이터를 교환하는 방법.
  5. 스위치 버스를 통하여 프레임 개시 데이터를 수신하는 단계;
    상기 프레임 개시 데이터를 수신한 후에 대역폭 카운터를 증가시키는 단계;
    스위치 버스를 통하여 프레임 종료 데이터를 수신하는 단계;
    상기 프레임 종료 데이터를 수신한 후에 시간 필드를 포함하는 엔트리를 감소 FIFO 에 추가하는 단계; 및
    상기 엔트리를 상기 감소 FIFO 에 추가한 후 1번의 잠복 기간 후에 상기 대역폭 카운터를 감소시키는 단계를 구비하는 것을 특징으로 하는 네트워크 스위치를 통하여 데이터를 교환하는 방법.
KR1019990025395A 1998-07-01 1999-06-29 고속 네트워크 스위치 버스 KR100335808B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/108,846 1998-07-01
US09/108,846 US6421348B1 (en) 1998-07-01 1998-07-01 High-speed network switch bus
US9/108,846 1998-07-01

Publications (2)

Publication Number Publication Date
KR20000011350A KR20000011350A (ko) 2000-02-25
KR100335808B1 true KR100335808B1 (ko) 2002-05-08

Family

ID=22324395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990025395A KR100335808B1 (ko) 1998-07-01 1999-06-29 고속 네트워크 스위치 버스

Country Status (3)

Country Link
US (1) US6421348B1 (ko)
KR (1) KR100335808B1 (ko)
DE (1) DE19929516B4 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2797964B1 (fr) * 1999-08-23 2002-03-29 Thomson Csf Sextant Dispositif de controle securise de commutation de donnees
US7161945B1 (en) * 1999-08-30 2007-01-09 Broadcom Corporation Cable modem termination system
US6771654B1 (en) * 2000-01-24 2004-08-03 Advanced Micro Devices, Inc. Apparatus and method for sharing memory using a single ring data bus connection configuration
US6745246B1 (en) * 2000-01-28 2004-06-01 Advanced Micro Devices, Inc. Apparatus and method in a network switch for modifying a bandwidth request between a requestor and a router
US6981054B1 (en) * 2000-06-06 2005-12-27 Advanced Micro Devices, Inc. Flow control arrangement in a network switch based on priority traffic
US7266613B1 (en) 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
US7185082B1 (en) 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
US7260104B2 (en) * 2001-12-19 2007-08-21 Computer Network Technology Corporation Deferred queuing in a buffered switch
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US7103038B1 (en) 2001-07-02 2006-09-05 Juniper Networks, Inc. Systems and methods for converting a P packet/cycle datapath to a Q packet/cycle datapath
US7299280B2 (en) * 2001-10-17 2007-11-20 The Regents Of University Of California Method and apparatus for TCP with faster recovery
KR100485850B1 (ko) * 2002-03-07 2005-04-28 삼성전자주식회사 프로토콜 처리 장치 및 방법, 그리고 트래픽 처리 장치 및방법
US7725557B2 (en) 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
US6934776B2 (en) * 2002-07-16 2005-08-23 Intel Corporation Methods and apparatus for determination of packet sizes when transferring packets via a network
US7650421B2 (en) 2002-12-30 2010-01-19 Microsoft Corporation Adaptable accelerated content streaming
EP1450536A1 (en) * 2003-02-24 2004-08-25 STMicroelectronics Limited Routing of data streams
US20040268400A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Quick starting video content
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7391717B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
ES2293066T3 (es) * 2003-12-24 2008-03-16 Telefonaktiebolaget Lm Ericsson Linea de transmision de datos de multiples secciones en estacion base de radio y metodo de uso de dicha estacion base de radio.
KR100582554B1 (ko) * 2004-02-11 2006-05-22 한국전자통신연구원 통신과 방송의 융합 서비스를 위한 액세스 시스템
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US7600010B2 (en) * 2004-10-12 2009-10-06 Eaton Corporation Method of managing communication buffers employing an application framework for a plurality of communication layers and node employing the same
JP4396657B2 (ja) * 2006-03-16 2010-01-13 ソニー株式会社 通信装置及び送信制御方法及び送信制御プログラム
US10291503B2 (en) * 2013-09-26 2019-05-14 Taiwan Semiconductor Manufacturing Co., Ltd. File block placement in a distributed network
US20170093560A1 (en) * 2015-09-29 2017-03-30 Tektronix, Inc. Adaptive compensation for internal asymmetric delay in network based timing systems
CN116235469A (zh) * 2020-11-03 2023-06-06 华为技术有限公司 网络芯片和网络设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611321A (en) * 1983-08-04 1986-09-09 CSELT--Centro Studi e Laboratori Telecommunicazioni S.p.A. Variable-band distributed switching node with dynamic hybrid-frame processing
US6023472A (en) * 1996-07-08 2000-02-08 Lancast, Inc. High speed FD/HD data translator and network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303302A (en) * 1992-06-18 1994-04-12 Digital Equipment Corporation Network packet receiver with buffer logic for reassembling interleaved data packets
JP3014080B2 (ja) * 1994-12-28 2000-02-28 三菱電機株式会社 交換機アダプタ及び汎用計算機
EP0839420A4 (en) * 1995-07-19 2001-07-18 Fujitsu Network Communications ASSIGNED AND DYNAMIC BANDWIDTH MANAGEMENT
JP2833555B2 (ja) * 1995-10-31 1998-12-09 日本電気株式会社 優先制御方式
US5974466A (en) * 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US5781549A (en) * 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
JP3409966B2 (ja) * 1996-06-21 2003-05-26 株式会社日立製作所 パケット交換機およびパケット転送制御方法
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
JP3156623B2 (ja) * 1997-01-31 2001-04-16 日本電気株式会社 ファイバチャネルファブリック
US6198724B1 (en) * 1997-10-02 2001-03-06 Vertex Networks, Inc. ATM cell scheduling method and apparatus
US6151321A (en) * 1997-11-14 2000-11-21 Fore Systems, Inc. Method and system for sending ATM cells to an ATM network from a host

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611321A (en) * 1983-08-04 1986-09-09 CSELT--Centro Studi e Laboratori Telecommunicazioni S.p.A. Variable-band distributed switching node with dynamic hybrid-frame processing
US6023472A (en) * 1996-07-08 2000-02-08 Lancast, Inc. High speed FD/HD data translator and network

Also Published As

Publication number Publication date
KR20000011350A (ko) 2000-02-25
DE19929516B4 (de) 2008-07-17
US6421348B1 (en) 2002-07-16
DE19929516A1 (de) 2000-01-05

Similar Documents

Publication Publication Date Title
KR100335808B1 (ko) 고속 네트워크 스위치 버스
US6108306A (en) Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US6674750B1 (en) Apparatus and method for communicating time-division multiplexed data and packet data on a shared bus
US5918021A (en) System and method for dynamic distribution of data packets through multiple channels
US7042891B2 (en) Dynamic selection of lowest latency path in a network switch
US5561669A (en) Computer network switching system with expandable number of ports
CA2297650C (en) Networking systems
US5884040A (en) Per-packet jamming in a multi-port bridge for a local area network
US6308218B1 (en) Address look-up mechanism in a multi-port bridge for a local area network
US5907717A (en) Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
US5420858A (en) Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium
EP0669778B1 (en) Fast-packet switching networks
US20020118692A1 (en) Ensuring proper packet ordering in a cut-through and early-forwarding network switch
US7082104B2 (en) Network device switch
US6292491B1 (en) Distributed FIFO queuing for ATM systems
US6874036B2 (en) Network management server combining PDUs to minimize bandwidth consumption at data link layer
US7860120B1 (en) Network interface supporting of virtual paths for quality of service with dynamic buffer allocation
US6252879B1 (en) Single counter for controlling multiple finite state machines in a multi-port bridge for local area network
US6327271B1 (en) Programmable reassembly of data received in an ATM network
US6301256B1 (en) Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
WO2006036124A1 (en) Improved handling of atm data
US20020107949A1 (en) Polling for and transfer of protocol data units in a data processing network
US7330481B2 (en) Highly channelized port polling in a telecommunications switch
WO1999014901A1 (en) High speed bus structure in a multi-port bridge for a local area network
US20020107955A1 (en) Protocol data unit prioritization in a data processing network

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee