KR20040014419A - 단일 통신 스위치를 통해 atm, tdm 및 패킷데이터를 스위칭하는 방법 및 장치 - Google Patents

단일 통신 스위치를 통해 atm, tdm 및 패킷데이터를 스위칭하는 방법 및 장치 Download PDF

Info

Publication number
KR20040014419A
KR20040014419A KR10-2003-7006891A KR20037006891A KR20040014419A KR 20040014419 A KR20040014419 A KR 20040014419A KR 20037006891 A KR20037006891 A KR 20037006891A KR 20040014419 A KR20040014419 A KR 20040014419A
Authority
KR
South Korea
Prior art keywords
switch
request
data
row
slots
Prior art date
Application number
KR10-2003-7006891A
Other languages
English (en)
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
Priority claimed from US09/717,440 external-priority patent/US6631130B1/en
Priority claimed from US09/717,999 external-priority patent/US6636515B1/en
Priority claimed from US09/717,998 external-priority patent/US6646983B1/en
Priority claimed from US09/717,472 external-priority patent/US6636511B1/en
Priority claimed from US09/717,147 external-priority patent/US7061935B1/en
Application filed by 트랜스위치 코포레이션 filed Critical 트랜스위치 코포레이션
Publication of KR20040014419A publication Critical patent/KR20040014419A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1611Synchronous digital hierarchy [SDH] or SONET
    • H04J3/1617Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6402Hybrid switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/606Hybrid ATM switches, e.g. ATM&STM, ATM&Frame Relay or ATM&IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • H04L2012/5627Fault tolerance and recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6402Hybrid switching fabrics
    • H04L2012/6413Switch peripheries

Abstract

네트워크 스위치는 적어도 하나의 포트 프로세서(10) 및 적어도 하나의 스위치 요소(100)를 포함한다. 포트 프로세서(10)는 SONET OC-x 인터페이스(12)와, UTOPIA 인터페이스(44)와, 스위치 요소(100)와의 인터페이스를 갖는다. 포트 프로세서(10)는 OC-48과 균등한 총 I/O 대역폭을 갖고, 스위치 요소(100)는 30Gbps의 총 대역폭을 위해 12×12 포트를 갖는다. 9행×1700슬롯의 데이터 프레임은 TDM, ATM 및 패킷 데이터를 전송하는데 사용된다. 각각의 프레임은 125마이크로초로 전송된다. 각각의 슬롯은 4비트 태그+4바이트 페이로드를 포함한다. 프레임의 마지막 20개의 슬롯은 링크 오버헤들르 위해 예비된다. ATM 및 패킷 데이터의 경우에 16 슬롯의 PDU는 64바이트 페이로드에 대해 규정된다. PDU는 28비트 라우팅 태그와 함께 스위치를 통해 자체 라우팅된다. 대역폭은 TDM 타이밍을 유지하는 동안 ATM 및 패킷 접속들 중에서 조정된다.

Description

단일 통신 스위치를 통해 ATM, TDM 및 패킷 데이터를 스위칭하는 방법 및 장치{Methods and apparatus for switching ATM, TDM, and packet data through a single communications switch}
광대역 원격 통신 네트워크들을 채용하기 위한 초기 기술들 중의 하나는 시분할 멀티플렉싱(TDM; time division multiplexing)이라 칭하여졌다. TDM의 기본 동작은 이해하기가 간단하다. 고주파수 신호가 다수의 저주파수 신호들이 한 점에서 다른 점으로 전달될 수 있는 다수의 타임 슬롯들로 분할된다. TDM의 실제적인 구현은 매우 복잡하지만, 정확하게 신호들을 멀티플렉스하고 디멀티플렉스하도록 복잡한 프레이밍 기술들 및 버퍼들을 필요로 한다. TDM의 북미 표준(T1 또는 DS1으로 알려져 있음)은 1.544Mbits/sec의 레이트를 함께 갖는 24개의 인터리브된 채널들을 활용한다. TDM의 유럽 표준은 E-1으로서 알려져 있고 2.048Mbits/sec의 레이트를 갖는 30개의 인터리브된 채널들을 활용한다. 멀티플렉싱의 체계(hierarchy)는 T1이나 E-1 신호의 배수들에 기초하며, 가장 공통인 것의 하나는 T3나 DS3이다. T3 신호는 28개의 T1 신호들과 균등한, 672개의 채널들을 갖는다. TDM은 원래 음성 채널들에 대해서 설계되었었다. 그러나, 근래에는 그것은 음성 및 데이터 쌍방을 위해 사용된다.
광대역 데이터 통신에 대한 초창기 방식은 패킷 스위칭이라 불리웠다. 패킷 스위칭 및 TDM 들 중의 하나는 패킷 스위칭이 전송 중에 손실되거나 손상되는 패킷들의 에러 정정 및 재전송을 위한 방법들을 포함한다는 것이다. 또다른 차이는, TDM에서의 채널들과는 달리, 패킷들이 반드시 길이가 고정되지 않아도 된다는 것이다. 또한, 패킷들은 패킷내에 포함된 어드레싱 정보에 기초하여 그들의 수신처(destination)로 행한다. 반대로, TDM 채널들은 고정된 프레임에서의 그들의 위치에 기초하여 그들의 수신처로 향한다. 근래에는, 광범위하게 사용된 패킷 스위칭 프로토콜은 IP(Internet Protocol)로서 알려져 있다.
보다 최근에는, ATM 및 SONET로서 알려져 있는 광대역 기술들이 개발되었다. ATM 네트워크는, (각기 48바이트가 5바이트 오버헤드와 더불어 페이로드하는) 53바이트의 고정 길이 패킷들(셀들)에 기초하고 있다. ATM 네트워크의 특성들 중 하나는 사용자들이 QOS(quality of service) 레벨에 대해 계약한다는 것이다. 따라서, ATM 셀들은 QOS에 기초하여 상이한 우선 순위가 할당된다. 예를 들면, CBR(constant bit rate) 서비스는 최상위 우선 순위 서비스이고 제공된 TDM 접속과 실질적으로 균등하다. 가변 비트 레이트(VBR; variable bit rate)는 혼잡의 기간 동안 셀들의 손실을 허용하는 중간 우선 순위 서비스이다. UBR(unspecified bit rate) 서비스는 최하위 우선 순위이고 이메일 전송 등의 높은 지연(latency)을 허용할 수 있는 데이터 전송에 사용된다.
SONET 네트워크는 783바이트 동기성 페이로드 엔벨롭(SPE; synchronous payload envelope)이 플로우트(float)되는 810바이트의 프레임에 기초한다. 페이로드 엔벨롭은 네트워크의 도처에서의 타이밍 차이로 인해 플로우트된다. 페이로드의 정확한 위치는 스터프(stuff)들/디스터프(destuff)들 및 포인터들의 비교적 복잡한 시스템을 통해 결정된다. 북미에서, 기본적인 SONET 신호는 STS-1(또는 OC-1)이라 칭하여진다. SONET 네트워크는 768STS-1 신호들까지 21.504T1 신호들(763 T3 신호들)의 용량을 제공하여 함께 멀티플렉스되는 SONET신호들의 체계를 포함한다. STS-1 신호들은 프레임당 125마이크로초 및 초당 8000프레임을 갖고, 51.84Mbit/sec의 프레임 레이트를 갖는다. 유럽에서는, 베이스 (STM-1) 레이트는 북미 STS-3 레이트(3*51.84=155.520)와 균등한 155.520Mbit/sec이고, 페이로드 부분은 버추얼 컨테이너(VC; virtual container)라 칭하여진다. 저 레이트 디지털 신호들의 전송을 용이하게 하기 위하여, SONET 표준은 VT(Virtual Tributary) 구조라 칭하여지는 서브STS 페이로드 맵핑을 사용한다. (ITU는 이를 TU(Tributary Unit)이라 칭한다.) 4개의 VT 크기들은 VT-1.5, VT-2, VT-3, VT-6으로 규정된다. VT-1.5는 1.728Mbit/s의 데이터 전송 레이트를 가지며 오버헤드와 함께 T1 신호를 수용한다. VT-2는 2.304Mbit/s의 데이터 전송 레이트를 가지며 오버헤드와 함께 E1 신호를 수용한다. VT-3는 3.456Mbit/s의 데이터 전송 레이트를 가지며 오버헤드와 함께 T2 신호를 수용한다. VT-6는 6.912Mbit/s의 데이터 전송 레이트를 가지며 오버헤드와 함께 DS2 신호를 수용한다.
상술한 광대역 기술들 각각은 TDM, ATM 또는 패킷 기술들로서 분류될 수 있고, SONET는 TDM의 복합 형태이다. 상술한 바로부터, TDM, ATM 및 패킷 각각은 그들만의 특유한 전송 요건들을 가지고 있음을 이해할 것이다. 따라서, 다른 종류의 스위치들은 이 다른 종류의 신호들을 라우팅하는데 이용된다. 특히, TDM은 주의 깊은 시간 동기화를 필요로 하고, ATM은 셀들 및 QOS의 우선 순위에 대한 신중한 주의를 필요로 하며, 패킷(예컨대, IP)은 가변 길이 패킷들을 처리할 수 있는 능력을 필요로 한다. 이런 이유들 때문에, TDM, ATM 및 가변 길이 패킷 스위칭에 대한 스위칭 기술들은 상이한 방식들로 진화되었다. 이와 같이 서비스 제공자들 및 네트워크 설계자들은 단일 네트워크내에서만 사용될 수 있는 기기의 다른 세트들로 네트워크들을 오버랩하는 것을 종종 제공하여, 상기 기술들을 별도로 처리할 것을 강요 받아왔다.
본 발명은 원격 통신 네트워크들에 관한 것이다. 보다 구체적으로는, 본 발명은 단일 통신 스위치를 통해 ATM, TDM 및 패킷 데이터를 스위칭하는 방법 및 장치에 관한 것이다.
도 1a 및 도 1b는 본 발명에 따르는 포트 프로세서를 개략적으로 단순화해 도시한 도면.
도 2a 및 도 2b는 본 발명을 따르는 스위치 요소를 개략적으로 단순화해 도시한 도면.
도 3은 본 발명의 데이터 프레임 구조를 개략적으로 도시한 도면.
도 3a는 본 발명을 따르는 PDU의 본 양호한 포맷을 개략적으로 예시하는 도면.
도 3b는 스위치의 제 1 스테이지에 대한 요청 요소들을 포함하는 행 구조를 개략적으로 예시하는 도면.
도 3c는 스위치의 제 2 스테이지에 대한 요청 요소들을 포함하는 행 구조를 개략적으로 예시하는 도면.
도 4는 본 발명에 따르는 3 스테이지 48×48 스위치를 개략적으로 예시하는 도면.
도 5는 본 발명에 따르는 48×48 폴디드 클로스 아키텍처를 개략적으로 예시하는 도면.
그러므로, 본 발명의 목적은 단일 스위칭 구조를 통해 다른 종류의 광대역 신호들이 스위치될 수 있는 방법 및 장치를 제공하는데 있다.
또한 본 발명의 목적은 동일한 스위치 구조를 통해 TDM, ATM, 및 가변 길이 패킷 모두를 스위치할 수 있는 네트워크 요소를 제공하는데 있다.
본 발명의 또다른 목적은 스케일가능한 네크워크 스위치 구조를 제공하도록 동일 칩 세트들과 조합될 수 있는 네트워크 스위치 칩을 제공하는데 있다.
본 발명의 또다른 가변 길이 패킷 트래픽 중에서 유연한 파티션닝(partitioning)을 가능하게 하는 네트워크 스위치를 제공하는데 있다.
본 발명의 또다른 목적은 스위치 요소들이나 링크들의 장애가 직접적으로 접속 장애를 유발하지 않도록 용장성있는 스위치 계획들을 갖는 네크워크 스위치를 제공하는데 있다.
본 발명의 또다른 목적은 유니캐스트(unicast)뿐만 아니라 멀티캐스트 음성 및 데이터 전송을 처리하는 네트워크 스위치를 제공하는데 있다.
본 발명의 추가적인 목적은 폴디드 클로스(Clos) 아키텍처뿐만 아니라 클로스(Clos) 아케텍처를 지원하는 네크워크 스위치를 제공하는데 있다.
하기에서 상세히 논의될 상기 목적들에 따라서, 본 발명의 네트워크 스위치는 적어도 하나의 포트 프로세서(부록에서는 "서비스 프로세서"로서도 칭하여짐) 및 적어도 하나의 스위치 요소를 포함한다. 포트 프로세서는 스위치 요소에 대한 인터페이스, (ATM 및 패킷 트래픽을 위한) UTOPIA 및 UTOPIA-프레임 단위 인터페이스, (TDM 트래픽을 위한) SONET OC-X (SONET/SDH STS-x/STM-y) 인터페이스를 갖는다. 예시적인 포트 프로세서는 SONET OC-48 신호와 균등한 총 I/O 대역폭을 갖는다. 예시적인 스위치 요소는 12×12 포트를 가지며 총 30Gbps의 대역폭을 지원한다.
본 발명에 따른 전형적인 스위치는 다수의 포트 프로세서들 및 다수의 스위치 요소들을 포함한다. 48×48 "폴디드(folded)" 스위치의 경우에, 48 포트 프로세서들은 12(제 1 및 제 3 스테이지) 스위치 요소들에 연결(각기 4개씩)되고 이들 12 스위치 요소들 각각은 8(제 2 스테이지)스위치 요소들에 연결된다. 본 발명에 따르는 3 스테이지 비차단(non-blocking) 스위치는 240Gbps의 총 대역폭을 제공하고, 5 스테이지 비차단 스위치는 1Tbps의 총 대역폭을 제공한다. 예시적인 3 스테이지 폴디드 클로스 아키텍처 스위치는 48 포트 프로세서들 및 20 스위치 요소들을 포함한다. 4 포트 프로세서들은 각각의 12(제 1 및 제 3 스테이지) 스위치 요소들에 연결된다. 각각의 12(제 1 및 제 3 스테이지) 스위치 요소들은 8(제 2 스테이지) 스위치 요소들에 연결된다. 본 양호한 실시예에 따르면, 각각의 포트 프로세서는 스위치 요소의 2개의 포트들 또는 2개의 스위치 요소들의 하나의 포트에 연결하여 링크 장애의 경우에 용장성을 제공하는 수단을 구비한다.
본 발명에 따르면, 1700슬롯 ×9행의 데이터 프레임은, 하나 이상의 스위치 요소들을 통해 포트 프로세서로부터 ATM, TDM 및 패킷 데이터를 동일 또는 또다른 포트 프로세서에 전송하는데 사용된다. 각각의 프레임은 125마이크로초로 전송되고, 각각의 행은 13.89마이크로초로 전송된다. 각각의 슬로은 4비트 태그 + 4바이트 페이로드(즉, 36비트)를 포함한다. 슬롯 대역폭(총 프레임의 1/1700)은 오버헤드와 함께 E-1 신호를 운반하기에 충분히 큰 2.592Mbps이다. 4비트 태그는 TDM 접속이 제공되는 경우에 셋업되는 크로스 접속 포인터이다. 프레임의 마지막 20 슬롯은 링크 오버헤드를 위해 예비된다. 따라서, 프레임은 STM-16 프레임이 단지 1008 E-1 신호들의 용량을 가질지라도 1680 E-1 TDM 신호들의 균등분을 운반할 수 있다.
ATM 및 패킷 데이터의 경우, 16 슬롯의 PDU(protocol data unit)는 64바이트 페이로드(스위치 오버헤드와 함께 ATM 셀을 수용하기에 충분히 큰)에 대해 규정된다. 행 당 96 PDU들의 최대치가 허용된다. PDU의 16개의 4비트 태그는 PDU 라우팅에 불필요하므로, ATM 또는 가변 길이 패킷 페이로드를 보호하기 위해 패러티 비트로서 사용된다. 64바이트 페이로드 중에서, 12바이트(96비트)는 내부 라우팅을 위해 스위치에 의해 사용된다. 이것은 (1바이트 HEC없이) ATM 셀을 운반하는데 충분하고, 단편화(fragmentation) 이후에 보다 더 큰 패킷들에 대해 충분한 실제 페이로드를 위해 52바이트를 남겨 놓는다. PDU는 스테이지 당 4비트를 이용하여 7 스위치 스테이지들을 통해 라우팅을 가능하게 하는 28비트 라우팅 태그와 함께 스위치를 통해 자체 라우팅된다. PDU의 나머지 68비트는, 이를테면, PDU가 ATM 셀, 패킷, 또는 제어 메시지를 포함하는지의 여부, 패킷의 리어셈블리(reassembly)가 중단(aborted)되어야되는지의 여부, 페이로드가 제 1 단편(fragment), 중간 단편 또는 마지막 단편인지의 여부, 최종 단편, 단편 시퀀스 카운트 및 수신처 플로우 식별자에 얼마나 많은 페이로드 바이트가 있는지를 나타내는 다양한 다른 어드레싱 정보를 위해 사용된다.
프레임의 마지막 20 슬롯에서의 링크 오버헤드(LOH; link overhead)는 SONET 프레임에서의 라인 및 섹션 오버헤드와 기능적으로 유사하다. LOH는 직렬 데이터 스트림으로부터 바이트 및 행 바운더리를 서술(delineate)하는데 사용되는 36비트 프레임 얼라인먼트 패턴, 각각의 출력 링크에 대한 32비트 상태 레지스터, 32비트 스위치 및 링크 식별자, 및 32비트 스터프 패턴을 포함할 수 있다.
통상적으로 ATM 및 패킷 트래픽이 제공되지 않기 때문에, 대역폭은 트래픽이 시스템에 입구에서 ATM 및 패킷 접속들 중에서 조정(arbitrated)되어야 한다. 더욱이, TDM 트래픽이 ATM 및 패킷 트래픽과 동일한 프레임을 공유하기 때문에, 대역폭은 TDM 타이밍을 유지하는 동안 조정되어야 한다. 본 발명에 따르면, 대역폭은 프레임의 각 행에서의 각각의 PDU에 대해 실행되는 요청 및 승인의 시스템에 의해 조정된다. 스위치 요소들은 링크 당 3 채널을 제공하고, 그 중 2개는 데이터 및 조정 요청을 운반하는데 사용되고, 나머지 하나는 조정 승인을 운반하는데 사용된다. 본 양호한 실시예에 따르면, 48비트(1.5슬롯) 요청 요소는 프레임의 다음 행에서 각각의 PDU에 대해 생성된다. 각각의 스위치 요소는 각각의 출력 링크에 대한 개별 요청 조정 모듈 및 단일 요청 파서(parser)를 포함한다. 요청 요소들은 포트 프로세서들에 의해 생성되고, 인트라 스위치 "홉 단위(hop-by-hop)" 라우팅 태그 및 우선 순위 레벨 정보를 포함한다. 요청 요소들은 스위치 요소들에 의해 버퍼되고 저 우선 순위 요청 요소들은 버퍼가 충전되는 경우에 스위치 요소에 의해 폐기된다. 스위치 구조를 통해 진행할 시에 폐기되지 않는 각각의 요청 요소는 각각의 포트 프로세서로 리턴되고, 포트 프로세서로부터 그것은 "행 타임", 즉 13.89마이크로초 동안에 발원했다. 위에서 제안한 바와 같이, 요청들은 데이터와 함께 "대역내" 인터리브되게 되고 승인들(리턴된 요청 요소들)은 각 링크에서의 제 3 채널을 이용하여 "대역외"로 이루어진다.
TDM 트래픽을 위해 타이밍을 유지하기 위하여, VT/VC 프레임에서의 V1-V4 바이트는 스트립오프(stripped-off)되고 VC 바이트는 포트 프로세서에 의해 스위치로의 입구에서 버퍼링된다. V1-v4 바이트는 포트 프로세서에 의해 스위치로부터 나올시에 재생성된다. P여 및 TDM 트래픽을 모두 갖는 행에서, PDU는 초기에 구성되고 TDM 슬롯들은 행에서 늦게 구성된다.
본 양호한 실시예에 따르면, 각각의 스위치 요소는 멀티캐스트 제어기 및 개별 멀티캐스트 PDU 버퍼를 포함한다. 2개의 대안적인 실시예들이 멀티캐스팅을 위해 제공된다. 제 1 실시예는 보다 더 적은 게이트를 필요로 하고 멀티캐스팅이 트래픽의 주요부가 아닌 환경에 가장 적합하다. 제 2 실시예는 실시하기에 더 많은 게이트들을 필요로 한다. 그러나, 멀티캐스팅이 빈번한 경우인 환경에서 보다 더 적합하다. 제 2 실시예는 멀티캐스트 경로를 셋업하는데 보다 더 많은 지연을 필요로 하지만 멀티캐스팅 데이터에서는 보다 더 적은 지연을 요한다. 제 1 실시예에 따르면, 멀티캐스트 요청 요소들은 표준 유니캐스트 요청 요소들과 동일한 방식으로 스위치를 통해 흐른다. 메시지가 멀티캐스트되어야 하는 점에서, 그 스위치 스테이지에 대한 홉 단위 필드의 비트 코드는 요청이 멀티캐스트됨을 나타낸다. 요청은 멀티캐스트 제어기로 전송된다. 승인 경로상에서, 멀티캐스트 제어기는 멀티캐스팅 재순환 버퍼들에서 데이터를 위한 룸(room)이 존재하는 경우에 승인을 소싱(source)한다. 일단 데이터가 멀티캐스트 버퍼에 전송되면, 멀티캐스트 제어기는 데이터 헤더를 시험하고, 어느 출력 링크에서 발송되어야 하는지에 대해 결정한다. 이 점에서, 멀티캐스트 제어기는 유니캐스트 요청과 동일한 방식으로 처리되는 다수의 요청 메시지를 소싱한다. 프로세스는 전송 요청의 시퀀스를 반복하고, 승인을 수신하며, PDU를 전송한다. 즉, 각각의 멀티캐스트 PDU가 전송되기 전에, 요청 및 승인이 스위치를 가로질러가야 한다. 제 2 실시예에 따르면, 멀티캐스트 경로는 모든 홉들이 승인될때까지 다수의 요청들(각 홉에 대해 하나씩)을 전송함으로써 시간 주기 동안 예비된다. 경로가 이런 방식으로 셋업되면, PDU는 예비된 시간이 만료되거나 전송할 PDU가 더 이상 없을 때까지 지연없이 하나씩 멀티캐스트된다.
본 발명의 부가적인 목적 및 이점들은 첨부 도면을 참조하여 기술된 상세한 설명으로부터 당업자들에게 보다 명백해질 것이다.
본 발명의 장치는 일반적으로 포트 프로세서 및 스위치 요소를 포함한다. 도 1a 및 도 1b는 포트 프로세서(10)의 요부를 도시하고, 도 2a 및 도 2b는 스위치 요소(100)의 요부를 도시하고 있다. 이제 도 1a 및 도 1b를 참조하면, 포트 프로세서(10)는 SONET 인터페이스 및 UTOPIA 인터페이스를 포함한다. 입구(RX)측에서, SONET 인터페이스는 직렬 병렬 컨버터(12)와, SONET 프레이머(framer) 및 전송 오버헤드(transport overhead; TOH) 추출기(14)와, 고차 포인터 프로세서(16)와, 경로 오버헤드(path overhead; POH) 추출기(18)를 포함한다. SPE에서 전송된 ATM 및 IP 패킷들의 경우에, SONET 인터페이스의 입구측은 48 HDLC 프레이머(20)(IP에 대해)와, 48 셀 딜리니에이터(delineator)(22)(ATM에 대해)와, 48개의 64바이트 FIFO(24)들(ATM 및 IP 모두에 대해)을 포함한다. SPE에서 전송된 TDM 신호들의 경우에, SONET 인터페이스의 입구측은 디멀티플렉서 및 저차 포인터 프로세서(26)를 포함한다. 출구(TX)측에서는, SONET 인터페이스는 TDM 신호들에 대해 멀티플렉서 및 저차 포인터 발생기(28)를 포함한다. SPE에서 전송된 ATM 및 IP 패킷들의 경우에, SONET 인터페이스의 출구측은 48개의 64바이트 FIFO(30)들과, 48 HDLC 프레임 발생기(32)와, 48 셀 맵퍼(34)를 포함한다. SONET 인터페이스의 출구측은 또한, POH 발생기(36)와, 고차 포인터 발생기(38)와, SONET 프레이머 및 TOH 발생기(40)와, 병렬 직렬 인터페이스(42)를 포함한다. 입구측에서, UTOPIA 인터페이스는 ATM을 위한 UTOPIA 입력(44) 및 하나의 4×64바이트 FIFO(46)를 포함한다. 출구측에서는, UTOPIA 인터페이스는 96개의 464바이트 FIFO(48)들과 UTOPIA 출력(50)을 포함한다.
포트 프로세서(10)의 입구부는 또한 스위치 맵퍼(52)와, 병렬 직렬 스위치 구조 이너페이스(54)와, 요청 조정기(56)를 포함한다. 포트 프로세서의 출구부는 도한 직렬 병렬 스위치 구조 인터페이스(58) 및 스위치 디맵퍼(60)와, 승인 발생기(62)를 포함한다.
ATM 및 패킷 트래픽을 처리하기 위해, 포트 프로세서(10)는 입구부에서 디스크립터 구성기(64)와, IPF 및 ATM 룩업 프로세서(66)와, IP 분류 프로세서(68)와, RED/폴라이싱(Policing) 프로세서(70)를 활용하고, 그 모두는 칩을 벗어나 위치할 수도 있다. 이들 유닛들은 (수신) 데이터 링크 관리기(72)에 대해 그것들을 처리하기 전에 ATM 셀들 및 패킷들을 처리한다. 포트 프로세서의 출구부에서, (전송) 데이터 링크 관리기(74) 및 전송 스케쥴러 및 성형기(76)(shaper)가 제공된다. 이들 유닛들 모두는 칩을 벗어나 위치할 수 있다. 포트 프로세서는 또한 호스트 인터페이스(78) 및 가중된 라운드 로빈 스케쥴러(80)를 구비한다.
스위치로의 입구에서 포트 프로세서의 목적은 TDM, 패킷 및 ATM 데이터를 언팩(unpack)하고, 그것을 도 3을 참조하여 하기에서 기술되는 데이터 프레임에 따라 프레이밍하기 위한 것이다. 포트 프로세서는 또한 스위치 요소를 통해 링크 대역폭에 대한 조정 요청을 하는 동안에 TDM 및 패킷 데이터를 버퍼하고, 하기에서 보다 상세히 기술된 바와 같이 스위치를 통해 수신된 조정 요청을 승인한다. TDM 트래픽에 대한 타이밍을 유지하기 위하여, SONET 프레임에서의 V1-V4바이트는 스트립오프되고, VC바이트들은 스위치로의 인입시에 버퍼된다. PDU 및 TDM 트래픽을 모두 갖는 행들에서는, PDU들이 초기에 구성되고 TDM 슬롯들이 행에서 늦게 구성되는 것이 바람직하다. 스위치의 출구에서, 포트 프로세서는 TDM, 패킷, ATM 데이터를 리어셈블링한다. V1-V4바이트들은 스위치로부터의 출구에서 재생성된다.
비록 도 1a 및 도 1b에는 도시하지 않았지만, 포트 프로세서(10)는 하나의 스위치 요소의 두 포트 또는 두 개의 스위치 요소들에 연결될 수 있게 하는 듀얼 스위치 요소 인터페이스들을 포함한다. 양 인터페이스들이 사용되는 경우, "스탠바이" 링크는 주 링크에서의 장애가 일어날 때까지 프레임 정보만을 운반하고나서 데이터가 스탠바이 링크를 통해 전송된다. 이것은 스위치의 부분이 장애가 있을지라도 접속이 유지되도록 스위치에서 용장성을 제공한다.
이제 도 2a 및 도 2b를 참조하면, 본 발명에 따르는 스위치 요소(100)는 12 "데이터 경로 및 링크 대역폭 조정 모듈"(102)(명료하게 하기 위해 도 2a 및 도 2b에서 한번만 도시함)을 포함한다. 각각의 모듈(102)은 스위치 요소(100)를 통해 하나의 링크 입력(104) 및 하나의 링크 출력(106)을 제공한다. 당업자들은 임의의 링크 입력에 들어가는 데이터가 라우팅 정보에 의존하여 임의의 링크 출력을 통해 배출될 수 있음을 이해할 것이다. 본 발명에 따르면, 각각의 모듈(102)은 2개의 전송 데이터 경로(108, 110, 112) 및 하나의 리턴 "승인" 경로(116, 118)를 제공한다. 3개의 경로들은 집합적으로 하나의 채널을 구성하는 것으로서 칭하여진다. 2개의 데이터 경로들이 제공되는 이유는 각각의 채널의 대역폭을 증가시키기 때문이다. 2개의 데이터 경로들은 하나의 물리적 데이터 스트림의 대역폭을 초과(2배)하는 단일 "논리" 직렬 데이터 스트림을 제공하도록 인터리브된다. 데이터는 입력링크 버스(120) 및 출력 링크 버스(122)를 통해서 입력 링크(104)로부터 출력 링크(106)로 라우팅된다. 리턴 경로 승인은 승인 버스(124)를 통해서 출력 링크(106)로부터 입력 링크(104)로 라우팅된다.
각각의 "데이터 경로 및 링크 대역폭 조정 모듈"(102)의 전송 데이터 경로는 데이터 스트림 디시리얼라이저(deserializer)(126)와, 데이터 스트림 디맵퍼(128)와, 행 버퍼 맵퍼(130)와, 행 버퍼(132)와, 요청 조정 모듈(134)과, 데이터 스트림 맵퍼(136)와, 데이터 스트림 시리얼라이저(138)를 포함한다. 각각의 모듈(102)에 대한 리턴 승인 경로는 승인 스트림 디시리얼라이저(140)와, 승인 스트림 디맵퍼(142)와, 승인 조정 모듈(144)과, 승인 스트림 맵퍼(146)와, 승인 스트림 디시리얼라이저(148)를 포함한다.
스위치 요소(100)는 또한, 12개의 "데이터 경로 및 링크 대역폭 조정 모듈"(102)의 기능을 지원하는 것으로 단지 한번만 예로서 설명되는 다음의 모듈들, 즉 링크 동기화 및 타이밍 제어(150)와, 요청 파서(152)와, 승인 파서(154)와, 링크 RISC 프로세서(156)를 포함한다. 스위치 요소(100)는 또한, 단지 한번만 예로서 설명되고 다른 모듈들을 지원하지만 "스위칭"에 직접 포함되지 않는 다음의 모듈들, 즉 구성 RISC 프로세서(158)와, 시스템 제어 모듈(160)과, 테스트 패턴 발생기 및 분석기(162)와, 테스트 인터페이스 버스 멀티플렉서(164)와, 언링크(unlink) PLL(168)과, 코어 PLL(168)과, JTAG 인터페이스(170)를 포함한다.
본 발명에 따르는 통상적인 스위치는 다수의 포트 프로세서(10) 및 다수의 스위치 요소(100)들을 포함한다. 예컨대, 도 4에 도시된 바와 같이, 48 "입력" 포트 프로세서들은 각기 4개씩인 12개의 "제 1 스테이지" 스위치 요소들에 연결된다. 제 1 스테이지 스위치 요소들 각각은 8개의 제 2 스테이지 스위치 요소들에 연결된다. 제 2 스테이지 스위치 요소들 각각은 12개의 제 3 스테이지 스위치 요소들에 연결된다. 4개의 "출력" 포트 프로세서들은 제 3 스테이지 스위치 요소들 각각에 연결된다. 전술한 바로부터, 당업자들은, 본 발명의 포트 프로세서 및 스위치 요소는 단일 스위치 요소가 제 1 스테이지 및 제 3 스테이지와 같이 작용하는 도 5에 도시된 폴디드 클로스 아키텍처로 배열될 수 있음을 이해할 것이다.
포트 프로세서(10) 및 스위치 요소(100)의 기능들을 상세히 기술하기 전에, 본 발명은 동일한 프레임에서 TDM, ATM 및 패킷 데이터의 조합을 운반하는데 매우적합한 특유의 프레이밍 기술을 활용한다는 것을 이해해야 한다. 이제 도 3을 참조하면, 본 발명에 따라, 9행×1700슬롯의 데이터 프레임은 하나 이상의 스위치 요소들을 통해 포트 프로세서로부터 포트 프로세서로 TDM, ATM 및 패킷 데이터를 전송하는데 이용된다. 각각의 프레임은 125마이크로초로 전송되고, 각각의 행은 13.89마이크로초로 전송된다. 각각의 슬롯은 4비트 태그 + 4바이트 페이로드를 포함한다(즉, 36비트). 슬롯 대역폭(총 프레임의 1/1700)은 오버헤드를 갖는 E-1 신호를 운송하기에 충분히 큰 2.592Mbps이다. 4비트 태그는, TDM 접속이 준비될 때 설정되는 교차 접속 포인터(cross connect pointer)이다. 프레임의 최종 20개의 슬롯들은 링크 오버헤드(LOH)를 위해 예약된다. 따라서, 프레임은 1,680 E-1 TDM 신호들의 등량(equivalent)을 운송할 수 있다. 프레임의 최종 20개의 슬롯들에서 링크 오버헤드(LOH)는 SONET 프레임에서의 섹션 오버헤드와 라인에 대한 함수에 있어서 유사하다.
LOH 슬롯들이 콘텐츠들은 스위치 맵퍼에 의해 삽입된다(도 1a 및 도 1b의 52). LOH 슬롯들에 삽입될 수 있는 4개의 데이터 타입들이 있다. 36비트 프레이밍 패턴(framing pattern)은 20개의 슬롯들 중 하나에 삽입된다. 프레이밍 패턴은 모든 출력 링크들에 공통이며, 소프트웨어 프로그램가능한 레지스터를 통해 형성할 수 있다. 32비트 상태 필드는 또다른 슬롯에 삽입된다. 상태 필드는 각각의 출력 링크를 위해 고유하며 소프트웨어 프로그램가능한 레지스터를 통해 형성할 수 있다. 32비트 스위치 및 링크 식별자는 또다른 슬롯에 삽입된다. 스위치 및 링크 식별자는 4비트 링크 수, 24비트 스위치 요소 ID, 및 4비트 스테이지 수를 포함한다. 32비트 스터프 패턴(stuf pattern)은 프레이밍, 상태 또는 ID에 의해 이용되지 않는 슬롯들에 삽입된다. 상기 스터프 패턴은 모든 출력 링크들에 공통이며 소프트웨어 프로그램가능한 레지스터를 통해 형성할 수 있다.
ATM 및 패킷 데이터에 있어서, 16개의 슬롯들의 PDU(프로토콜 데이터 유닛)은 64바이트 페이로드(오버헤드를 갖는 ATM를 수용하기에 충분히 큰)로 규정된다. PDU의 포맷은 도 3a에 예시된다. 행마다 최대 96개의 PDU들이 허용된다(SONET OC-48 행에서의 최대 ATM 셀들의 수가 75인 것에 유의함). 16개의 4 비트 태그들(각 슬롯에서의 비트 위치들 32 내지 35)이 PDU 라우팅에 필요하지 않으므로, 그들은 패리티 비트들로서 ATM 또는 IP 페이로드를 보호하는데 이용되지 않는다. 64바이트 페이로드 중에서, 12개의 바이트들(96비트들)은 내부 라우팅(슬롯들 0 내지 2, 비트 위치들 0 내지 31)을 위해 스위치로 이용된다. 이는 플래그멘테이션 후 ATM셀(1바이트 HEC 없이)을 운송하기에 충분하고 보다 더 큰 패킷들에 충분한 실제 페이로드를 위해 52개의 바이트들(슬롯들 3 내지 15)을 남긴다. PDU들은 스테이지마다 4개의 비트들을 이용한 7개의 스테이지들을 통해 라우팅을 허용하는 28비트 라우팅 태그(슬롯 0, 비트 위치들 0 내지 27)를 갖는 스위치를 통해 스스로 라우팅된다. PDU의 남은 68개의 비트들은 여러 다른 어드레싱 정보를 위해 이용된다.
도 3a에 도시된 바와 같이, 슬롯 0에서의 PDU 비트들, 즉 비트들 30 및 31은, PDU가 유휴(00), ATM 셀(01), IP 패킷(10) 또는 제어 메시지(11)인지를 식별하는데 이용된다. 슬롯 1에서의 2개의 비트들, 즉 비트 위치들 30 및 31은 PDU를 생성한 칩의 내부 프로토콜 버전을 나타내는데 이용된다. 패킷들 및 제어 메시지들에 있어서, "유효 바이트들" 필드(슬롯 1, 비트들 24 내지 29)는, PDU가 플래그먼트화된 패킷의 최종 플래그먼트임을 FragID 필드가 나타낼 때, 많은 페이로드 바이트들이 어떻게 PDU에 의해 운송되는지를 나타내는데 이용된다. VOQID 필드(슬롯 1, 비트 위치들 19 내지 23)는 PDU를 위한 서비스 종류를 식별한다. 서비스 종류는 0에서 31까지의 값일 수 있으며, 여기서 0은 가장 높은 우선 순위이고 31은 가장 낮다. 슬롯 1에서의 FragID, 즉 비트들 17 및 18은, 이 PDU가 완료 패킷(11), 처음 플래그먼트(01), 중간 플래그먼트(00), 또는 최종 플래그먼트(10)인지를 나타낸다. 예를 들어, 초기 패킷(또는 일부 패킷)이 작동들을 버리는 것으로 인하여, 상기 패킷에 대한 리어셈블리가 중지된다면, 슬롯 1에서의 A 비트, 즉 비트 위치 16이 설정된다. 상기 비트가 설정될 때, 상기 포인트까지 수신된 패킷의 플래그먼트들은 출력 포트 프로세서에 의해 버려진다. FFS로 불리는 필드들은 장차 이용을 위하여예약된다. 슬롯 1에서의 Seq# 필드, 즉 비트들 0 내지 3은 패킷 플래그먼트들을 카운트하는 모듈러 카운터(modular countr)이다. 슬롯 2에서의 DestFlowId 필드, 즉 비트들 0 내지 16은, 상기 PDU가 속하는 수신처 포트 프로세서(destination port processor)에서 "흐름(flow)"을 식별한다. "흐름"은 실제 데이터 접속이다. 포트 프로세서마다 128K 흐름들이 있다.
상술한 바와 같이, ATM 및 패킷 트래픽이 통상적으로 준비되어 있지 않기 때문에, 대역폭은 트래픽이 시스템에 들어가는 것에 따라 ATM과 패킷 접속들 사이에 조정되어야 한다. 더구나, TDM 트래픽이 ATM 및 패킷 트래픽으로서 같은 프레임을 공유하기 때문에, 대역폭은 TDM 타이밍을 유지하는 동안 조정되어야 한다. 본 발명에 따라, 대역폭은 프레임의 각각의 행에서 각각의 PDU를 위해 구현되는 요청들 및 승인들의 시스템에 의해 조정된다. 포트 프로세서들에 의해 생성되는 요청 요소들은 "홉 단위" 내부 스위치 라우팅 태그들, 스위치 요소 스테이지, 및 우선순위 정보를 포함한다. 본 바람직한 실시예에 따라, 2개의 요청 요소들은 3개의 인접하는 슬롯 번들(bundle)에서 전달되고, 비요청 요소 트래픽의 적어도 8개의 슬롯들은 요청 요소 번들들 간에 있어야 한다. 요청 요소 번들들 간의 시간 분리는 요청 요소들을 처리하도록 포트 프로세서들 및 스위치 요소들에서의 조정 로직에 의해 이용된다.
도 3b는 PDU들 및 요청 요소들을 운송하기 위해 할당될 수도 있다. 도시된 바와 같이, 행에 대한 최대 PDU 용량은 96이다. 단일 PDU를 운송할 수 있는 16개의 슬롯들의 블록은 "그룹"으로 불린다. 행내의 각 그룹에 있어서, 대역폭의 1.5 슬롯들은 48비트 요청 요소(RE)를 운송하기 위해 요청된다. 도 3b는, 2개의 RE들이 얼마나 각각의 제1의 24개의 그룹들 내의 3개의 슬롯들에 삽입되는지를 예시한다. 모든 RE들은 행내에서, RE들이 행의 시작 후 가능한 빨리 다단식의 스위치 구조를 통해 리플(ripple)하는 것을 허용하기 위하여 가능한 일찍 운송되어야만 한다.
도 3b에 도시된 구조는 시스템 요건들 및 구현 제약들을 받는 최적의 포맷(제 1 링크를 위한)이라고 간주된다. 초기에는 행에 RE들을 놓지만, 조정을 고려하여 그들에 충분히 간격을 둔다. 본 바람직한 실시예에 따라, 행 구조는 그것이 스위치의 어느 링크를 위해 구성되는지에 따라 다소 다르다. 도 3b는 제 1 스위치 구조 스테이지의 스위치 요소 및 포트 프로세서 간의 행 구조를 나타낸다. 2개의 RE들의 제1 블록은 행의 제 1의 3개의 슬롯들을 차지한다. RE들 처리하는 조정 로직의 본 구현은 입력 링크에 걸쳐 각 RE들의 3개의 슬롯 블록 사이에 적어도 12개의 슬롯들의 지연을 요청한다. 또한, 상기 행의 제 1 RE들이 스위치 요소에 의해 수신될 때부터 RE들이 스위치 요소의 출력 링크에 삽입될 때까지 약간의 지연이 있어야만 한다. 상기 지연은 RE 버퍼들에 인입하는 RE들을 맵핑하기 위한 조정 로직에 의해 이용된다. 따라서, 제 1 스테이지 및 제 2 스테이지 사이의 링크를 위한 행 구조는 슬롯 시간 32에서 시작하는 제1의 RE들의 그룹을 가져야만 한다. 이는 32 슬롯 시간들에 의해 오프셋된 도 3b와 같은 동일 구조를 도시하는 도 3c에 예시된다.
본 바람직한 실시예에 따라, TDM 트래픽이 행마다 하나의 슬롯의 가장 미세한 입도를 갖는 스위치 요소들을 통해 스위칭될 수 있다. TDM 트래픽은 모든 행마다 주어진 슬롯에 대하여 같은 경로를 통해 스위칭된다. 스위치 요소들은 프레임내에서 서로 다른 행들에 대하여 같은 TDM 데이터 슬롯을 위해 서로 다른 스위치 경로들을 허용하지 않을 것이다. 이는 스위치가 현재 행수가 어떤 것인지에 대하여 신경을 쓰지 않음을 의미한다.
행마다 하나의 슬롯의 가장 미세한 입도에 있어서, 스위치 요소들은 최대 스위치 대역폭의 2.52Mbps를 갖는 TDM 트래픽을 스위칭할 수 있다. 슬롯이 SONET SPE로부터 트래픽의 4개의 열들의 등량을 운송할 수 있기 때문에, 스위치 요소들이 VT1.5 또는 VT2 채널의 입도를 갖는 TDM 트래픽을 스위칭한다고 할 수 있다. VT1.5 채널이 단지 SONET SPE에서 3개의 채널들만을 차지하고 있지만, 여전히 4개의 SPE 열들을 유지할 수 있는 슬롯 포맷에 맵핑될 것이다. 상술한 바와 같이, TDM 트래픽을 운송하는 36비트 슬롯의 콘텐츠들의 포맷은 페이로드의 32비트 및 4비트 태그이다. 태그 필드 정의들은 하기의 테이블 1에 도시된다.
000 아이들
0001 예약
1010 예약
1011 데이터 존재
1100 비트들 31 내지 24내의 V5 바이트
1101 비트들 23 내지 16내의 V5 바이트
1110 비트들 15 내지 8내의 V5 바이트
1111 비트들 7 내지 0내의 V5 바이트
테이블 1
슬롯인지 아닌지 간에 알려진 스위치 요소들은 미리 구성된 접속 테이블들을 통해 TDM 데이터를 포함한다. 이들 테이블은 각 입력 링크를 위해 입력 교차 접속RAM으로서 구현된다. 입력 슬롯 수는 RAM에의 어드레스인 반면, RAM의 데이터 출력은 수신처 출력 링크 및 슬롯 수를 포함한다. 접속 테이블은 다음 두 개의 경로들 중 어느 하나를 통해 스위치 요소들에 제어 메시지들을 전달 할 수 있는 중앙 집중된 시스템 제어기에 의해 변경될 수 있다: (1) 호스트 인터페이스 포트, 또는 (2)링크 데이터 채널을 통해 전달되는 대역내의 제어 메시지들. TDM 접속들이 드물게 변경될 것이기 때문에, 접속 테이블을 갱신하는데 접근하는 이와같이 비교적 느린 제어 메시지가 받아들여질 수 있다. 어떤 TDM 데이터도 분실되지 않도록 스위치 요소들 내에서 결정하고, 접속 테이블들을 구성하는 것은 외부 소프트웨어 모듈의 책임이다.
이제 도 1a 및 도 1b를 참조하면, 포트 프로세서(10)의 수신측 SONET 인터페이스는 디시리얼라이저(12) 및 프레이머(14)를 포함한다. 이 인터페이스는 하나의 OC-48, 155 MHz에서의 16비트 폭, 4개의 OC-12들, 연속적으로 622 MHz에서, 또는 4개의 OC-3들, 연속적으로 155MHz에서 구성될 수 있다. 하나의 OC-48로 구성될 때, 디시리얼라이저(12)는 직렬 데이터 스트림을 16비트 폭 병렬 스트림으로 변환한다. 디시리얼라이저(12)는 회로를 포함하여 입력 직렬 클록들을 16으로 나눈다. 디시리얼라이저에의 입력들은 1비트 직렬 데이터 입력, 1비트 622 MHz 클록, 및 1비트 155MHZ 클록을 포함한다. 출력들은 16비트 병렬 데이터 출력, 1비트 38.87MHz 클록 및 9.72MHz 클록을 포함한다.
병렬 데이터는 SONET 프레이머에 전달되어 오버헤드(TOH) 블록(14)을 전송한다. 모든 인입하는 신호들은 본원에 참조로서 포함된 BELLCORE GR-253 표준에 따라프레이밍된다. 바이트 경계 및 프레임 경계는 F628 패턴으로 일련의 16비트 워드들을 스캐닝함으로써 발견된다. 프레이머는 패턴 F6F6F6282828에 대해 프레이밍한다. STS-N 프레임내의 독립적인 SONET SPE들은 프레이머(14)에 의해 디멀티플렉싱된다. 최대 4개의 독립적인 라인 인터페이스들이 있어, 프레이머(14)는 4개의 독립적인 프레이머들을 포함한다. 프레이머에의 입력들은 16비트 병렬 데이터 입력 및 155 mhZ, 38.87MHz, 또는 9.72 MHz을 받아들일 1비트 클록을 포함한다. 프레이머의 출력들은 16비트 병렬 데이터 출력, 프레임(낼) 지시의 1비트 개시, SONET SPE 수를 나타내는데 이용되는 6비트 SPE ID를 포함한다. SPE들은 라인측 포토 구성에 대해서 1 내지 48로 번호가 매겨진다.
또한, 블록(14)은 각각의 독립적인 SONET SPE을 위해 전송(섹션 및 라인) 오버헤드를 종료한다. 라인측에 대해 최대 48개의 OC-1들이 있기 때문에, 블록들이 시분할되지 않는 한 48개의 전송 오버헤드 블록들이 제공된다. TOH 종료에의 입력들은 프레이머에 대해서 상술한 것과 동일하다. 6비트 SPE ID는 상기 블록으로 데이터를 가능하게 한다. 트래픽이 동일한 데이터 버스에 대하여 상기 블록 및 다음 블록(Ptr Proc 16)에 라우팅 트래픽이 이 블록에 그리고 같은 데이터 버스에 관한 다음 블록으로 라우팅되기 때문에 출력 데이터 버스가 전혀 필요치 않다. 데이터 경로는 상기 블록을 흐르기만 할 뿐 이것을 통과하진 않는다.
포인터 프로세서(16)는 SONET 엔벨롭에서 운송되는 페이로드 데이터의 시작을 정확히 알아내도록 SONET 포인터(TOH내의 H1, H2 및 H3 바이트들)를 이용한다.SONET 포인터는 경로 오버헤드의 바이트 #1의 위치를 식별한다. 포인터프로세서(16)는 페이로드 데이터 및 SONET 엔벨롭 간의 주파수 차이를 자리맞추기 위하여 삽입되는 포인터 자리맞춤들(pointer justifications)을 수용하는 것에 책임이 있다. 최대 48개의 OC-1들이 있기 때문에, 블록들이 시분할되지 않는 한, 48개의 포인터 프로세서 블록들은 48개의 전송 오버헤드 종료 블록들과 대응된다. 포인터 프로세서(16)에의 입력들은 프레이머 및 TOH 종료기(14)에 대한 것과 동일하다. 출력들은 16비트 병렬 데이터 출력, SPE 3의 워드 1과 일치하는 SPE 표시기의 1비트 시작, 오버헤드에서 틈이 만들고 포인터 움직임들을 수용하는 1비트 SPE 유효 표시기를 포함한다.
POH 프로세서(18)는 48 SONET SPE들 각각에서 경로 오버헤드의 9바이트들을 처리한다. 최대 48 SPE들이 있기 때문에, 프로세서들이 시분할되지 않는 한, 48개의 경로 오버헤드 프로세서들이 제공된다. 경로 오버헤드 프로세서(18)에의 입력들은 8비트 병렬 데이터 입력, 4비트 SPE ID,SPE 표시기의 1비트 시작, 및 1비트 POH 유효 표시기를 포함한다. 출력들은 1비트 V1 표시기, J1 인포(info), 알람들(alarms), 경로 상태들을 포함한다. 블록들(14, 16, 및 18)에 대한 보다 더 상세한 것은 루센트 또는 트랜스위치(TranSwitch)로부터 이용할 수 있는 것과 같은 표준 SONET 맵퍼/디맵퍼들을 수용한 문헌 및 GR-253 표준에 의해 제공된다.
인입하는 SONET/SDH 신호들의 프레임 경계들이 발견되고, SPE들의 위치가 포인터 처리를 통하거나 또는 텔레콤 버스 I/F 제어 신호들을 통해 식별되고, 경로 오버헤드가 처리된다면, 페이로드는 SPE로부터 추출된다. SPE들은 TDM 트래픽, ATM 셀들 노는 IP 패킷들을 운송할 수 있다. 각 SPE을 위한 트래픽의 타입은 마이크로프로세서 인터페이서(78)를 통해 구성된다. 각 SPE는 한 타입의 트래픽만을 운송할 수 있다. 각 SPE로부터의 데이터는 정확한 페이로드 추출기로 직접 라우팅된다.
패킷들을 포함하는 SPE들 및 ATM 셀들은 HDLC 프레이머(20) 및 셀 디라인에션 블록(22; cell delineation block)에 각각 전달된다. 각 SPE는 패킷 데이터(SONET 상의 패킷)를 운송하도록 구성될 수 있다. 포트 프로세서(10)는 SONET(SDH) 신호들, 즉 STS-1(VC-3), STS-3C(VC-4), STS-12C(VC-4-4C) 및 SS-48C((VC-4-16C)을 위해 SONET 상의 패킷을 지원한다. 데이터그램들은 HDLC 프로토콜을 이용하여 프레이밍되는 PPP 패킷들에 캡슐화된다. HDLC 프레임들은 SONET SPE들과 고 순위 SDH VC들로 바이트 방식으로 맵핑된다. HDLC 프레이머(20)는 HDLC 프레이밍을 수행하고 PPP 패킷을 PDU들로의 에셈블리로 기다리는 FIFO 버퍼(24)로 나아가게 한다. 프레이머(20)는 16비트 병렬 데이터 입력, 6비트 SPE ID, 1비트 SPE유효 표시기, 및 1비트 PYLD 휴효 표시기를 포함한다. 프레이머(20)의 출력은 16비트 데이터 버스, 패킷 표시기의 1비트 시작, 패킷 표시기의 1비트 종료를 포함한다. SONET로부터의 패킷 추출에 대한 보다 더 상세한 것은 "ATM 셀 본원에 참조로서 포함되는 IETF(인터넷 엔지니어링 태스크 포스) RFC 1619(1999)에서 발견된다.
셀 디라인에션 블록(22)은 어느 것의 완전한 개시가 본원에 참조로서 포함되는 "비동기식 디지털 계위(PDH; Plesiochronous Digital Hierarch)로 맵핑하는 ATM 셀" 제목의 ITU-T G.804에 기초한다. 셀 디라인에션 블록(22)은 16비트 병렬 데이터 버스, 6비트 SPE ID, 1비트 SPE 유효 표시기, 및 1비트 POH 유효 표시기를 포함하는 입력들을 갖는다. PUD들로의 에셈블리를 기다리는 동안 셀들은 FIFO(24)에 놓인다. SONET로부터의 ATM에 대한 보다 더 상세한 것은 ITU-T g.804에서 발견된다.
TDM 데이터는 저 순위 VT들 및 VC들이 식별되는 저 순위 포인터 프로세서 블록(26) 및 TDM 디멀티플레서에 라우팅된다. 특정 SPE가 TDM 데이터를 위해 구성되면, TDM 맵핑은 호스트 인터페이스(78)를 이용하여 기술된다. 각 SPE는 VC-11, VC-12, VC-2, VC-3 및 VC-4의 조합을 운송할 수 있다. 단일 STS-1 페이로드에 7개의 VT 그룹들이 있고, 각 VT는 12 열들을 갖는다. 하나의 VT 그룹내에서 모든 VT들은 동일해야 한다. 동일한 STS-1 SPE내의 서로 다른 VT 그룹들은 서로 다른 VT 타입들을 운송할 수 있지만, 이 그룹내에의 모든 VT들이 동일한 타입일 것을 요청한다. VC들 및 VT들은 각각의 SPE들을 위한 구성에 기초한 SONET 신호 중에서 디멀티플렉싱된다. 상기 모든 정보가 호스트 인터페이스(78)를 통해 구성되는 구성 테이블(도시되지 않음)에서 발견되기 때문에 컨테이너들 및 기여들을 찾기 위해 요청되는 트래픽의 어떤 해석도 없다. 프레임들은 SPE의 경로 오버헤드내의 H4 바이트를 통해 VC들 및 VT들의 내부에서 찾아진다. VT 수퍼프레임에서 V 바이트들에 의해 나타내어지는 바와 같이 포인터 처리가 수행된다. TDM 디멀티플렉서 및 저 순위 포인터 프로세서 블록(26)은 병렬 데이터의 16비트들, 6비트 SPC ID, SPE 표시기의 1비트 시작, 1비트 SPE 유효 표시기, 1비트 V1 표시기 및 1비트 POH 유효 표시기를 포함하는 입력들을 포함한다. TDM 멀티플레서 및 저 순위 포인터 프로세서 블록(26)은 스위치 맵퍼(52)에의 출력들, 즉 병렬 데이터의 16비트들, 1비트 VT/VC 유효 표시기, 6비트 SPE ID, 및 5비트 VT/VC 수(0 내지 27)을 제공한다. TDM 데이터는 상술된 바와 같이 프레임내의 예약된 슬롯들에 놓이고 보다 상세하게는 하기에 스위치맵퍼(52)에 참조로 기술된다.
UTOPLA 인터페이스(44)로부터의 IP 패킷들 및 ATM 셀들은 FIFO(46)에 놓인다. FIFO들(24)로부터의 패킷들 및 셀들은 FIFO(46)로부터의 패킷들 및 셀들과 병합된다. 디스크립터 구성기(64)는 데이터가 ATM 셀인지 또는 IP 패킷인지를 결정하여, IPE/ATM 룩업 프로세서(66)를 트리거시켜 IP 라우팅 룩업 또는 ATM 룩업을 수행하도록 대응하는 인터럽트를 생성시킨다. IP 라우팅 룩업은 분류에 필요한 모든 패킷을 위한 IP 수신처 어드레스 및 패킷들을 위한 IP 소스 어드레스를 검색함으로써 수행된다. ATM 룩업은 셀들의 VPI/VCI 필드들을 검색함으로써 수행된다. 모든 IP 패킷들 및 ATM 셀들을 위한 IPF/ATM 푹업 프로세서(66)의 출력들은 17비트 흐름 인덱스, 5비트 QOS 인덱스 및 IP 패킷이 분류에 필요한지를 보여주는 표시기를 포함한다. IP 패킷이 분류에 필요하다면, 패킷은 분류를 위해 IP 분류 프로세서(68)에 넘겨지고, 그렇지 않다면, 패킷 처리의 다음 스테이지 즉, RED/폴라이싱 프로세서(70)에 넘겨진다. RED/폴라이싱 프로세서(70)는 IP 정체 제어를 위해 가중화된 무작위 초기 검출 및 무작위 초기 검출을 수행하고, ATM 트래픽을 위해 새기 쉬운 버킷 폴라이싱을 수행하고 패킷들을 포함하는 ATM 트랙픽을 제어하기 위해 버려진 초기 패킷 및 일부 패킷을 수행한다. 포트 프로세서(10)의 본 바람직한 실시예는 포괄적으로 IP/ATM 포워딩을 만들도록 바이패스 모드에 놓일 수 있는 모드 레지스터(도시되지 않음)를 포함한다. 바이패스 모드에서, 외부 장치는 IP/ATM 포워딩을 위해 이용되고, 디스크립터 구성기(64)에 의해 생성된 데이터 디스크립터들은 출력 FIFO(도시되지 않음)에 직접 라우팅된다.
FIFO들(24 및 46)에 저장된 모든 데이터는 52 바이트 "조각들(chunks)" 내에 있다. IP 패킷이 52 바이트들보다 더 길다면, 다수의 52 바이트 조각들로 분할된다. 각 조각에 대한 입력 데이터 디스크립터는, 조각이 ATM 셀 또는 패킷인지, 이것이 패킷의 시작 또는 패킷의 종료, 패킷 길이, 소스 및 수신처 포트 수들 인지의 지시들을 포함한다. IPF/ATM 룩업 프로세서(66) 및 IP 분류 프로세서(68)에 의해 처리한 후, 출력 데이터 디스크립터는 RED/폴라이싱 프로세서(70)에 의해 판독되는 FIFO(도시되지 않음)에 기록된다.
RED/폴라이싱에 잔존하는 셀들 및 패킷들은 도 3aFMF 참조로 상술된 pdu들을 생성하는 수딘 데이터 링크 관리기(72)에 의해 판독된다. 본 바람직한 실시예에 따라, 처리된 셀들 및 패킷들은 이것이 비워있지 않을 때마다 판독되는 외부 FIFO에 저장된다.
도 1a 및 도 1b에 도시된 바와 같이, 스위치 맵퍼(52)는 데이터 링크 관리기(72)로부터 PDU들뿐만 아니라 저 순위 포인터 프로세서(26) 및 T으으로부터 TDM 트래픽을 수신한다. 상술된 바와 같이, 스위치 맵퍼는 요청 요소들을 수신한다. 요청 요소들은 하기에 보다 상세히 기술되는 조정자(56)에 의해 형성된다. 도 3 및 3a 내지 3c를 참조로 상술된 프레임내의 TDM 데이터, PDU들, 요청 요소들을 배열하는 것이 스위치 맵퍼의 기능이다.
스위치 맵퍼(52)는 ATM/IP PDU들과 결합되는 상태 머신(도시되지 않음)를 포함한다. 데이터 링크 관리기(72)는 64비트 인터페이스를 이용하는 P여를 외부 FIFO(도시되지 않음)에 기록한다. 데이터는 4비트의 패리티를 갖는 32비트 슬롯들로 외부 FIFO에서 스위치 맵퍼(52)로 전송된다. 외부 P여 FIFO 모니터들과 결합된 상태 머신은 FIFO의 상태를 모니터링하고 데이터 완결성을 유지한다.
메모리 및 다른 지원 회로들(도 1a 및 도 1b에 도시되지 않음)과 함께, 데이터 링크 관리기(72), 조정자 블록(56), 스위치 맵퍼(52), 가중화된 라운드 로빈 스켈쥴러(80)는 집합적으로 "수신 스위치 제어기"로 불릴 수 있다. 상세하게 상술한 바와 같이, 각각의 인입하는 ATM 셀 및 패킷은 ATM VPI/VCI 또는 IP 소스 및 수신처에 기초한 룩업을 수행함으로써 처리된다. 이러한 룩업은 우선 접속이 능동인지를 검증하고, 능동인 경우, 17비트 인덱스를 리턴한다. ATM 셀들에 있어서, 인덱스는 VC 파라미터들마다의 설정 및 라우팅 정보를 가리킨다. 패킷들에 있어서, 인덱스는 큐잉 파라미터들의 설정 및 라우팅 정보를 가리킨다. 17비트 인덱스는 포트 프로세서를 통해 최대 128K 동시적인 IP 및 ATM 흐름들을 지원한다. ATM 셀들은 셀 컨테이너에 캡슐화되고 외부 메모리내의 128K 큐들 중 하나에 저장된다. 이 128K 큐들은 데이터 링크 관리기(72)에 의해 관리된다. 상술한 바와 같이, IP 패킷들은 52바이트 블록들로 플래그먼트되고, 각각의 이 블록들은 셀 컨테이터(PDU)에 캡슐화된다. 이 셀 컨테이너들은 또한 데이터 링크 관리기에 의해 외부 메모리내의 128K 큐들 중 하나에 저장된다. 128K IP/ATM 흐름들은 스위치르 F통해 스케쥴링하는 32 QOS 뮤들 중 하나에 모여진다. 데이터 링크 관리기(72)는 또한 QOS 큐들로 스위치를 통해 셀들의 전송에 필요한 모든 제어 헤더들을 모으고 31밴 라우팅 태그 FIFO들 중 하나에 이들 라우팅 태그들을 삽입한다. 큐들 중 하나는 고 우선순위 트래픽을 위해 예약된다. 고 유선순위 큐에 도착한 어떤 셀들은 스케쥴러(80)를 인터럽트하고 즉시 고 우선순위 큐를 떠나도록 스케쥴링될 것이다.
스케쥴러(80)는 스위치를 통해 셀 컨테이너들을 스케쥴링하는데 책임이 있다. 이용되는 스케쥴링 알고리즘은 QOS 큐들에 대해 동작하는 가중화된 라운드 로빈이다. 셀들이 이 큐들로주터 스케쥴링된다면, 이 큐들로부터의 제어 헤더들은 조정자(56)에 전달되고 요청 제어 테이블(도시되지 않음)에 저장된다. 요청 조정자(56)는 제어 헤더들로부터 요청 요소들을 형성하고 이 요청들을 스위치를 통해 전송을 위한 스위치 데이터 맵퍼(52)에 전달한다. 이 요청들에 응답하여 수신된 승인들은 블록(58)에 의해 디시리얼라이즈된다. 승인된 요청들에 있어서, 셀 컨테이너들은 데이터 링크 관리기(72)에 의해 외부 메모리로부터 디큐잉(dequeue)되고 스위치를 통하여 전송을 위해 스위치 맵퍼(52)에 전달된다.
상술한 바와 같이, 포트 프로세서(10)는 신뢰성을 향상시키기 위하여 용장성을 지원한다. 2가지 용장성 방식들이 지원된다. 제 1 용장성 방식에 있어서, 스위치 제어기는 용장성의 라우팅 태그들 및 투명한 루트 스위치-오버를 지원한다. 제 2 용장성 방식에 있어서, 포트 프로세서는 입력 및 출력 방향들 양자 모두로 용장성의 데이터 채널들을 지원한다. 용장성의 데이터 채널들은 2개의 개별 스위치 구조들에 접속한다. 부록들에 있어서, 이 채널들은 A 및 B 데이터 채널들로 불린다. 각각의 제어 헤더는 2개의 라우팅 태그들을 포함하고, 각각의 라우팅 태그는 대응하는 AB 채널 태그를 갖는다. 이것은 데이터 전송에 있어서 스위치를 통하여 2개의 루트들을 위해 제공된다. 라우팅 태그들 양자 모두가 동일한 채널 태그를 갖는다면, 이것은 동일한 스위치 구조를 통해 2개의 교호 경로들을 고려한다. 라우팅 태그들 양자 모두가 서로 다른 채널들을 갖는다면, 이것은 용장성의 스위치 구조를 고려하고 하나의 스위치 구조에서의 어떤 루트 실패는 스위치-오버가 용장성의 스위치 구조를 이용하게 할 것이다. AB 채널 태그는 데이터가 A 데이터 채널 또는 B 데이터 채널을 이용하여 라우팅되는지를 나타내는데 이용된다. 만약, 프로그램가능한 수의 연속적인 시도 후, 어떤 승인도 A 채널 라우팅 태그를 이용한 요청 요소들에 응답하여 수신되지 않으면, 비트는 B 채널 라우팅 태그에 스위치 오버로 설정된다.
상술한 바와 같이, 조정자(56)는 요청들을 스위치 맵퍼(52)에 전달하고 승인 디맵퍼(62)로부터 도착하는 승인들을 처리할 책임이 있다. 조장자는 라우팅 FIFO로부터 요청들을 디큐잉하고, 이 정보를 요청 제어 테이블에 복사하고, FLOWID를 FLOWID RAM에 기록하고, 요청이 시도되는 회수를 카운트하는 요청 시도 카운터를 리셋하고, 승인 비트를 리셋한다. 각각의 요청 메시지는 승인 메시지에 리턴되는 고유 요청 ID를 갖는다. 요청 ID는, 라우팅 태그가 복사되는 조정자 요청 제어 테이블 내의 인덱스이다. 요청 ID에 따른 라우팅 태그는, 태그를 요청 메시지로 포맷팅하고 상기 요청을 스위치 맵퍼(52) 내의 요청 FIFO에 삽입하는 라우팅 태그 포맷터 블록에 전달된다.
승인 블록(62) 내의 승인 디맵퍼는 grant_reqid FIFO로 불리는 FIFO에 요청 ID 및 승인을 저장한다. 조정자 블록(56)에 있어서, 요청 ID들은, 대안적으로 스위치 오버 비트가 설정되는지에 따라 A 및 B grant_reqid FIFOS로부터 디큐잉된다. FIFO로부터의 요청 ID들은 요청 ID에 의해 나태내너지는 비트 위치에서 승인 레지스터 내의 승인 비트를 설정하고, FLOWID RAM을 인덱싱하고, 요청 ID와 결합된 FLOWID를 판독하는데 이용된다. 이 FLOWID는 적당한 채널을 위해 dep_flowid FIFO로 기록되는데, 예를 들어 요청 ID가 a reqid_fifo로부터 디큐잉된다면, FLOWID는 A deqflowid_fifo로 기록된다. 데이터 링크 관리기(72)는 deqflowid_fifo를 모니터링하고 외부 메모리로부터 데이터 PDU들을 디큐잉하도록 FLOWID를 이용하고 그들을 다음 행 시간에서 전송을 위해 스위치 맵퍼(52)에 전달한다.
end_of_grants 신호는 더 이상 승인들이 승인 디맵퍼에서 수신될 수 없을 때 승인 디맵퍼(62)로 표명된다. 대개의 스위치 구현들에 있어서, end-of-grants 신호는 비록 있다해도 드물게 표명된다. end-of-grant 신호가 수신된다면, 조정자(56)는 요청 제어 테이블을 갱신하는 처리를 시작한다. 승인이 요청 제어 테이블에 저장된 라우팅 태그를 위해 리턴되지 않았다면, 요청 시도 카운터는 증분되고 새로운 요청이 라우팅 태그를 이용하여 생성된다. 요청 제어 테이블에서 라우팅 태그가 RE로 전달된다면, (프로그램된) 최대 회수들, FLOWID의 최상위 15 비트들은 용장성의 제어 테이블에 인덱스하는데 이용되고, 현재 경로의 실패를 나타내고 대안의 라우팅 경로를 선택하기 위해 상기 비트를 갱신한다.
상술된 바와 같이, TDM 데이터, ATM/IP PDU의 데이터, 및 요청 메시지들은 스위치 구성을 통해 전송을 위한 단일 데이터 스트림으로 결합된다. 이러한 조합은 포트 프로세서의 수신측 상의 스위치 맵퍼(52)에 의해 수행된다. 포트 프로세서의 수신측 상에서, 스위치 디맵퍼(60)는 ATM/IP PDU들로부터 TDM 데이터를 분리한다. 본 발명의 양호한 실시예에 따라, 디맵퍼(60)는 PDU FIFO를 위해 외부 메모리에 제공된다. ATM/IP 데이터에 대해, 디맵퍼는 FIFO에 PDU들을 기록하고, 데이터 링크 관리기(74)를 인터럽트한다. 데이터 링크 관리기(74)는 PDU FIFO로부터 헤더 정보를 판독하고, FLOWID를 추출한다. FLOWID에 기초하여, 데이터링크 관리기(74)는 외부 메모리로부터 링크된 리스트/성형/스케쥴링 데이터 구조를 검색한다. 데이터 링크 관리기(74)는 PDU FIFO에 링크된 리스트 포인터들을 기록하고, 이어서 외부 메모리로 PDU를 이동시키기 위해 DMA 전송을 개시한다. 데이터 링크 관리기는 링크된 리스트/성형/스케쥴링 데이터 구조에서의 헤드, 테일, 및 카운트 필드들을 갱신하고, 성형/스케쥴링 FIFO를 통해 성형/스케쥴링 프로세서(76)에 데이터 구조를 건네준다. 성형/스케쥴링 프로세서(76)는 성형 및 스케쥴링 함수들을 수행하고, 링크된 리스트/성형/스케쥴링 데이터 구조를 갱신한다.
외부 메모리로부터 SONET/UTOPIA 데이터 FIFO들(30, 48)로의 데이터 플로우는 다음에 따른다. 데이터 링크 관리기(74)는 PDU FIFO 및 SONET/UTOPIA FIFO 상태 플래그들을 폴링한다. PDU FIFO가 비어있지 않고 SONET/UTOPIA FIFO가 특정 출력 포트에 대해 가득차지 않는 경우, 데이터 링크 관리기(74)는 PDU FIFO로부터 판독된 플로우 ID에 대한 링크 리스트/성형/스케쥴링 데이터 구조를 검색한다. (IP 패킷 플로우에 대해서, 패킷의 표시기의 엔드를 통해 PDU가 발견될 때까지, 데이터 링크 관리기는 링크된 리스트로부터 PDU들의 검색을 계속할 것이라는 것에 주의한다.) 이어서, 데이터 링크 관리기는 외부 메모리로부터 SONET/UTOPIA FIFO들(30, 48)로 DMA 전송을 개시한다. 이어서, 데이터 링크 관리기(74)는 링크 리스트/성형/스케쥴링 데이터 구조를 갱신하고, 그것을 외부 메모리에 역으로 기록한다.
포트 프로세서(10)의 전송측 상에서, 승인 블록(62)에서의 승인 프레이머, 디프레이머, 시리얼라이저 및 디시리얼라이저, 스위치 디맵퍼(60), 전송 데이터 링크 관리기(74)와, 전송 스케쥴러 및 성형기(76)는 전송 (TX) 스위치 제어기로서 집합적으로 지칭될 수 있다. TX 스위치 제어기는 출력 전송을 위해 포트 프로세서로 오는 허가 또는 거부 요청들에 책임이 있다. 이를 위해서, TX 스위치 제어기는, 요청의 출력 포트 번호에 의해 식별된 큐가 셀 컨테이너를 받아들일 수 있는 지의 여부를 체크한다. 이러한 128개의 큐들은 TX 데이터 링크 관리기(74)에 의해 관리된다. 본 발명의 양호한 실시예에 따라서, 이러한 큐들은 외부 메모리에 저장된다. 이러한 셀 컨테이너들의 스케쥴링은 TX 스케쥴러(76)에 의해 수행된다. 큐가 셀 컨테이너를 받아들일 수 있는 경우, 요청은 승인으로 바뀌어 grant_fifo로 삽입된다. 승인 프레이머 및 시리얼라이저(62)는 이러한 정보를 판독하고, 승인 경로를 통해 전송을 위한 승인 메시지를 생성한다.
TX 스위치 제어기는 다음에 따르는 3가지 규칙들을 사용하여 128개 출력 포트들 각각에 대한 데이터 큐들의 상태들을 모니터링한다. 요청된 출력 포트에 대해 full_status 비트가 설정되는 경우, 그 출력 포트를 위해 예정된 임의의 데이터 PDU들을 위한 큐에는 버퍼 스페이스가 존재하지 않고, 그 출력 포트에 대한 모든 요청들이 거부된다. full-status 비트가 설정되지 않고 nearly_full_status 비트가 설정되는 경우, 그 출력 포트를 위해 예정된 데이터 PDU들을 위한 큐에는 일부 스페이스가 존재한다; 그러나, 이러한 스페이스는 보다 높은 우선 순위 트래픽을 위해 예비될 수 있다. 이러한 예에서, QOS 수는 문턱값(프로그램된) QOS 수에 대해체크되고, QOS 수가 문턱값보다 작을 경우, 요청이 받아들여 질 것이다. nearly_full_status 비트가 설정되지 않는 경우, 모든 들어오는 요청들이 승인된다. 요청이 받아들여 지는 경우, 대응 출력 포트 카운터는 증가된다. 이것은 그 출력 포트에 데이터 PDU의 도착을 위해 데이터 버퍼(30 또는 48)에 스페이스를 예비한다. 전송 데이터 링크 관리기(74)는 128개 출력 포트 카운터들을 일정하게 모니터링하고, 128개의 가득찬 상태 비트들 및 거의 가득찬 상태 비트들을 설정/재설정한다.
포트 프로세서(10)는 완전한 발신 SONET 신호들을 생성한다. 모든 전송 및 경로 오버헤드 함수들이 지원된다. SONET 인터페이스들은 소스 타이밍 모드 또는 루프 타이밍 모드로 동작할 수 있다.
고차 포인터는 SONET 프레임들을 생성하도록 사용된 클럭들 및 SONET SPE들을 생성하도록 사용된 클럭에서의 타이밍 차들을 수용하기 위해 포지티브 및 네거티브 포인터 자리맞춤들을 통해 고차 포인터 발생기(38)에 의해 다루어진다. 초기에, SPE FIFO들은, 데이터가 꺼내지기 전에 중도에 채우도록 허용된다. 센터 포인트 주위의 편차들은, SONET 엔벨롭의 레이트가 SPE의 레이트보다 크거나 작은 지의 여부를 결정하도록 모니터링된다. SONET 엔벨롭의 레이트가 SPE의 레이트보다 더 큰 경우, 이어서 SPE FIFO는 점차적으로 보다 많이 빈 상태에 접근할 것이다. 이러한 경우에, 포지티브 포인터 움직임들은 SPE에 추가적인 데이터를 보낼 기회를 주기 위해 유출될 것이다. SONET 엔벨롭의 레이트가 SPE의 레이트보다 작은 경우, 이어서 SPE FIFO는 점차적으로 보다 많은 가득 찬 상태로 접근할 것이다. 이러한 경우에, 네거티브 포인터 움직임들은 SPE에 FIFO로부터 데이터의 용장성의 바이트를 출력할 기회를 주기 위해 유출될 것이다. SONET 프레이머 및 TOH 발생기(40)는 BELLCORE GR-253 표준에 따라 전송 오버헤드를 생성한다.
발신 SONET 프레임들은 수신측 SONET 인터페이스로부터 회복된 타이밍 또는 포트 프로세서의 소스 타이밍으로부터 생성된다. 각각의 신호는 개별적으로 구성되고, 서로 다르게 구성될 수 있다. 발신 SONET 프레임들의 프레임 배향은 임의적이다. 각각의 4개의 신호들은 서로 다른 타이밍을 나타낼 수 있으므로, 그 신호들이 일정하게 멀어질 때, 그 신호들을 함께 동기화하려고 할 필요가 없다. 이것이 Rx 포트의 모든 재정렬 후의 Tx 포트 재정렬을 결과적으로 나타내기 때문에, Tx 포트들을 Rx 포트들로 프레임 정렬할 필요가 없다.
OC-3 및 OC-12에 대해, 16 비트 폭 내부 버스는 시리얼라이저(42)에 의해 155Mbps 또는 622 Mbps로 차례로 나열된다. OC-48 애플리케이션들에 대해, 전체 16비트 버스는 외부 시리얼라이저(도시되지 않음)의 제어 하에 출력된다.
발신 SONET 인터페이스들을 위해 생성되는 48개의 서로 다른 SPE들에 대한 포텐셜이 존재한다. 모든 이러한 SPE들은 신호 타이밍 기준으로부터 생성된다. 이것은 모든 SPE 발생기들이 서로 다른 SONET 타이밍 도메인들의 서로 다른 클럭들 사이에 멀티플렉싱 없이도 모든 SONET 및 Telecom 버스 인터페이스들 사이에 공유되도록 한다. SPE는 경로 레벨 오버헤드 및 페이로드 데이터로 구성된다. 페이로드 데이터는 TDM, ATM, 또는 패킷일 수 있다. 모든 이러한 트래픽 유형들은 단일 SPE들로 맵핑되거나 그 각각의 표준들에 요구되는 바와 같이 SPE들로 연결된다. SPE들이 생성될 때, 그것들은 SPE FIFO들로 넣어진다. 각각의 SPE에 대해, 64 바이트 FIFO가 존재하고, 이러한 개개의 SPE FIFO들은 SPE 연결 구성 레지스터들을 통해 연결된다. 상술된 바와 같이, SPE FIFO들의 충전 상태는 포지티브 또는 네거티브 포인터 자리 맞춤을 수행하기 위해 정확한 타임을 결정하도록 사용된다.
TDM, ATM, 및 패킷 데이터는 그 각각의 표준들에 의해 명시된 바와 같이, SONET SPE들로 모두 맵핑된다. 각각의 포텐셜 48개 SPE들에 전달된 데이터의 유형은 외부 호스트 프로세서를 통해 구성된다. 이러한 구성에 기초하여, 각각의 SPE 발생기는 맵퍼의 정확한 유형으로 할당된다. 모든 이러한 구성은, 초기에 수행되고, 특정 SPE가 먼저 디스에이블될 때만 변경될 수 있다. 일단 구성이 완료되면, 각각의 SPE에 할당된 함수 블록들의 격리된 세트가 존재한다. 함수 블록들의 이러한 세트는: 페이로드 맵퍼, 페이로드 FIFO, POH 발생기, SPE FIFO, 및 SPE 발생기 중 하나를 포함한다. 각각의 ATM 및 패킷 페이로드 맵퍼들은 자신이 특정 SPE에 대한 페이로드 데이터를 기록하는 페이로드 FIFO를 갖는다. TDM 트래픽에 대해, 각각의 포텐셜 가상 컨테이너가 자신의 FIFO에 할당된다.
도 2a 및 도 2b로 돌아가면, 각각의 "데이터 경로 및 링크 대역폭 조정 모듈"(102)에서, 데이터 스트림 디시리얼라이저(126)는 들어오는 직렬 데이터 스트림에서 동기화하고, 이어서 2개의 물리적 유니링크 채널들을 사용하여 전송되는 행 스트림을 리어셈블링한다. 또한, 그것은, 스트림들이 행 어셈블리 전에 "디스큐잉(deskew)"될 수 있도록 각각의 2개의 들어오는 직렬 스트림들 상에 FIFO 버퍼링을 제공한다. 그것은 12개의 입력 링크들을 디스큐잉하도록 사용되는 제 3FIFO에서 행 스트림으로부터 36 비트 슬롯 데이터를 회복한다. 이러한 디스큐잉 단계는 모든 입력 링크들이 동시에 스위칭 코어에 슬롯 N을 포워딩하도록 한다. 링크 디스큐잉 단계는 링크 동기화 및 타이밍 제어 모듈(150)에 의해 제어된다. 또한, 디시리얼라이저(126)는 들어오는 행의 슬롯 0이 스위치 요소 내의 내부 행 경계 신호에 대조하는 곳 사이에 델타를 지속적으로 모니터링한다. 링크 RISC 프로세서(156)에 그 차이가 보고되고, 입력 링크에 접속된 포트 프로세서를 동기화하도록 범위 처리의 일부로서 (스위치의 제 1 스테이지에서) 사용된다.
데이터 스트림 디맵퍼(128)는 들어오는 직렬 데이터 링크들로부터 데이터를 추출하는데 책임이 있다. 그것은 입력 슬롯 수에 기초하여 입력 링크 슬롯들을 디맵핑하고, 트래픽이 TDM, PDU, 또는 요청 요소(RE)인 지의 여부를 결정한다. TDM 트래픽에 대해, 디맵퍼는 수신처 링크 및 행 버퍼(132) 메모리 주소를 결정한다. 이러한 정보는, TDM 접속들이 부가되거나 종료될 때 소프트웨어에 의해 구성되는 디맵퍼 RAM(도시되지 않음)에 저장된다. PDU 트래픽에 대해, 디맵퍼(128)는 PDU를 단일 64 바이트 PDU 워드로 구성하는 모든 16개 슬롯들을 어셈블링하고, 이어서 행 버퍼 맵퍼 로직(130)으로 이러한 전제 PDU 워드를 포워딩한다. PDU들은, 행 버퍼 맵퍼(130)가 단일 클럭 사이클에서 행 버퍼(132)에 전체 PDU를 기록할 수 있도록 자신들을 행 버퍼(132)에 포워딩하기 전에 어셈블링된다. 이것은 행 버퍼(132)에 최대한 가능한 기록측 메모리 대역폭을 제공한다. 그것은 12개의 전체 PDU들이 6개의 링크 슬롯 타임들(12개의 코어 클럭 사이클들)에서 단일 행 버퍼에 기록되는 스위치 요소의 중요한 특징이다. 요청 요소들에 대해, 디맵퍼(128)는 RE의 3개의 슬롯 블록을 2개의 48 비트 RE들로 어셈블링하고, 그것들을 요청 파서 모듈(request parser module)(152)로 포워딩한다.
행 버퍼 맵퍼(130)는 데이터 스트림 디맵퍼(128)로부터 로우 버퍼(132)로 수신되는 트래픽을 맵핑하는데 책임이 있다. 맵퍼(130)는, TDM 트래픽이 데이터 스트림 디맵퍼(128)로부터 수신되어, 그것을 행 버퍼(132)에 기록할 때 TDM 트래픽을 위해 FIFO 버퍼들을 제공한다. 행 버퍼 메모리 주소는 데이터 스트림 디맵퍼 모듈(128) 내의 디맵퍼 RAM(도시되지 않음)에서 실제로 미리 구성된다. 그 모듈은 TDM 슬롯 데이터에 따라 행 버퍼 맵퍼(130)에 주소를 포워딩한다. 또한, 맵퍼(130)는 데이터 스트림 디맵퍼(128)로부터 행 버퍼(132)로 PDU 트래픽을 기록하고, 각각의 PDU가 기록될 행 버퍼(132) 내에 주소를 계산한다. PDU들은 주소 0에서 시작하는 행 버퍼들로 기록되어, PDU의 최대로 구성된 수까지 모든 16개 슬롯 주소 경계가 그 이후에 행 버퍼(132)에 어드레싱한다.
행 버퍼(132)는 행 버퍼 메모리 요소들을 포함한다. 본 발명의 양호한 실시예에 따라, 그것은, 하나의 행 버퍼가 행 N-1 동안 기록된 행 데이터가 데이터 스트림 맵퍼(136)에 의해 판독되는 반면에, 행 N 동안 기록되도록 하는 이중 버퍼링된 행 스토리지를 제공한다. 각각의 행 버퍼는 1536개 슬롯들의 데이터를 저장할 수 있다. 이것은 행 버퍼가 96개 PDU들 또는 1536개 TDM 슬롯들이나, 그러한 2개의 트래픽 유형들의 조합을 저장하도록 한다. 요청 요소들 및 링크 오버헤드 슬롯들은 행 버퍼(132)로 보내지지 않는다. 그러므로, 행 버퍼는 전체 1700개 입력 링크 슬롯들을 수용하도록 사이징(size)될 필요가 없다. 본 발명의 양호한 실시예에 따라,행 버퍼 기록 포트는 16*36=576 비트 폭이고, 단일 클럭 사이클에서 전체 576 비트 워드(PDU 데이터)의 기록 또는 단지 하나의 36 비트 슬롯(TDM 데이터)의 기록을 지원한다.
요청 조정은 2가지 구성요소들을 이용한다: 각각의 출력 링크들에 대한 중앙 집중된 요청 파서 모듈(152) 및 요청 조정 모듈(134). 요청 요소들은 데이터 스트림 디맵퍼(128)에 의해 입력 슬롯 스트림으로부터 추출되고, 요청 파서(152)로 포워딩된다. 요청 파서(152)는 2개의 요청 버스들(입력 링크 버스(120)의 일부)을 통해 적절한 요청 조정 모듈(134)로 48 비트 요청 요소들을 포워딩한다. 이러한 타이밍은 요청 조정 로직이 8개의 코어 클럭 사이클들 보다 작은 13개의 요청 소스들을 처리하도록 한다. 13개의 요청 소스들은 12개의 입력 데이터 스트림들과, 내부 멀티캐스트 및 대역 내 제어 메세징 모듈(156)이다. 요청 조정 모듈(134)은 2개의 요청 요소를 모니터링하고, 요청 조정 모듈이 구현하는 출력 링크들에 대해 타겟팅되는 모든 요청 요소들에서 판독한다. 본 발명의 양호한 실시예에 따라서, 요청 조정 모듈(134)은 24개의 요청 요소들까지 버퍼링을 제공한다. 새로운 요청 요소가 수신될 때, 그것은 자유로운 RE 버퍼(도시되지 않음)에 저장된다. 어떤 자유로운 RE 버퍼들도 없는 경우, 이미 버퍼에 저장된 최하위 우선 순위 RE는, 새로운 RE가 보다 높은 우선 순위인 경우, 그 새로운 RE로 대체된다. 새로운 RE가 RE 버퍼들에 현재 저장된 모든 RE들과 우선 순위에서 동일하거나 보다 낮은 경우, 그 새로운 RE는 폐기된다. 출력측 상에서, 데이터 스트림 맵퍼 모듈(138)이 다음 RE를 수신하기 위해 준비할 때, 요청 조정 모듈(134)은 데이터 스트림 맵퍼 모듈(136)로 RE 버퍼들에저장된 최상위 우선 순위 RE를 포워딩한다. RE 버퍼들이 비어있을 경우, "유휴" RE가 포워딩된다.
데이터 스트림 맵퍼(136)는 발신 직렬 데이터 링크들로 데이터 및 요청 요소들을 삽입할 책임이 있다. 이것은, 트래픽이 TDM, PDU, 요청 요소, 또는 테스트 트래픽인 지의 여부를 결정하도록 출력 슬롯 수에 기초하여 출력 링크 슬롯들의 맵핑 단계를 포함한다. 결정은 맵퍼 RAM(도시되지 않음)의 콘텐츠들에 기초한다. TDM 트래픽에 대해, 행 버퍼 메모리 주소는, TDM 접속들이 추가되거나 종료되는 것처럼 소프트웨어에 의해 구성되는 맵퍼 RAM으로부터 결정된다. PDU 트래픽에 대해, 데이터 스트림 맵퍼(136)는 행 버퍼(132)로부터 한번에 하나의 슬롯을 판독한다. 행 버퍼 메모리 주소는 소프트웨어에 의해 맵퍼 RAM에 저장된다. 타겟 PDU가 유효하지 않은 경우(즉, PDU가 이전 행 타임 동안 그 행 버퍼 위치에 기록되지 않음), 맵퍼(136)는, 데이터 PDU가 스위치 내에서 복제되지 않는 것을 보증하도록 유휴 패턴을 전송한다. 요청 요소들에 대해, 맵퍼는 2개의 48 비트 RE들로부터 RE들의 3개 슬롯의 블록을 어셈블링한다. RE들은 요청 조정 모듈(134)로부터 판독된다. 테스트 패턴들에 대해, 맵퍼(136)는 출력 링크 버스(122)로부터 적절한 테스트 패턴을 삽입한다. 이러한 테스트 패턴들은 테스트 패턴 발생기(162) 또는 테스트 인터페이스 버스(164) 모듈들에 의해 생성된다.
데이트 스트림 맵퍼는 출력 스테이지에서 슬롯 멀티캐스팅을 지원한다. 예를 들어, 임의의 출력 링크를 위한 데이터 스트림 맵퍼는 어떠한 다른 출력 링크가 현재 슬롯 타임 상에서 보내는 어떠한 것도 카피할 수 있다. 이러한 카피 단계는 맵퍼 RAM을 통해 제어되고, 맵퍼가 슬롯 단위로 또다른 출력 링크로부터 출력 데이터를 카피하도록 한다.
데이터 스트림 시리얼라이저(138)는 출력 링크 직렬 스트림을 생성한다. 데이터 슬롯들은 데이터 스트림 맵퍼 모듈(136)을 통해 수신되고, 링크 오버헤드는 데이터 스트림 시리얼라이저(138)에 의해 내부적으로 생성된다. 또한, 시리얼라이저(138)는 2개의 경로들(110, 114)에 대한 전송을 위해 행 데이터 스트림을 2개의 스트림들로 분할한다.
각각의 모듈에서의 승인 스트림 디시리얼라이저(140)는 데이터 스트림 디시리얼라이저(126)와 대단히 동일한 방식으로 동작한다. 주요한 차이는, 승인 데이터가 단일 경로만을 이용하므로, 단일 입력 직렬 스트림을 회복하기 위한 디스큐잉 단계 및 디인터리빙 단계에 대한 필요를 제거한다는 것이다. 이러한 직렬 링크가 1/2 데이트 스트림 레이트의 포워드 링크이기 때문에, 행 타임 당 850개의 슬롯들이 존재한다. 단일 FIFO(도시되지 않음)는 모든 12개의 링크들을 위해 입력 직렬 승인 스트림들의 디스큐잉 단계를 허용하도록 사용된다.
승인 스트림 디맵퍼(142)는 들어오는 직렬 승인 링크들로부터 데이터를 추출할 책임이 있다. 이것은, 트래픽이 승인 요소 또는 또다른 종류의 트래픽인 지의 여부를 결정하도록 입력 슬롯 수에 기초하는 수신된 승인 링크 슬롯들의 디맵핑 단계를 포함한다. 결정은 승인 디맵퍼 RAM(도시되지 않음)의 콘텐츠들에 기초한다. 본 발명의 양호한 실시예에 따라서, 승인 요소들 외의 트래픽은 아직 규정되지 않는다. 승인 요소들에 대해, 승인 스트림 디맵퍼(142)는 3개 슬롯의 블록의 GE들을2개의 48 비트 GE들로 어셈블링하고, 그것들을 단일 승인 파서 모듈(154)로 포워딩한다.
승인 조정 모듈(144)은 요청 조정 로직(134)과 동일한 방식으로 동작한다. 본 발명의 양호한 실시예에서, 이러한 모듈은 요청 조정 모듈과 동일하다. 유일한 차이는, 그것이 포워드 경로에서의 요청 요소들 대신에 리버스 경로에서의 승인 요소들을 처리한다는 것이다. 승인 요소들이 사실상 리턴된 요청 요소들이라는 것이 회상될 것이다.
승인 스트림 맵퍼(146)는 발신 직렬 승인 링크들로 데이터를 삽입할 책임이 있다. 그것은, 트래픽이 승인 요소 또는 테스트 트래픽인 지의 여부를 결정하도록 출력 슬롯 수에 기초하여 출력 승인 슬롯들을 맵핑한다. 결정은 승인 맵퍼 RAM(도시되지 않음)의 콘텐츠들에 기초한다. 승인 요소들에 대해, 그것은 2개의 48비트 GE들로부터 3개 슬롯의 블록을 어셈블링한다. GE들은 승인 조정 모듈(144)로부터 판독된다. 테스트 패턴들에 대해, 그것은 출력 링크 버스(122)로부터 적절한 테스트 패턴을 삽입한다. 이러한 테스트 패턴들은 테스트 패턴 발생기(162) 또는 테스트 인터페이스 버스(164) 모듈들에 의해 생성된다. 승인 스트림 맵퍼(146)의 상세한 기술은 섹션 7.2.3.2에서 제공된다.
승인 스트림 시리얼라이저(148)는 데이터 스트림 시리얼라이저(138)와 대단히 동일한 방식으로 동작한다. 주요한 차이는, 승인 데이터가 단일 경로만을 이용하므로, 다중 출력 직렬 스트림들에 걸쳐 전송 직렬 스트림을 인터리빙할 필요가 없다는 것이다. 이러한 직렬 링크가 1/2 포워드 데이터 스트림 레이트이기 때문에,행 타임 당 850개의 슬롯들만이 존재한다.
상술된 모듈들(요청 파서 및 승인 파서 제외)은 각각의 스위치 요소(100)를 위해 12개가 존재하는 각각의 링크 모듈(102)에 대해 설명되고 있다. 다음에 따르는 모듈들은 각각의 스위치 요소에 대해 한번만 설명된다.
링크 동기화 & 타이밍 제어(150)는 스위치 요소에서 사용된 글로벌 동기화 및 타이밍 신호들을 제공한다. 그것은, 모든 직렬 입력들이 RSYNC(행 동기화) 입력 기준으로 동기화된 행 데이터를 전송하기 시작하도록 전송 제어 신호들을 생성한다. 또한, 그것은, 모든 12개의 입력 링크들이 입력 링크 버스(120) 상으로 동일한 시간에 슬롯 N에 대한 데이터를 드라이빙하도록 데이터 스트림 디시리얼라이저들에서 디스큐잉 FIFO들을 제어한다. 이러한 동일 디스큐잉 메카니즘은 승인 스트림 디시리얼라이저들 상에서 구현된다.
요청 파서(152)는 모든 13개의 요청 요소 소스들로부터 입력들을 수신하고, 2개의 요청 요소 버스들을 통해 적절한 요청 조정 모듈들로 RE들을 포워딩한다.
승인 파서(154)는 물리적으로 동일한 방식으로 동작하고, 요청 파서(152)와 동일하다. 유일한 차이는, 그것이 포워드 경로에서의 요청 요소들 대신에 리버스 경로에서의 승인 요소들을 처리한다는 것이다. 언급된 바와 같이, 승인 요소들은 요청 요소들과 같은 동일한 정보, 즉 하나의 포트 프로세서로부터 또다른 포트 프로세서로의 스위치를 통한 링크 어드레스를 포함한다.
링크 RISC 프로세서(156)는 스위치 구성의 제 1 스테이지에서 소스 포트 프로세서들을 통해 입력 링크들 상의 범위 동기화를 제어한다. 또한, 그것은 스위치구성의 최종 스테이지에서 소스 포트 프로세서들을 통해 출력 링크 승인 스트림 입력 상의 범위 동기화를 제어한다. 또한, 그것은 멀티캐스트 메시지들 전송을 위해 요구된 Req/Grant 처리 단계를 다루고, 대역 내 통신 PDU들의 수신 및 전송을 제어한다. 모든 대역 내 통신 PDU들은 메시지들을 해석하는 구성 RISC 프로세서(158)로 포워딩된다. 링크 RISC 프로세서(156)는 멀티캐스트 및 대역 내 통신 메시지들을 전송하도록 요구된 Req/Grant 처리 단계를 다룬다.
구성 RISC 제어기(158)는 상술된 바와 같은 외부 제어기 모듈(도시되지 않음) 및 대역 내 통신 메시지들로부터 수신된 구성 및 상태 메시지들을 처리한다. 시스템 제어 모듈(160)은 모든 재설정 입력들을 다루고, 적절한 내부 모듈들을 재설정한다. 구성 RISC 제어기(158) 및 시스템 제어 모듈(160)은 Tensilica, Inc., Santa Clara, CA로부터의 XtensaTM 프로세서를 통해 양호하게 구현된다.
테스트 패턴 발생기 및 분석기(162)는 데이터 스트림 또는 승인 스트림 출력들 상의 임의의 슬롯으로 보내질 수 있는 다양한 테스트 패턴들의 생성을 위해 사용된다. 또한, 그것은 수신된 데이터 스트림 또는 승인 스트림으로부터 입력 슬롯들을 모니터링할 수 있다.
테스트 인터페이스 버스 멀티플렉서(164)는 외부 I/O 핀들로부터 전송 데이터를 소싱하고, 그 I/O 핀들로 데이터를 포워딩하도록 한다. 이것은, 포트 프로세서가 사용가능하지 않을 때 스위치 요소 테스팅을 위해 사용된다.
유니링크 PLL(166)은 유니링크 매크로들에 의해 요구된 IF 클럭을 생성하도록 사용된다. 각각의 유니링크 매크로 내에서, 또다른 PLL은 직렬 클럭 레이트까지IF 클럭을 곱한다. 코어 PLL(168)은 스위치 요소 코어 로직에 의해 사용되는 클럭을 생성하도록 사용된다. 본 발명의 양호한 실시예에서, 코어 클럭은 대략 250 MHz이다.
JTAG 인터페이스(170)는 2가지 목적들을 위해 사용된다:(1) ASIC 팹(ASIC fab)에서 스위치 요소의 경계 스캔 테스팅 및 (2) 구성 RISC 프로세서에 대한 디버그 인터페이스.
도 2a 및 도 2b에 도시되는 바와 같이, 입력 링크들로부터 출력 링크들로 스위칭된 트래픽을 이동시키기 위해 사용되는 3개의 데이터 경로 버스들(입력 링크 버스(120), 출력 링크 버스(122), 및 승인 버스(124))이 존재한다. 또한, 이러한 버스들은 스위치 요소 내에서 내부적으로 소싱 또는 종결되는 트래픽을 전달하도록 사용된다. 입력 링크 버스의 중요 데이터 경로들은 이하의 테이블 2에서 요약된다. 출력 링크 버스의 중요 데이터 경로들은 이하의 테이블 3에서 요약된다. 승인 버스의 중요 데이터 경로들은 이하의 테이블 4에서 요약된다.
명칭 Qty 기술 소스
islot_num 1 11 트래픽에 대한 현재 입력 슬롯 수 링크 Sync &
ilink_req_0 thruilink_req_11 12 48 입력 링크 상에 수신돈 요청 요소들 각각의 입력 링크에 대한 스트림 디맵퍼 모듈
lcl_req_0 1 48 국부적으로 생성된 요청 요소들 링크 RISC 제어기
req_a, req_b 2 48 파싱된 요청 요소들 요청 파서
ilink_tdm_data_0 thruilink_req_11 12 47 TDM 데이터, 36 비트 데이터+11 비트 수신처 행 버퍼 어드레스 각각의 입력 링크에 대한 스트림 디맵퍼 모듈
ilink_tdm_dlink_0 thruilink_tdm_dlink_11 12 4 수신처 출력 링크(즉, 행 버퍼) 식별자 각각의 입력 링크에 대한 스트림 디맵퍼 모듈
ilink_pdu_0 thruilink_pdu_11 12 512 들어오는 슬롯들로부터 어셈블링된 완전한 64 바이트 PDU 각각의 입력 링크에 대한 스트림 디맵퍼 모듈
ilink_pdu_flag_0 thruilink_pdu_flag_11 12 13 각각의 플래그는, 현재 PDU가 어드레싱되는 각각의 수신처에 대해 선언됨. 전체 수신처들=12 출력 링크들 플러스 내부 MC & 대역 내 Comm 제어기 각각의 입력 링크에 대한 스트림 디맵퍼 모듈
lcl_pdu 1 64 국부적으로 생성된 PDU들을 데이터 스트림 디맵퍼들에 전송하도록 사용되는 버스 링크 RISC 제어기
테이블 2
명칭 Qty 기술 소스
oslot_num 1 11 출력 링크들을 위해 예정된 트래픽에 대한 현재 출력 슬롯 수 링크 Sync & 타이밍 Ctrl
rbuf_dout_0 thrurbuf_dout_11 12 36 행 버퍼로부터의 슬롯 데이터 출력 각각의 출력 링크에 대한 행 버퍼
rbuf_rd_addr 12 12 어드레스가 판독된 행 버퍼 각각의 출력 링크에 대한 데이터 스트림 맵퍼
test_src1,test_src2,test_src3 3 36 테스트 트래픽 소스들 테스트 패턴 발생기, 테스트 인터페이스 버스
idle_ptrn 1 36 어떤 유효한 PDU 데이터도 사용가능하지 않을 때 전송되는 유휴 패턴 각각의 입력 링크에 대한 데이터 스트림 디맵퍼 모듈
olink_req_0 thruolink_req_11 12 48 각각의 출력 링크에 대한 요청 요소들 Req 조정 모듈들
omap_data_0 thruomap_data_11 12 36 맵핑 멀티플렉서들 후의 링크 출력. 모든 12개의 출력들은, TDM 멀티캐스팅이 이루어질 수 있도록 각각의 데이터 스트림 맵퍼들로 피드백됨. 각각의 출력 링크에 대한 데이터 스트림 맵퍼
테이블 3
명칭 Qty 기술 소스
olink_gntslot_num 1 10 승인 스트림 디시리얼라이저들로부터의 트래픽에 대한 현재 입력 슬롯 수 링크 Sync & 타이밍 Ctrl
olink_gnt_0 thruolink_gnt_11 12 48 출력 링크와 결합된 승인 수신기 상에서 수신된 승인 요소들 승인 스트림 디맵퍼
olink_gntslot_0 thruolink_gndslot_11 12 36 수신된 승인 스트림으로부터 디맵핑된 슬롯들. 승인 요소들을 전달하지 않는 슬롯들이 존재함. 승인 스트림 디맵퍼
gnt_a, gnt_b 2 48 파싱된 승인 요소들 승인 파서
테이블 4
본 발명의 양호한 실시예들에 따라, 각각의 스위치 요소는 멀티캐스트 제어기 및 개별 멀티캐스트 PDU 버퍼를 포함한다. 2개의 대안적인 실시예들은 멀티캐스팅을 위해 제공된다. 제 1 실시예는 보다 적은 게이트들을 요구하고, 멀티캐스팅이 트래픽의 주요한 부분이 아닌 환경에 대해 최상으로 부합된다. 제 2 실시예는 구현하기 위해 보다 많은 게이트들을 요구한다. 그러나, 멀티캐스팅이 빈번한 경우인 환경에서 더욱 양호하게 부합된다. 제 2 실시예는 멀티 캐스트 경로 셋업에서 보다 많은 지연을 요구하지만, 멀티캐스팅 데이터에서는 보다 적은 지연을 요구한다.
제 1 실시예에 따라, 멀티캐스트 요청 요소들은 표준 유니캐스트 요청 요소들과 동일한 방식으로 스위치를 통해 플로잉한다. 메시지가 멀티캐스팅 되도록 요구하는 시점에서, 그러한 스위치 스테이지에 대한 홉 단위 필드의 비트 코드는, 요청이 멀티캐스팅되는 것을 표시한다. 그 요청은 멀티캐스트 제어기로 포워딩된다. 승인 경로 상에서, 멀티캐스트 제어기는, 멀티캐스트 재순환 버퍼들에서 데이터를 위한 공간이 존재하는 경우에 승인을 소싱한다. 일단 데이터가 멀티캐스트 버퍼로 전송되었다면, 멀티캐스트 제어기는 데이터 헤더를 검사하고, 어떠한 출력 링크들이 그것이 보내지도록 요구하는가를 결정한다. 이 시점에서, 멀티캐스트 제어기는유니캐스트 요청들과 동일한 방식으로 취급되는 다수의 요청 메시지들을 소싱한다. 처리 단계는 전송 요청, 수신 승인, 전송 PDU의 시퀀스를 통해 반복한다. 즉, 각각의 멀티캐스트 PDU가 전송되기 이전에, 요청 및 승인이 스위치를 트래버싱해야 한다. 이러한 장치는 "저장 및 포워드" 장치로 간주될 수 있다. 그러한 장치는 멀티캐스트 데이터에 관하여 일부 지연을 도입한다. 일부의 이러한 지연을 개선하기 위해, 멀티캐스트 PDU들은 멀티캐스트 캐쉬 태그(McCacheTag)를 포함하고, 4 비트 태그는, PDU를 복제할 때 사용하도록 멀티캐스트 캐쉬 엔트리를 식별한다. 멀티캐스트 제어기는 멀티캐스팅을 위해 PDU를 카피하기 이전에 McCacheTag와 McCache(라우팅 테이블의 서브세트)를 비교한다. McCacheTag에 대응하는 McCache에 엔트리가 없는 경우, PDU는 폐기된다. 캐쉬 엔트리들은 멀티캐스트 파리미터 PDU(요청 요소와 유사)를 통해 로딩된다. 멀티캐스팅의 제 1 실시예는 16,000 능동 멀티캐스트 플로우들까지 지원한다. 각각의 MC 패킷에 대한 지연은 2개의 행 타임들이다.
제 2 실시예에 따라, 멀티캐스트 경로는, 모든 홉들이 승인되었을 때까지 다중 요청들(각각의 홉에 대해 하나)에 의해 타임의 기간동안 예비된다. 일단 경로가 이러한 방식으로 셋업되면, PDU들은, 예비된 타임이 만기되거나 전송을 위한 더 이상의 PDU들이 존재하지 않을 때까지 지연없이 차례대로 멀티캐스팅된다. "저장 및 포워드" 이외에, 제 2 실시예는 "대역폭 사전 할당" 메카니즘을 구현한다. 멀티캐스트 경로(트리)는 "행 타임들"로 측정된 시간의 기간 동안 예비된다. 이러한 실시예의 지연은 스위치를 통한 각각의 홉에 대해 하나의 행 타임을 요구하는 경로의 셋업에서 모두 존재한다. 이러한 실시예의 멀티캐스트 PDU는 캐쉬 태그를 포함하지않지만, 다른 면에서는 제 1 실시예의 PDU와 동일하다. 파라미터 PDU는 슬롯들 0-3을 포함한다. 슬롯 0은 유니캐스트 요청 요소에서와 동일하다. 슬롯들 1 및 2는 링크 대역폭을 조정하기 위한 다른 정보 뿐만 아니라 하나의 수신처를 위한 라우팅 태크를 포함한다. 슬롯 3은 멀티캐스트 세션 동안 요청된 지속 기간의 표시를 포함한다. 지속 기간 표시는 16 비트이다. 그러므로, 요청될 수 있는 가장 긴 지속 기간은 64,000 행 타임들이다. 언급된 바와 같이, 9개의 행 타임들은 하나의 SONET 프레임 타임과 같다. 제 2 멀티캐스팅 실시예는 128,000 능동 발신 멀티캐스트 플로우들까지 허가한다. 제 2 실시예의 지연은 멀티캐스트 플로우를 셋업하도록 N+1 행 타임들이고, 스위치를 통해 데이터를 건네주기 위한 N 행 타임들이며, 여기서 N은 스위치의 스테이지들의 수이다.
본 명세서에서는 TDM, ATM, 및 IP 트래픽을 지원하는 네트워크 스위치의 여러 실시예들을 기술하고 예시하였다. 본 발명의 특정 실시예들만이 기술되었지만, 본 발명은 그에 제한되지 않고 본 기술 분야의 범위를 폭넓게 포함한다. 그러므로, 당업자는 특허 청구 범위에서와 같이 본 발명의 정신 및 범위로부터 벗어나지 않고도 다른 수정들이 본 발명에 제공될 수 있다는 것을 이해할 것이다.

Claims (67)

  1. 단일 통신 스위치를 통해 ATM, TDM, 및 패킷 데이터를 스위칭하는 방법에 있어서,
    a) 제 1 복수의 행들을 갖는 반복 데이터 프레임을 생성하는 단계로서, 각각의 행은 제 2 복수의 슬롯들을 갖는, 상기 반복 데이터 프레임 생성 단계,
    b) TDM 데이터를 위해 프레임의 모든 행에 슬롯들을 미리 할당하는 단계,
    c) 하나의 행에서 고정된 수의 슬롯들로서 PDU를 규정하는 단계,
    d) 조정 방식에 기초하여 ATM 데이터 및 패킷 데이터에 PDU들을 할당하는 단계를 포함하는, 스위칭 방법.
  2. 제 1 항에 있어서,
    반복 데이터 프레임을 생성하는 상기 단계는 125 밀리초 마다 상기 프레임을 반복하는 단계를 포함하는, 스위칭 방법.
  3. 제 1 항에 있어서,
    각각의 슬롯은 E-1 또는 DS-1 신호를 수용하기에 충분히 큰 대역폭을 갖는, 스위칭 방법.
  4. 제 1 항에 있어서,
    각각의 PDU는 52 바이트의 페이로드를 수용하는, 스위칭 방법.
  5. 제 4 항에 있어서,
    e) 52 바이트 보다 더 큰 패킷들을 52 바이트 조각들로 분할하는 단계를 더 포함하는, 스위칭 방법.
  6. 제 1 항에 있어서,
    상기 조정 방식은 행 N 동안 행 N+1에서의 PDU에 대한 요청을 하는 단계를 포함하는, 스위칭 방법.
  7. 제 6 항에 있어서,
    상기 요청은 행 N 동안 승인되는, 스위칭 방법.
  8. 제 6 항에 있어서,
    상기 요청은 "홉 단위(hop-by-hop)" 내부 스위치 라우팅 정보 및 우선 순위 레벨 정보를 포함하는, 스위칭 방법.
  9. 제 7 항에 있어서,
    상기 요청은 대역 외에서 승인되는, 스위칭 방법.
  10. 제 6 항에 있어서,
    PDU들은 각각의 행에서 초기에 구성되고, TDM 슬롯들은 각각의 행에서 늦게 구성되는, 스위칭 방법.
  11. 제 1 항에 있어서,
    상기 프레임은, 각각의 행이 1700개의 슬롯들을 포함하는 9개의 행들을 포함하는, 스위칭 방법.
  12. 제 11 항에 있어서,
    각각의 슬롯은 4 바이트 페이로드를 포함하는, 스위칭 방법.
  13. 제 12 항에 있어서,
    PDU는 16개의 슬롯들을 포함하는, 스위칭 방법.
  14. 제 1 항에 있어서,
    e) 상기 스위치로의 입구에서 SONET 프레임으로부터 TDM 데이터를 추출하는 단계,
    f) 상기 스위치로의 입구에서 상기 SONET 프레임의 V-V4 바이트들을 스트립 오프(strip off)하는 단계, 및
    g) 상기 스위치로부터의 출구에서 V1-V4 바이트들을 재생성하는 단계를 더포함하는, 스위칭 방법.
  15. 제 1 항에 있어서,
    상기 조정 방식은 PDU들을 멀티캐스팅하는 방법을 포함하는, 스위칭 방법.
  16. 통신 스위치에서 대역폭을 조정하는 방법에 있어서,
    a) 복수의 행들을 갖는 반복 데이터 프레임을 생성하는 단계,
    b) 행 N 동안 행 N+1에서의 스페이스에 대한 요청들을 하는 단계, 및
    c) 대역 외 링크를 통해 요청들을 승인하는 단계를 포함하는, 대역폭 조정 방법.
  17. 제 16 항에 있어서,
    각각의 요청은 상기 스위치를 통한 라우팅 정보 및 우선 순위 레벨 정보를 포함하는, 대역폭 조정 방법.
  18. 제 17 항에 있어서,
    d) 상기 스위치의 각각의 단계에서 상기 요청을 버퍼링하는 단계, 및
    e) 상기 버퍼가 문턱값에 도달할 때, 낮은 우선 순위 요청들을 폐기하는 단계를 더 포함하는, 대역폭 조정 방법.
  19. 제 18 항에 있어서,
    요청들을 승인하는 상기 단계는 상기 스위치의 입구 도달 전에 폐기되지 않은 요청들을 리턴하는 단계를 포함하는, 대역폭 조정 방법.
  20. 제 16 항에 있어서,
    스페이스에 대한 각각의 요청은 스페이스의 52 바이트 조각에 대한 것인, 대역폭 조정 방법.
  21. 제 20 항에 있어서,
    대역폭은 ATM 셀들 및 가변 길이 패킷들 사이에서 조정되며;
    d) 52 바이트 보다 더 큰 각각의 패킷을 복수의 52 바이트 조각들로 분할하는 단계를 더 포함하는, 대역폭 조정 방법.
  22. 제 21 항에 있어서,
    각각의 요청은 상기 스위치를 통한 라우팅 정보 및 우선 순위 레벨 정보를 포함하는, 대역폭 조정 방법.
  23. 제 22 항에 있어서,
    e) 상기 스위치의 각각의 스테이지에서 상기 요청을 버퍼링하는 단계, 및
    f) 상기 버퍼가 문턱값에 도달할 때, 낮은 우선 순위 요청들을 폐기하는 단계를 더 포함하는, 대역폭 조정 방법.
  24. 제 23 항에 있어서,
    요청들을 승인하는 상기 단계는 상기 스위치의 입구에 도달하기 전에 폐기되지 않은 요청들을 리턴하는 단계를 포함하는, 대역폭 조정 방법.
  25. 제 24 항에 있어서,
    g) 상기 패킷의 하나의 세크먼트에 대한 요청이 폐기된 때, 그 패킷의 모든 후속하는 세크먼트들에 대한 요청들을 폐기하는 단계를 더 포함하는, 대역폭 조정 방법.
  26. 제 16 항에 있어서,
    상기 요청들은 대역 내에서 이루어지는, 대역폭 조정 방법.
  27. 제 16 항에 있어서,
    상기 요청들은 대역 외에서 이루어지는, 대역폭 조정 방법.
  28. 단일 통신 스위치를 통해 ATM, TDM, 및 패킷 데이터를 스위칭하는 방법에 있어서,
    a) 제 1 복수의 행들을 갖는 반복 데이터 프레임을 생성하는 단계로서, 각각의 행은 제 2 복수의 슬롯들을 갖는, 상기 반복 데이터 프레임 생성 단계,
    b) TDM 데이터에 대한 상기 프레임의 모든 행에 일부 슬롯들을 미리 할당하는 단계, 및
    c) 조정 기술에 기초하여 ATM 및 패킷 데이터에 나머지 슬롯들을 할당하는 단계를 포함하며;
    ATM 및 패킷 데이터는 각각의 행에서 초기에 전송되고, TDM 데이터는 각각의 행에서 늦게 전송되는, 스위칭 방법.
  29. 제 28 항에 있어서,
    d) 상기 스위치로의 입구에서 SONET 프레임으로부터 TDM 데이터를 추출하는 단계,
    e) 상기 스위치로의 입구에서 상기 SONET 프레임의 V-V4 바이트를 스트립 오프하는 단계, 및
    f) 상기 스위치로부터의 출구에서 V1-V4 바이트를 재생하는 단계를 더 포함하는, 스위칭 방법.
  30. 제 28 항에 있어서,
    반복 데이터 프레임을 생성하는 상기 단계는 125 밀리초 마다 상기 프레임을 반복하는 단계를 포함하는, 스위칭 방법.
  31. 제 28 항에 있어서,
    각각의 슬롯은 E-1 신호(또한, DS-1)를 수용하기에 충분히 큰 대역폭을 갖는, 스위칭 방법.
  32. 제 28 항에 있어서,
    상기 조정 기술은 행 N 동안 행 N+1에서의 슬롯들에 대한 요청을 하는 단계를 포함하는, 스위칭 방법.
  33. 제 32 항에 있어서,
    상기 요청은 행 N 동안 승인되는, 스위칭 방법.
  34. 제 33 항에 있어서,
    상기 요청은 "홉 바이 홉" 내부 스위치 라우팅 정보 및 우선 순위 레벨 정보를 포함하는, 스위칭 방법.
  35. 제 33 항에 있어서,
    상기 요청은 대역 외에서 승인되는, 스위칭 방법.
  36. 제 28 항에 있어서,
    상기 프레임은 각각의 행이 1700개의 슬롯들을 포함하는 9개의 행들을 포함하는, 스위칭 방법.
  37. 제 36 항에 있어서,
    각각의 슬롯은 4 바이트 페이로드를 포함하는, 스위칭 방법.
  38. 제 28 항에 있어서,
    d) 하나의 행에서 고정된 수의 슬롯들로서 PDU를 규정하는 단계, 및
    e) 조정 방식에 기초하여 ATM 데이터 및 패킷 데이터에 PDU들을 할당하는 단계를 더 포함하는, 스위칭 방법.
  39. 제 38 항에 있어서,
    각각의 PDU는 52 바이트의 페이로드를 수용하는, 스위칭 방법.
  40. 제 39 항에 있어서,
    f) 52 바이트 보다 더 큰 패킷들을 52 바이트 조각들로 분할하는 단계를 더 포함하는, 스위칭 방법.
  41. 제 38 항에 있어서,
    상기 조정 방식은 행 N 동안 행 N+1에서의 PDU에 대해 요청을 하는 단계를포함하는, 스위칭 방법.
  42. 제 39 항에 있어서,
    PDU는 16개의 슬롯들을 포함하는, 스위칭 방법.
  43. 제 38 항에 있어서,
    f) 상기 스위치로의 입구에서 SONET 프레임으로부터 TDM 데이터를 추출하는 단계,
    g) 상기 스위치로의 입구에서 상기 SONET 프레임의 V-V4 바이트를 스트립 오프하는 단계, 및
    h) 상기 스위치로부터의 출구에서 V1-V4 바이트를 재생성하는 단계를 더 포함하는, 스위칭 방법.
  44. 제 38 항에 있어서,
    상기 조정 방식은 PDU들을 멀티캐스팅하는 방법을 포함하는, 스위칭 방법.
  45. 통신 스위치를 통해 데이터를 멀티캐스팅하는 방법에 있어서,
    a) 대역폭 요청 요소들을 생성하는 단계로서, 각각의 요청 요소는 상기 스위치를 통한 라우팅 정보, 및 상기 스위치에서의 어느 스테이지가 멀티캐스팅을 시작하는 지의 표시를 포함하는, 상기 대역폭 요청 요소들 생성 단계,
    b) 대역폭의 사용가능성에 기초하여 요청들을 승인하는 단계,
    c) 멀티캐스팅이 시작되는 상기 스위치 스테이지로 라우팅 태그와 함께 데이터의 패킷을 전송하는 단계,
    d) 멀티캐스팅이 시작되는 상기 스위치 스테이지에서 데이터의 상기 패킷의 카피들을 만드는 단계, 및
    e) 데이터의 상기 패킷의 상기 카피들에서의 상기 라우팅 태크들을 대체하는 단계를 포함하는, 데이터 멀티캐스팅 방법.
  46. 제 45 항에 있어서,
    f) 상기 스위치의 각각의 스테이지에서 요청 요소들을 버퍼링하는 단계, 및
    g) 멀티캐스팅이 시작되는 상기 스위치 스테이지에서 요청 요소들을 복제(replicate)하는 단계를 더 포함하는, 데이터 멀티캐스팅 방법.
  47. 제 45 항에 있어서,
    각각의 요청 요소는 우선 순위의 표시를 포함하는, 데이터 멀티캐스팅 방법.
  48. 제 46 항에 있어서,
    각각의 요청 요소는 우선 순위의 표시를 포함하는, 데이터 멀티캐스팅 방법.
  49. 제 48 항에 있어서,
    h) 최대 문턱값에 도달한 버퍼로부터 낮은 우선 순위 요청 요소들을 폐기하는 단계를 더 포함하는, 데이터 멀티캐스팅 방법.
  50. 제 45 항에 있어서,
    요청 요소들은 대역 내에서 전송되는, 데이터 멀티캐스팅 방법.
  51. 제 49 항에 있어서,
    i) 대역 외 링크를 통해 폐기되지 않은 요청 요소들을 리턴하는 단계를 더 포함하며;
    리턴된 요청 요소들은 승인들로 간주되는, 데이터 멀티캐스팅 방법.
  52. 제 45 항에 있어서,
    f) 제 1 복수의 행들을 갖는 반복 데이터 프레임을 생성하는 단계를 더 포함하는, 데이터 멀티캐스팅 방법.
  53. 제 52 항에 있어서,
    g) 행 N 동안 행 N+1에서의 스페이스에 대한 요청들을 하는 단계, 및
    h) 대역 외 링크를 통해 요청들을 승인하는 단계를 더 포함하는, 데이터 멀티캐스팅 방법.
  54. 제 52 항에 있어서,
    반복 데이터 프레임을 생성하는 상기 단계는 125 밀리초 마다 상기 프레임을 반복하는 단계를 포함하는, 데이터 멀티캐스팅 방법.
  55. 제 52 항에 있어서,
    각각의 행은 제 2 복수의 슬롯들을 갖는, 데이터 멀티캐스팅 방법.
  56. 제 55 항에 있어서,
    각각의 슬롯은 E-1 또는 DS-1 신호를 수용하기에 충분히 큰 대역폭을 갖는, 데이터 멀티캐스팅 방법.
  57. 제 52 항에 있어서,
    행 N 동안 이루어진 요청들은 행 N 동안 승인되는, 데이터 멀티캐스팅 방법.
  58. 제 55 항에 있어서,
    상기 프레임은 각각의 행이 1700개의 슬롯들을 포함하는 9개의 행들을 포함하는, 데이터 멀티캐스팅 방법.
  59. 제 55 항에 있어서,
    각각의 슬롯은 4 바이트 페이로드를 포함하는, 데이터 멀티캐스팅 방법.
  60. 제 45 항에 있어서,
    대역폭 요청 요소들을 생성하는 상기 단계는 상기 스위치를 통해 멀티캐스트 세션에서 각각의 홉에 대한 요청 요소를 생성하는 단계를 포함하는, 데이터 멀티캐스팅 방법.
  61. 제 60 항에 있어서,
    각각의 요청 요소는 미리 할당될 대역폭의 특정 지속 기간을 포함하는, 데이터 멀티캐스팅 방법.
  62. 제 61 항에 있어서,
    패킷을 전송하는 상기 단계는, 상기 멀티캐스트 세션에 대한 모든 대역폭이 미리 할당될 때까지 수행되지 않는, 데이터 멀티캐스팅 방법.
  63. 통신 스위치에 있어서,
    a) 각각이 적어도 하나의 네트워크 인터페이스를 갖는 복수의 포트 프로세서들, 및
    b) 각각이 포트 프로세서들에 결합하도록 복수의 포트들을 갖는 복수의 스위치 요소들을 포함하며;
    각각의 상기 포트 프로세서들은 하나의 포트 프로세서의 2개의 포트들 또는각각의 2개의 프로세서들 중 하나의 포트에 결합하도록 제 1 및 제 2 스위치 요소 인터페이스들을 갖고,
    각각의 상기 포트 프로세서들은, 스위치 실패 또는 스위치 정체(congestion)의 경우에 상기 제 1 또는 제 2 스위치 요소 인터페이스들 중 어느것에 대해 트래픽을 다시 돌리는 자동화 수단을 갖는, 통신 스위치.
  64. 제 63 항에 있어서,
    각각의 상기 포트들은 단일 직렬 링크의 대역폭을 효과적으로 배가시키도록 인터리빙되는 2개의 직렬 링크들을 포함하는, 통신 스위치.
  65. 통신 스위치에 있어서,
    a) 제 1 스위치 구성을 형성하는 복수의 제 1 스위치 요소들로서, 각각의 상기 제 1 스위치 요소들은 복수의 포트들을 갖는, 상기 복수의 제 1 스위치 요소들,
    b) 제 2 스위치 구성을 형성하는 복수의 제 2 스위치 요소들로서, 각각의 상기 제 2 스위치 요소들은 복수의 포트들을 갖는, 상기 복수의 제 2 스위치 요소들,
    c) 각각의 포트 프로세서가 적어도 하나의 네트워크 인터페이스를 갖고, 제 1 스위치 구성 인터페이스는 상기 제 1 스위치 요소들 중 하나의 포트들 중 하나에 결합되고, 제 2 스위치 구성 인터페이스는 상기 제 2 스위치 요소들 중 하나의 포트들 중 하나에 결합되는, 복수의 포트 프로세서들, 및
    d) 스위치 실패 또는 스위치 정체에 응답하여 상기 제 1 스위치 구성 또는상기 제 2 스위치 구성 중 어느것을 통해 네트워크 트래픽을 자동적으로 다시 돌리는 수단을 포함하는, 통신 스위치.
  66. 제 65 항에 있어서,
    각각의 상기 포트들은 단일 직렬 링크의 대역폭을 효과적으로 배가시키도록 인터리빙되는 2개의 직렬 링크들을 포함하는, 통신 스위치.
  67. 통신 스위치에 있어서,
    a) 각각이 적어도 하나의 네트워크 인터페이스를 갖는 복수의 포트 프로세서들,
    b) 제 1 스위치 구성, 및
    c) 제 2 스위치 구성을 포함하며;
    각각의 상기 포트 프로세서들은 각각의 상기 제 1 및 제 2 스위치 구성들에 결합하도록 제 1 및 제 2 스위치 구성 인터페이스들을 갖고,
    각각의 상기 포트 프로세서들은 스위치 실패 또는 스위치 정체의 경우에 상기 제 1 또는 제 2 스위치 구성들 중 어느것에 대해 트래픽을 다시 돌리는 자동화 수단을 갖는, 통신 스위치.
KR10-2003-7006891A 2000-11-21 2001-11-20 단일 통신 스위치를 통해 atm, tdm 및 패킷데이터를 스위칭하는 방법 및 장치 KR20040014419A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US09/717,440 US6631130B1 (en) 2000-11-21 2000-11-21 Method and apparatus for switching ATM, TDM, and packet data through a single communications switch while maintaining TDM timing
US09/717,440 2000-11-21
US09/717,999 US6636515B1 (en) 2000-11-21 2000-11-21 Method for switching ATM, TDM, and packet data through a single communications switch
US09/717,147 2000-11-21
US09/717,998 US6646983B1 (en) 2000-11-21 2000-11-21 Network switch which supports TDM, ATM, and variable length packet traffic and includes automatic fault/congestion correction
US09/717,472 US6636511B1 (en) 2000-11-21 2000-11-21 Method of multicasting data through a communications switch
US09/717,147 US7061935B1 (en) 2000-11-21 2000-11-21 Method and apparatus for arbitrating bandwidth in a communications switch
US09/717,998 2000-11-21
US09/717,472 2000-11-21
US09/717,999 2000-11-21
PCT/US2001/043379 WO2002043302A2 (en) 2000-11-21 2001-11-20 Methods and apparatus for switching atm, tdm, and packet data through a single communications switch

Publications (1)

Publication Number Publication Date
KR20040014419A true KR20040014419A (ko) 2004-02-14

Family

ID=27542136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7006891A KR20040014419A (ko) 2000-11-21 2001-11-20 단일 통신 스위치를 통해 atm, tdm 및 패킷데이터를 스위칭하는 방법 및 장치

Country Status (10)

Country Link
EP (3) EP2045982B1 (ko)
JP (3) JP4083010B2 (ko)
KR (1) KR20040014419A (ko)
CN (2) CN1486560B (ko)
AT (3) ATE517485T1 (ko)
AU (1) AU2002236447A1 (ko)
CA (1) CA2436146A1 (ko)
DE (1) DE60137450D1 (ko)
IL (2) IL156183A0 (ko)
WO (1) WO2002043302A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100665096B1 (ko) * 2004-12-06 2007-01-04 한국전자통신연구원 Tdm 데이터 변환 장치 및 그 방법과 그를 이용한 통합스위칭 시스템

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1738224B (zh) * 2004-08-19 2010-04-28 华为技术有限公司 Tdm数据与帧格式转换的电路及方法、传输交换系统及方法
CN1848715B (zh) * 2005-04-05 2010-06-16 中兴通讯股份有限公司 实现同步串行数据在tdm网透传的方法、系统及处理装置
JP4899708B2 (ja) 2006-08-09 2012-03-21 富士通株式会社 伝送装置
GB0623097D0 (en) * 2006-11-20 2006-12-27 Codian Ltd Hardware architecture for video conferencing
WO2008062164A2 (en) 2006-11-20 2008-05-29 Codian Limited Hardware architecure for video conferencing
CN101212822B (zh) * 2006-12-28 2010-12-01 杭州华三通信技术有限公司 在以太网上进行同步时分交换的以太网交换方法与设备
CN101026892B (zh) * 2006-12-30 2011-03-02 电子科技大学 光分组交换中的标签与净荷的分离方法
WO2009057222A1 (ja) * 2007-11-02 2009-05-07 Fujitsu Limited 伝送装置、インタフェース装置及びフレームスイッチング方法
CN102098131B (zh) * 2009-12-15 2014-01-15 航天科工惯性技术有限公司 一种基于动态参数配置的串口数据帧通用组帧解帧方法
US8532100B2 (en) 2010-10-19 2013-09-10 Cisco Technology, Inc. System and method for data exchange in a heterogeneous multiprocessor system
CN103858386B (zh) * 2011-08-02 2017-08-25 凯为公司 用于通过优化的决策树执行包分类的方法和装置
US9276846B2 (en) 2013-03-15 2016-03-01 Cavium, Inc. Packet extraction optimization in a network processor
CN105930286B (zh) * 2016-04-13 2018-06-26 西安邮电大学 一种使用在otn分组交换接口芯片内部的分时存储电路结构
CN112713923B (zh) * 2020-11-30 2022-07-15 上海航天控制技术研究所 一种卫星综合电子数据链路动态调度方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2595804B2 (ja) * 1990-10-25 1997-04-02 日本電気株式会社 交換装置
EP0529649B1 (en) * 1991-08-30 1998-12-02 Nec Corporation Virtual tributary path idle insertion using timeslot interchange
JPH0779230A (ja) * 1993-09-09 1995-03-20 Toshiba Corp Atmスイッチノード装置及び網立ち上げ方法
US5526344A (en) * 1994-04-15 1996-06-11 Dsc Communications Corporation Multi-service switch for a telecommunications network
US6115748A (en) * 1995-07-19 2000-09-05 Fujitsu Network Communications, Inc. Prioritized access to shared buffers
EP0758822B1 (en) * 1995-08-11 2006-03-01 Alcatel Method and arrangement for dynamic allocation of bandwidth in a TDM/TDMA network
JPH09307559A (ja) * 1996-05-16 1997-11-28 Nippon Telegr & Teleph Corp <Ntt> 交換システム
US6052373A (en) * 1996-10-07 2000-04-18 Lau; Peter S. Y. Fault tolerant multicast ATM switch fabric, scalable speed and port expansion configurations
US5953314A (en) * 1997-08-28 1999-09-14 Ascend Communications, Inc. Control processor switchover for a telecommunications switch
JPH11331374A (ja) * 1998-05-20 1999-11-30 Nec Corp クロスバスイッチ装置及びその冗長化方法
JP2000049860A (ja) * 1998-07-30 2000-02-18 Nec Corp パケット交換装置
EP1135904B1 (en) * 1998-12-08 2003-04-16 Salix Technology, Inc. Signal processing system and hybrid switching
US6493346B1 (en) * 1999-03-31 2002-12-10 Alcatel Usa Sourcing, L.P. System for providing conversion of TDM-based frame relay data in a cross-connect matrix to and from ATM data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100665096B1 (ko) * 2004-12-06 2007-01-04 한국전자통신연구원 Tdm 데이터 변환 장치 및 그 방법과 그를 이용한 통합스위칭 시스템

Also Published As

Publication number Publication date
EP2045983B1 (en) 2011-07-20
JP2007020226A (ja) 2007-01-25
JP2007006540A (ja) 2007-01-11
IL156183A0 (en) 2003-12-23
WO2002043302A2 (en) 2002-05-30
ATE517485T1 (de) 2011-08-15
EP2045982A3 (en) 2009-07-08
EP1344355A2 (en) 2003-09-17
EP2045983A3 (en) 2009-06-24
CN100433707C (zh) 2008-11-12
EP2045983A2 (en) 2009-04-08
EP1344355B8 (en) 2009-04-22
CN1486560A (zh) 2004-03-31
EP1344355B1 (en) 2009-01-14
WO2002043302A3 (en) 2002-10-10
DE60137450D1 (de) 2009-03-05
ATE421208T1 (de) 2009-01-15
CA2436146A1 (en) 2002-05-30
ATE548832T1 (de) 2012-03-15
EP2045982A2 (en) 2009-04-08
IL156183A (en) 2008-03-20
EP2045982B1 (en) 2012-03-07
JP4083010B2 (ja) 2008-04-30
AU2002236447A1 (en) 2002-06-03
CN1486560B (zh) 2010-05-26
EP1344355A4 (en) 2007-02-21
JP2004519123A (ja) 2004-06-24
JP4338728B2 (ja) 2009-10-07
CN1677960A (zh) 2005-10-05

Similar Documents

Publication Publication Date Title
US6631130B1 (en) Method and apparatus for switching ATM, TDM, and packet data through a single communications switch while maintaining TDM timing
US6646983B1 (en) Network switch which supports TDM, ATM, and variable length packet traffic and includes automatic fault/congestion correction
US20090141719A1 (en) Transmitting data through commuincation switch
JP4338728B2 (ja) 単一の通信スイッチを経てatm、tdm及びパケットデータを交換するための方法及び装置
US6636515B1 (en) Method for switching ATM, TDM, and packet data through a single communications switch
US7035294B2 (en) Backplane bus
US7061935B1 (en) Method and apparatus for arbitrating bandwidth in a communications switch
EP0468498B1 (en) Routing system capable of effectively processing routing information
US5568486A (en) Integrated user network interface device
EP1518366B1 (en) Transparent flexible concatenation
JP3640820B2 (ja) 伝送装置
US20030227943A1 (en) Communicating synchronous TDM signals across a packet-oriented network
US20040047367A1 (en) Method and system for optimizing the size of a variable buffer
US7130276B2 (en) Hybrid time division multiplexing and data transport
US6636511B1 (en) Method of multicasting data through a communications switch
US6788703B2 (en) DS0 on ATM, mapping and handling
US6885661B1 (en) Private branch exchange built using an ATM Network
US6954461B1 (en) Communications network
US20020080830A1 (en) Switching of low order data structures using a high order switch
US20030147384A1 (en) Virtual junctors
US20020186721A1 (en) Methods and systems for monitoring traffic received from and loading simulated traffic on broadband communication link
US20010015980A1 (en) Mapping of dynamic synchronous transfer mode network onto an optical network
US6768736B1 (en) Using an ATM switch to grow the capacity of a switching stage

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid