KR20070007769A - 에러 정정을 이용하는 높은 병렬 스위칭 시스템 - Google Patents

에러 정정을 이용하는 높은 병렬 스위칭 시스템 Download PDF

Info

Publication number
KR20070007769A
KR20070007769A KR1020067010457A KR20067010457A KR20070007769A KR 20070007769 A KR20070007769 A KR 20070007769A KR 1020067010457 A KR1020067010457 A KR 1020067010457A KR 20067010457 A KR20067010457 A KR 20067010457A KR 20070007769 A KR20070007769 A KR 20070007769A
Authority
KR
South Korea
Prior art keywords
sub
data
segment
segments
payload
Prior art date
Application number
KR1020067010457A
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
Application filed by 인터랙틱 홀딩스 엘엘시 filed Critical 인터랙틱 홀딩스 엘엘시
Publication of KR20070007769A publication Critical patent/KR20070007769A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

연결 구조체는 에러 검출 및/또는 에러 정정을 할 수 있는 로직을 포함한다. 로직은 데이터 스트림을 복수의 고정된 크기의 세그먼트로 포맷한다. 개별 세그먼트는 적어도 일 세트의 현존 비트 및 타깃 어드레스를 포함하는 헤더, 적어도 세그먼트 데이터 및 타깃 어드레스의 카피를 포함하는 페이로드, 및 페이로드의 패리티를 지정하는 패리티 비트를 포함하고, 상기 로직은 복수의 세그먼트를 다차원의 매트릭스로 배열한다. 로직은 세그먼트 에러, 열 에러, 및 페이로드 에러를 검출하는 분석을 포함하는 복수의 스위치를 통해 데이터의 통과를 따르는 복수의 차원으로 세그먼트 데이터를 분석한다.

Description

에러 정정을 이용하는 높은 병렬 스위칭 시스템{HIGHLY PARALLEL SWITCHING SYSTEMS UTILIZING ERROR CORRECTION}
관련 특허 및 특허 출원
개시된 시스템 및 동작 방법은 전체로서 여기에 참조문헌으로 첨부된 다음의 특허 및 특허 출원에 개시된 주제에 관한 것이다.
1. 발명자로서 이름이 Coke S. Reed이고 발명이 명칭이 "A Multiple Level Minimum Logic Network"인 미국 특허 제5,996,020호;
2. 발명자로서 이름이 John Hesse이고 발명이 명칭이 "A Scaleable Low Latency Switch for Usage in an Interconnect Structure"인 미국 특허 제6,289,021호;
3. 발명자로서 이름이 John Hesse이고 발명이 명칭이 "Multiple Path Wormhole Interconnect"인 미국 특허 제6,754,207호;
4. 발명자로서 이름이 John Hesse 및 Coke Reed이고 발명이 명칭이 "Scaleable Wormhole-Routing Concentrator"인 미국 특허 제6,687,253호;
5. 발명자로서 이름이 John Hesse 및 Coke Reed이고 발명이 명칭이 "Scaleable Interconnect Structure for Parallel Computing and Parallel Memory Access"인 미국 특허 출원 제09/693,358호;
6. 발명자로서 이름이 Coke Reed 및 John Hesse이고 발명이 명칭이 "Scaleable Interconnect Structure Utilizing Quility-Of-Service Handling"인 미국 특허 출원 제09/693,358호;
7. 발명자로서 이름이 Coke Reed 및 John Hesse이고 발명이 명칭이 "Scaleable Method and Apparatus for Increasing Throughput in Multiple Level Minimum Logic Networks Using a Plurality of Control Lines"인 미국 특허 출원 제09/692,073호;
8. 발명자로서 이름이 John Hesse 및 Coke Reed이고 발명이 명칭이 "Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control"인 미국 특허 출원 제09/919,462호;
9. 발명자로서 이름이 Coke S. Reed 및 David Murphy이고 발명이 명칭이 "A Controlled Shared Memory Smart Switch System"인 미국 특허 출원 제10/123,382호;
10. 발명자로서 이름이 Coke Reed 및 David Murphy이고 발명이 명칭이 "Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control Ⅱ"인 미국 특허 출원 제10/289,902호;
11. 발명자로서 이름이 Coke Reed 및 David Murphy이고 발명이 명칭이 "Means and Apparatus for a Scaleable Network for Use in Computing and Data Storage Management"인 미국 특허 출원 제10/798,526호;
12. 발명자로서 이름이 Coke Reed 및 David Murphy이고 발명이 명칭이 "Means and Apparatus for Scaleable Distributed Parallel Access Memory Systems with Internet Routing Applications"인 미국 특허 출원 제10/866,461호;
13. 발명자로서 이름이 Coke Reed이고 발명이 명칭이 "Means and Apparatus for a Self-Regulating Interconnect Structure"인 미국 특허 출원 제10/887,762호.
연결 네트워크 기술은 슈퍼컴퓨터로부터 그리드 컴퓨팅 스위치까지 및 증대하는 수많은 라우터까지의 범위의 계산용 및 통신용 제품의 기본 요소이다. 그러나, 현존하는 연결 기술의 특성은 상기 기술에 의존하는 시스템의 규모에서 중대한 한계로 귀결된다.
예컨대, 과거 10년의 슈퍼컴퓨터에서 발전에서 조차, 슈퍼컴퓨터 연결 네트워크 레이턴시는 DNA 시퀀싱 등에서의 기본적인 물리, 기후 및 환경 모델링, 패턴 매칭의 영역에서 발생하는 데이터-전송-강도(data-transfer-intensive)의 계산적인 문제의 수요를 비용 효율적으로 충족시키는 성능을 계속해서 제한한다.
예컨대, Cray T3E 슈퍼컴퓨터에서, 프로세서는 3차원 양방향 토러스(torus)에서 연결된다. 구조의 레이턴시 때문에, 평균적으로 강한 데이터 전송과 관련된 계산의 커넬(kernel)의 종류에 대해, 프로세서의 95% ~ 98%는 데이터를 대기하는 동안 아이들 상태이다. 더욱이, 컴퓨터에서 대략 절반의 구조에서 보드는 네트워크 보드이다. 결과적으로, 기계상에서 실행되는 플로우팅(floating) 포인트 동작은 개인용 컴퓨터 상의 플로루팅 포인트 동작에 비해 가격에서 100배까지 상승될 수 있다.
마이크로프로세서의 컴퓨팅 파워 및 병렬 컴퓨팅의 비용 양자가 증가함에 따라서, 대안적인 병렬 프로세싱 플랫폼을 제공하는 네트워킹 하이-엔드 워크스테이션의 컨셉이 개발되었다. 클러스터 컴퓨팅에 대한 비용 효율적인 해법에 대한 기본은 높은 대역폭 및 낮은 레이턴시를 갖는 비례축소가능한(scalable) 연결 네트워크이다. 지금까지, 해법은 Myrinet 및 QsNet와 같은 특별한 목적의 하드웨어에 의지해왔다.
Myrinet 및 QsNet를 사용하는 작은 스위칭 시스템은 합리적으로 높은 대역폭과 적당히 낮은 레이턴시를 갖으나, 비용 및 레이턴시의 관점에서 비례축소 가능성(scalability)은, 양자가 Clos 네트워크, 패트 트리(fat tree), 또는 토러스와 같은 다수-노드의 구성에 연결된 작은 크로스바 구조에 기초하기 때문에, 슈퍼컴퓨터 네트워크에서 발견된 동일한 문제로부터 고생한다. 크로스바로 만들어진 큰 연결은 기본적으로 제한된다.
유사한 비례축소 가능성의 한계는 라인 스피드가 OC192까지 증가하기 때문에 최대 32포트가 규칙인 오늘날의 IP(Internet Protocol) 라우터에 도달하고 있다.
많은 해수의 연구와 개발은 많은 산업에 걸쳐 다음-세대의 애플리케이션의 계속적으로 증가하는 수요를 충족하는 "비례축소 가능한" 연결 구조에 대한 연구에 소비해왔다. 그러나, 그 해수에 걸친 구조의 성능에서의 중대한 혁신적인 진전에서조차, 현존하는 구조는 비용 효율적인 방식에서 증가하는 수요를 만족시킬 수 없다.
연결 구조는 에러 검출 및/또는 에러 정정이 가능한 로직을 포함한다. 로직은 데이터 스트림을 복수의 고정된 크기의 세그먼트로 포맷한다. 개별 세그먼트는 적어도 일 세트의 현재 비트 및 타깃 어드레스를 포함하는 헤더, 적어도 세그먼트 데이터 및 타깃 어드레스의 카피를 포함하는 페이로드, 및 페이로드의 패리티(parity)를 지정하는 패리티 비트, 복수의 세그먼트를 다차원 매트릭스로 배열하는 로직을 포함한다. 로직은 세그먼트 에러, 칼럼 에러, 및 페이로드 에러를 검출하는 분석을 포함하는 복수의 스위치를 통한 데이터의 통과 다음에 다차원으로 세그먼트 데이터를 분석한다.
동작의 구조 및 방법에 관한 예시적인 시스템 및 관련 기술의 실시예는 다음의 설명 및 첨부되는 도면을 참조함으로써 최적으로 이해될 수 있다.
도 1A 복수의 MLML 데이터 보텍스(Vortex) 네트워크 및 또한 복수의 MLML 계단식 연결 양자를 포함하는 통신 시스템을 나타내는 개략적인 블록도,
도 1B는 복수의 MLML 데이터 보텍스 네트워크 및 또한 복수의 MLML 계단식 연결을 갖는 구성에서 클러스터 컴퓨팅 및 저장 영역 네트워크에 대한 시스템을 나타내는 개략적인 블록도,
도 2는 MLML 데이터 보텍스 스위치의 출력부를 나타내는 개략적인 블록도,
도 3은 보조 크로스바 스위치를 포함하는 MLML 계단식 스위치의 출력부를 나타내는 개략적인 블록도,
도 4A는 다수-레벨, 최소-로직(MLML) 네트워크를 예시하는 4개의 실린더, 8 줄 네트워크를 나타내는 개략적인 그림 도면,
도 4B는 계단식 연결 구조를 나타내는 개략도,
도 5A ~ 도 5F는 지적인 제어를 갖는 무혼잡 스위칭 시스템의 다양한 실시예 및 측면을 나타내는 개략적인 블록도,
도 6A는 예정된 네트워크 및 예정되지 않는 네트워크 양자에 연결된 다수의 컴퓨팅 및 데이터 저장 장치를 나타내는 개략적인 블록도,
도 6B는 예정되지 않은 스위치와 연관된 제어 라인의 추가를 갖는 도 6A에 도시된 시스템을 나타내는 개략적인 블록도,
도 7A는 매트릭스 Q를 형성하고 그 다음 어떤 데이터도 운반하지 않는 서브-세그먼트(non-data-carrying sub-segment)의 추가를 갖는 매트릭스 R을 형성하기 위해 배열된 데이터 운반 서브-세그먼트(data-carrying sub-segment)를 나타내는 개략적인 블록도,
도 7B는 스위치를 통과한 이후에 서브-세그먼트 데이터를 포함하는 매트릭스 V를 나타내는 개략적인 블록도이다.
개시된 시스템은 1) IP(Internet Protocol) 라우터; 2) 이더넷(Ethernet) 스위치; 3) ATM 스위치; 4) 저장 영역 네트워크 시스템(SANS); 5) 클러스터 컴퓨팅 시스템; 및 6) 슈퍼 컴퓨터를 포함하나 제한되지 않는 시스템에서 데이터를 전송하는 다수의 연결 구조를 사용하는 구조 및 동작 방법에 관한 것이다. 본 개시는 멀 티캐스팅을 실행하고, 시스템의 다양한 부분에서 에러 정정을 실행하며, 및 결점이 되는 요소를 교체하기 위한 여분의 또는 과다 시스템 요소를 사용하고, 병렬 스위치를 통과하는 메시지를 예정하는 구조 및 방법을 설명한다.
관련 특허 및 특허 출원에 설명된 연결 구조는 낮은 레이턴시 및 높은 대역폭이 중요한 경우 많은 개수의 장치와 연결하는 용도에 대해 예외적이다. 다수의 패킷을 동시에 기준화된 연결 구조 및 네트워크의 선택된 출력 포트에 전달하는 자체-라우팅 특성 및 성능은 또한 바람직하게 이용될 수 있다.
도 4A 및 도 4B는 위상, 로직, 및 "다수 레벨 최소 로직"(MLML: Multiple Level Minimum Logic) 네트워크로 칭해지는 혁신적인 연결 구조의 사용의 일예를 나타내며, "데이터 보텍스(Data Votex)"으로서 또한 참조되었다. 2가지 형태의 다수 레벨, 최소 로직(MLML) 연결 구조는 도 5A~ 도 5F 및 도 6A 및 도 6B에 개시된 것들과 같은 시스템에서 사용될 수 있다. 도 4A에 개시된 연결 구조의 일 형태는 "데이터 보텍스 스위치"로 불릴 수 있고 링의 형태로 회전식 시프트 레지시터에 배열된 다수의 레벨을 갖는 구조를 갖는다. 도 4B에 설명되고 여기에서 "계단식 연결"로 칭해지는 연결 구조의 두 번째 형태에서, 데이터 보텍스 스위치 구조의 각 링의 일부는 생략되어 각 레벨은 비회전식 시프트 레지스터의 집합을 포함한다.
도 5A~ 도 5F에서, 도 4B에 설명된 형태의 계단식 스위치는 데이터를 운반하는데 사용될 수 있다. 계단식 스위치는 도 6A 및 도 6B에 설명된 예정된 데이터 스위치에서 데이터를 운반하는데 또한 사용될 수 있다. 계단식 스위치의 다수의 카피는 각 패킷 세그먼트의 마지막 비트의 레이턴시를 감소시키는데 사용될 수 있 고 또한 연결 구조의 대역폭을 증가시킨다. 다수의 스위치를 사용하는 실시예에서, 도 5A ~ 도 5F는 임의의 2개의 서브-세그먼트가 세트 내의 동일한 스위치를 통과하는 것을 방지하면서, 패킷 세그먼트를 서브-세그먼트로 분해하고 그 다음 동시에 계단식 스위치의 일 세트 또는 스택을 통해 서브-세그먼트를 송신하는 기술을 개시한다. 세트 내의 각 계단식 스위치는 복수의 크로스바 스위치로 구성된 추가 스위치가 뒤따른다. 계단식 스위치의 배출 레벨의 각 시프트 레지스터에 대한 하나의 크로스바를 갖는 복수의 크로스바 스위치가 뒤따르는 계단식 스위치의 스택을 포함하는 동일한 구조는 도 6A 및 도 6B의 예정된 데이터 스위치에서 데이터를 운반하는데 사용될 수 있다.
여기에 개시된 구조 및 동작 방법은 데이터 패킷 세그먼트에서 에러를 정정하고 미스라우팅된(misrouted) 데이터 패킷 서브-세그먼트로부터 유발된 에러를 정정하는 에러 정정 성능을 갖는다. 약간의 실시예에 있어서, 예시된 시스템은 도 4B에 도시된 계단식 구성을 갖는 스택 내에 개별적인 네트워크를 갖는 네트워크 스택을 포함하는 네트워크의 스택을 통해 라우팅된 데이터 패킷 세그먼트에 대한 에러 정정을 실행한다. 다른 실시예에 있어서, 예시된 시스템은 개별적인 스택 부재 네트워크가 도 4A에 개시된 것과 같은 다수 레벨, 최소 로직(MLML) 또는 데이터 보텍스 구성을 가지면서 네트워크 스택 내에서 에러 정정을 실행한다.
개시된 시스템의 다양한 실시예는 도 4B에 도시된 계단식 설계를 갖는 스택 내에 개별적인 네트워크를 갖는 네트워크의 스택을 통해 라우팅되는 데이터 패킷 세그먼트의 에러를 정정하고 스택 내에 개별적인 스위치는 복수의 크로스바 스위치 가 뒤따른다. 크로스바 스위치는 스택의 계단식 연결 구조의 개별적인 바닥 레벨 시프트 레지스터와 연결된다.
약간의 예시적인 구조 및 동작 방법은 데이터 패킷 세그먼트를 서브-세그먼트로 분해하는 시스템에서 발생하는 에러를 정정하고 서브-세그먼트는 계단식 연결 구조의 출력 포트를 통해 방출하는데 실패한다. 예컨대, 서브-세그먼트는 스위치에 의해 버려진다. 다양한 실시예는 도 5A ~ 도 5F에 개시된 요청 및 응답 스위치로 진입하는 패킷에 대한 에러 및 또한 도 6A 및 도 6B에 교시된 컴퓨팅 및 저장 영역 네트워크에 설명된 비제어 스위치로 진입하는 패킷에 대한 에러를 정정할 수 있다. 따라서, 개시된 구조 및 연관된 동작 기술은 데이터 스위칭 성능을 포함하는 시스템의 넓은 종류에서 사용될 수 있다. 이러한 시스템은 MLML 스위치도 계단식 스위치도 아닌 스위치를 포함할 수 있다. 예컨대, 기술은 트로이달(toroidal) 네트워크, Clos 네트워크, 및 패트-트리 네트워크를 포함하는 크로스바 스위치의 스택 또는 다수의 홉(hop) 네트워크 스택에 적용될 수 있다.
도 5A~ 도 5F는 요청 프로세서에 의해 제어된 데이터의 입력을 갖는 데이터 스위치에서 복수의 계단식 연결 구조를 포함하는 시스템을 설명한다. 도 6A 및 도 6B는 예정된 네트워크의 복수의 계단식 연결 구조를 갖는 시스템을 개시한다. 이 시스템은 KㆍN 스위치가 KㆍN 데이터 스트림을 스위치 스택으로 삽입할 수 있는 입력 장치를 갖는 계단식 연결 구조의 스택에 배열된다. 많은 실시예는 이러한 시스템에 대해 가능하다. 하나의 예시적인 실시예는 패킷을 서브-세그먼트로 분해함이 없이 풀(full) 데이터 패킷 세그먼트 상에서 동작하는 시스템이고, 동시에 KㆍN 세 그먼트를 계단식 연결 구조의 스택으로 삽입할 수 있는 입력 장치를 갖는다. 각 세그먼트는 스택 내의 분리된 스위치로 삽입된다. 다른 실시예에서, 데이터 패킷 세그먼트는 각각 동일한 헤더를 갖는 KㆍN 서브-세그먼트로 분해되고, 입력 장치는 2개의 패킷 세그먼트를 상기 구조로 동시에 삽입할 수 있다. 각각의 결과적인 KㆍN 세그먼트는 스택 내의 분리된 스위치로 삽입된다. 제 3의 예시적인 실시예에서, 데이터 패킷 세그먼트는 각각 동일한 헤더를 갖는 KㆍN 서브-세그먼트로 분해되고, 입력 장치는 특별한 패킷 세그먼트의 모든 KㆍN 서브-세그먼트를 동시에 삽입할 수 있다. 각 서브-세그먼트는 계단식 스위치의 스택 내의 분리된 스위치로 삽입된다. 서브-세그먼트를 계단식 연결 구조를 통해 라우팅하는 H 헤더 비트를 사용하는 시스템에서, H 헤더 비트는 제 1 실시예에서 패킷 세그먼트 마다 포함될 수 있고, 패킷 세그먼트 당 NㆍH 헤더 비트는 제 2 실시예에 포함되며, 패킷 세그먼트 당 KㆍNㆍH 헤더 비트는 제 3 실시예에서 사용된다. 따라서, 제 1 실시예는 헤더의 페이로드의 비율을 최대화한다.
도 5A ~ 5F는 입력 제어기 및 요청 프로세서를 갖는 시스템을 개시한다. 입력 제어기는 데이터 스위치를 통해 데이터를 예정하기 위해 요청 프로세서로 요청을 송신한다. 도 6A 및 도 6B에서, 타깃 출력 포트로 데이터를 예정하기 위한 요청은 그러한 출력 포트로 송신된 데이터를 제어하는 요청 프로세서로 송신된다. 기준에서 스위치를 통해 데이터를 예정하는 요청은 유사하거나 또는 비슷하다. 예컨대 상기 제 3 실시예와 같은, KㆍN 서브-세그먼트로 데이터 패킷 세그먼트를 분해하는 시스템 실시예에서, 요청은 KㆍN 패킷 서브-세그먼트가 스위치로 삽입될 수 있는 일 세트의 이용가능한 시간을 특정한다. 예컨대 상기 제 2 실시예와 같은, 데이터 패킷 세그먼트를 N 서브-세그먼트로 분해하는 시스템 실시예에서, 요청은 2 세트의 이용가능한 시간, 각 2 세트의 N 계단식 스위치에 대한 것을 특정한다. 예컨대, 상기 제 1 실시예와 같은, 풀 데이터 패킷 세그먼트 상에서 동작하는 시스템 실시예에서, 요청은 KㆍN 세트의 이용가능한 시간, 각 데이터 패킷 세그먼트에 대해 일 세트를 특정한다. 그러므로, 계단식 스위치의 스택을 통해 데이터를 예정하는 로직은 제 3 실시예에 대해서 가장 단순하고 제 1 실시예에 대해서 가장 복잡하다. 제 1 실시예의 더욱 복잡한 로직은 또한 더 많은 데이터를 포함하는 요청 패킷을 또한 갖고, 그래서 도 5A ~ 도 5F에 개시된 요청 및 응답 스위치를 통한, 및 도 6A 및 도 6B에 개시된 예정되지 않은 스위치를 통한 트래픽의 양은 제 1 실시예에서 가장 많고 제 3 실시예에서 가장 적다.
도 1A를 참조하면, 개략적인 블록도는 2가지 형태의 MLML 네트워크를 사용하여 제어 통신 연결 구조로서 구성된 시스템(100)의 실시예를 도시한다. 데이터 패킷은 입력 라인(102)을 통해 입력-출력 장치(104)로 시스템(100)에 진입하고 그 다음 라인(106)을 통해 입력 제어기(108)로 이동한다. 도달 메시지 패킷에 응답하여, 입력 제어기(108)는 데이터 스위치(130)의 스택 및 보조 데이터 스위치(134)의 선택적인 스택을 통해 데이터 패킷을 송신하기 위해 요청을 타깃 출력 포트로 제공할 수 있다. 입력 제어기(108)는 패킷의 타깃인 출력 제어기(112)로의 데이터 흐름을 통제하는 요청 프로세서(114)로 요청 스위치(111)를 통해 요청 패킷을 송신함으로써 요청할 수 있다. 일 실시예에서, 요청 스위치(111)는 요청 스위치(110)의 스택의 일부일 수 있다.
통신 네트워크 시스템에서의 데이터 흐름 제어
요청 패킷은 상대적으로 짧고, 그러므로 전체 요청 패킷은 스위치 스택의 단일 스위치를 통해 효과적으로 송신될 수 있다. 다수의 입력 제어기(108)는 동시에 요청 패킷을 동일한 요청 프로세서(114)로 송신하고, 그러므로 요청 프로세서에 대한 데이터 보텍스 형태의 MLML 스위치의 사용은 성능을 실질적으로 개선할 수 있다. 스위치에서 동시에 배출될 수 있는 것보다 더 많은 패킷이 선택된 패킷 삽입 시간에 요청 스위치(114)로 삽입될 수 있다. 그러므로, 요청 패킷은 배출되기 전에 데이터 보텍스 주변에서 순환할 수 있다.
요청 프로세서(114)는 응답 패킷을 요청 입력 제어기(108)로 되돌려보낸다. 예컨대, 요청 프로세서(114)는 응답 스위치(119)를 통해, 가능하게는 응답 스위치(118)의 스택의 일부로서 및 또한 가능하게는 선택적인 2차 응답 스위치(123)을 통해 응답 패킷을 송신할 수 있다. 응답 스위치(123)는 또한 응답 스위치(122)의 스택의 일부일 수 있다. 요청 패킷이 요청 스위치를 통해 이동하는 응답 스위치 스택의 동일 레벨 L에서 응답 스위치를 통한 응답 패킷의 라우팅은 성능을 개선할 수 있다. 라우팅은 요청 패킷 데이터의 정수 L을 지정함으로써 실행될 수 있다.
요청 프로세서가 임의의 주어진 시간에 활동성을 가질 수 있는 응답하지 않는 요청의 개수는 제한될 수 있다. 제한은 스위치 스택(110)에서 개별적인 스위치 (111)에 대한 카운터 CL을 유지하는 입력 제어기(108)에 의해 강제될 수 있다. 카운터 CL은 입력 제어기에 대해 내부에 있을 수 있다. 카운터 CL은 초기에 0으로 설정될 수 있고, 레벨 L 상의 요청 스위치로 송신된 각 요청 패킷으로 증가될 수 있으며, 레벨 L 상의 응답 스위치를 통해 되돌아온 각 응답 패킷으로 감소될 수 있다. 카운터 CL은 소정 임계값 TL을 초과하지 못하게 관리될 수 있고 그래서 라인(116, 120, 및 124)의 대역폭은 초과되지 않는다. 요청의 관리는 레벨 L 응답 스위치가 계단식 연결 구성 내에 존재하게 할 수 있다.
일 실시예에서, 입력 제어기는 제공된 응답 패킷을 수신하기 위해 지정된 저저장소(bin)를 특정한다. 적절한 저장소로의 전달은 보조 스위치 스택(122)의 보조 스위치(123)에 의해 다루어진다. 입력 제어기는 응답을 대기하지 않고 있는 저장소가 이용가능하고, 흐름을 제어하는 카운터를 사용하는 것에 대해 효과적인 대안인 경우에만 요청을 송신하는데 강제될 수 있다. 타깃 저장소의 카피는 응답 패킷의 페이로드에 포함될 수 있다. 응답 패킷은 입력 제어기가 에러를 검출 및 정정하는 성능을 가지면서, 에러 정정 비트를 또한 포함할 수 있다. 물리적인 타깃 입력 제어기 및 입력 제어기 저장소가 에러 정정된 응답 패킷 내의 타깃 입력 제어기 및 저장소의 카피와 일치하지 않는다면, 입력 제어기는 요청을 인지하는 것이 보장되는지의 여부를 판정할 수 있다. 응답 패킷 내의 데이터가 정정될 수 없는 에러를 갖는 것으로 판정된다면, 입력 제어기는 요청을 인지하는 것이 보장되는지의 여부를 판정할 수 있다. 요청 프로세서가 데이터 스위치를 통해 패킷을 예정하 나, 관련된 입력 제어기가 응답 패킷이 미스라우팅되거나 또는 정정될 수 없기 때문에 패킷을 송신하지 않는다면, 예정된 시간 슬롯에서의 간격은 사용되지 않는 데이터 스위치에 대해, 다른 패킷의 미스라우팅을 유발하지 않는 조건으로 귀결된다.
약간의 실시예는 입력 제어기가 요청 패킷을 송신하는 것에 응답하여 도달하는 응답 패킷을 대기하는 시간량 상에서 한계 TLIM을 강제할 수 있다. 지정된 시간 한계가 종료된 이후에, 입력 제어기는 하나 만큼 적절한 카운터를 감소시키고 적절한 저장소를 자유롭게 한다. 타임 스탬프(TS : Time Stamp)는 요청 패킷이 송신되는 때를 나타내는 요청 패킷에 부가될 수 있다. 요청 프로세서는 시간 TS + TLIM 이후에 입력 제어기에 도달할 수 있는 응답 패킷을 송신할 수 없다. 계산된 도달 시간이 한계를 초과한다면, 요청 프로세서는 요청 패킷을 버린다. 약간의 실시예에서, 요청 프로세서가 응답 패킷이 입력 제어기에 도달할 시간을 계산할 수 있게 하고 요청 프로세서가 시간 한계를 적절히 강제할 수 있기 때문에, 응답 스위치 AS1(119) 및 AS2(123)를 통해 응답 패킷을 송신하는데 소모된 시간은 결정적이고 고정적이다. 제 1 실시예에서, TLIM은 모든 요청 패킷에 대해 동일하다. 제 2 실시예에서, TLIM은 메시지의 우선권에 의존한다.
약간의 실시예에서, 입력 제어기는 전체 패킷이 데이터 스위치를 통과하게 예정한다. 패킷은 분할되어 데이터 스위치는 항상 동일한 길이의 세그먼트를 송신한다. 패킷의 각 세그먼트는 서브-세그먼트로 추가로 분해될 수 있고, 모든 서브-세그먼트는 동시에 복수의 데이터 스위치를 통해 송신된다. 에러 정정을 목적으로, 서브-세그먼트의 길이와 동일한 길이의 하나 이상의 에러 정정 패킷은 데이터 스위치를 통해 또한 송신될 수 있다. 따라서, 세그먼트 및 관련 에러 정정 데이터 패킷은 데이터 스위치 스택(130)의 데이터 스위치(131)를 통해 및 그 다음 데이터 스위치 스택(134)의 선택적인 보조 데이터 스위치(135)를 통해 동시에 송신된다. 일 실시예에서, 스택의 데이터 스위치의 개수 NS는 서브-세그먼트의 개수에 연관된 에러 정정 패킷의 개수를 더한 것과 동일하다. 선택적인 실시예에서, 스택 내의 데이터 스위치의 개수는 NS 보다 많을 수 있고 그래서 복수의 세그먼트는 동시에 데이터 스위치 스택(134)을 통과할 수 있다.
일 예에서, 패킷 세그먼트에 대한 서브-세그먼트 및 체크-비트 패킷의 개수는 N과 동일하고 스택(130)의 데이터 스위치의 개수는 WㆍN과 동일하다. 예시된 조건에서 데이터 예정을 관리하는 3개의 예시적인 실시예가 개시된다. 제 1 실시예에서, WㆍN 데이터 스위치는 각각 N 스위치를 포함하는 W의 상호 배타적인 세트로 분할된다. 입력 제어기는 각 W 스위치 세트에 대한 일 세트의 시간, 패킷을 데이터 스위치로 주입하는 W 이용가능한 시간 세트를 지정하는 요청 패킷을 송신한다. 다수의 시간 세트를 특정하는 것은 충분한 출력 버퍼 공간을 보장하고 요청 프로세서가 데이터 라인(132 및 136)을 통한 경로를 또한 보장할 수 있다. 라인(132 및 136)의 전체를 통한 충분한 대역폭 및 각 W 세트의 라인에서 데이터 라인을 통한 충분한 대역폭이 이용가능한 이상 데이터를 다루기에 자원은 충분하다.
제 2 실시예에서, 입력 제어기는 W 세트의 스위치를 선택하고 그 다음 선택된 세트를 통해 패킷을 송신하는 것을 요청한다. 요청이 거절되는 경우에, 입력 제어기는 세트 중의 다른 하나를 통해 송신을 요청한다. 요청에 대한 세트를 고르 는 알고리즘은 랜덤 프로세스, 라운드 로빈(round robin) 스킴, 또는 어떤 다른 스킴에 기초할 수 있다.
제 3 실시예는 각 그룹에 할당된 N 스위치의 서브 스택을 갖는 입력 제어기의 W 그룹을 갖는다. 다른 실시예는 스위치를 통해 흐르는 데이터를 관리하는데 또한 사용될 수 있다.
스위치 출력 인터페이스 구성
요청 패킷은 상대적으로 짧아서 전체 요청 패킷은 스위치(110) 스택의 단일 MLML 데이터 보텍스 스위치(111)를 통해 일반적으로 송신될 수 있다. 도 2를 참조하면, 개략적인 블록도는 데이터 보텍스 스위치로부터 2개의 출력 버퍼 레벨을 도시한다. 출력 버퍼는 2개 레벨의 "리키 버킷(leaky buckets)"를 나타낸다. 일 버전은 온-칩 출력 버퍼(210) 및 더 큰 오프-칩 출력 버퍼(220)를 포함한다. 버퍼는 트래픽 볼륨에서 버스트(burst)를 다루는데 사용된다. 제 1 실시예에서, 버퍼는 FIFO(first-in first-out) 기초 상에서 동작한다. 제 2 실시예에서, 하나 또는 두개의 버퍼는 약간의 환경에서, 높은 우선도의 메시지 A를 A 이전에 버퍼로 진입하는 낮은 우선도 메시지 B에 앞서는 버퍼에서 배출될 수 있게 하는 전략적인 알고리즘을 사용한다.
데이터 세그먼트는 일반적으로 요청 패킷과 비교하여 길다. 따라서, 데이터 세그먼트를 서브-세그먼트로 분해하는 것은 성능을 개선할 수 있다. 예컨대, 각 세그먼트는 N 서브-세그먼트로 분해될 수 있다. 요청 프로세서에 의해 판정된 세 그먼트-송신 시간에, 데이터 및 관련 에러-정정 비트를 포함하는 N 서브-세그먼트, 플러스 추가 에러 정정 패킷은 데이터 스위치 스택(130)을 통해 그 다음 보조 데이터 스위치 스택(134)를 통해 동시에 송신된다. 도 3은 선택적인 제 2 스위치(135)를 조합하여 만드는 하나의 MLML 계단식 스위치(131) 및 다수의 크로스-바 스위치(314)를 포함하는 제 1 칩(310)을 도시한다. 예시적인 구성은 계단식 스위치가 스위치 AS1(119)이고 제 2 스위치가 스위치 AS2(123)인 도 1A에 도시된 응답 스위치에 또한 사용될 수 잇다. 버퍼는 응답 스위치 내에서 불필요하다. 스위치를 통한 데이터 흐름이 제어되기 때문에, 스위치는 결코 오버로딩되지 않고 올바로-라우팅된 데이터는 칩으로부터의 직접적인 경로에서 보장된다. 따라서, 버퍼는 제거될 수 있다. 전형적인 실시예에서, 요청 프로세서가 응답 패킷이 응답 스위치를 통과하고 이슈 요청이 따라서 직접적인 버퍼링을 회피하는 시간의 결정적인 성질을 이용하기 때문에, 버퍼는 바람직하지 않다.
도 3에 도시된 구성은 스위치 DS1(131)으로서 계단식 스위치를 포함하고 제 2 스위치는 스위치 DS2(135)인 구성에서 도 1A에 도시된 데이터 스위치에서 또한 사용될 수 있다. 버퍼는 스위치를 통한 데이터 흐름이 제어되기 때문에 데이터 스위치 내에서 또한 불필요하다. 데이터 스위치는 결코 오버로딩되지 않고 올바로-라우팅된 데이터는 칩의 직접 경로가 보장된다. 길이가 배출 줄의 배출 열에 의존하는 FIFOs를 사용하는 실시예에서, 버퍼의 제거는 오프 칩 장치에서의 모든 서브-세그먼트의 동시 도달을 촉진하는데 바람직하고, 여기서 세그먼트는 에러에 대해 정정될 수 있고 재집합될 수 있다. 도 1A 및 도 3에 도시된 구성에서, 특별한 세 그먼트의 모든 서브-세그먼트는 스위치 스택(134) 및 연관된 FIFOs에서 동시에 배출되는 것이 보장된다. 버퍼의 제거는 다르게는 제 1 서브-세그먼트의 미스라우팅 다음에 발생할 수 있는 제 2 서브-세그먼트의 미스라우팅의 회피를 촉진한다. 더욱이, 서브-세그먼트의 미스라우팅은 다른 서브-세그먼트가 스위치 스택(134)에서 배출되는 시간에 영향을 미칠 수 없다.
도 1A에 도시된 시스템에서, 요청 프로세서(114)는 과거에 예정되었던 패킷 뿐만 아니라 현재 예정된 다른 패킷에 관한 정보에 기초하여 패킷의 이후 예정을 판정한다. 출력 버퍼에서 패킷은 다양한 시간에 도달되었고, 출력 버퍼에서 패킷(P)을 버리는 판단은 P의 도달 이후에 시스템(100)에 도달한 패킷에 관한 정보에 부분적으로 기초한다.
도 1B를 참조하면, 개략적인 블록도는 클러스터 컴퓨팅 및 메인프레임 컴퓨팅을 포함하는 몇몇의 적용에 유용한 시스템(150)을 나타낸다. 도 1A에 도시된 시스템(100)과 달리, 시스템(150)은 패킷을 버리지 않는다.
시스템(150)은 동일한 형태일 수 있거나 또는 구조 및 기능에서 다를 수 있는 복수의 장치(170)를 포함한다. 장치(170)의 기능은 계산, 데이터 저장 및 검색, 또는 결합된 계산 및 데이터 저장 및 검색일 수 있다. 장치(170)는 라인(172)을 통해 시스템(150)의 외부로부터 데이터를 수신하고 라인(174)을 통해 시스템 밖으로 데이터를 송신한다. 장치(150)는 연결 라인 및 스위치 U(160), S(180), 및 AS(190)를 통해 서로 통신한다. 약간의 실시예에서, 스위치 U는 MLML 데이터 보텍스일 수 있다. 장치(170)는 허가를 요청함이 없이 데이터를 스위치 U로 삽입할 수 있다. 다수의 장치는 스위치 U를 통해 데이터를 동일한 타깃 장치 T로 송신할 수 있고, 타깃 장치 T로의 데이터의 볼륨은 라인(162)을 통한 장치 T로의 대역폭을 초과할 수 있다. 따라서, 버퍼(210)는 데이터 보텍스 스위치의 출력을 수신하고 입력 버퍼(220)가 계산 및 데이터 저장 장치에 포함되도록 구성될 수 있다.
스위치의 스택에서 스위치 S(180)를 통과하는 패킷은 오버로드를 방지하기 위해, 예컨대 도 6A 및 도 6B에 설명된 기술을 사용하여 예정되거나 또는 제어되며, 그러므로 계단식 형태의 MLML 스위치의 형태의 스위치 S를 사용하는 것이 편리하다. 스위치 AS(180)는 복수의 크로스바 스위치를 사용하여 구성될 수 있다. 데이터는 서브-세그먼트를 사용하여 스위치를 통과할 수 있다. 스위치 S와 보조 스위치 AS 사이의 인터페이스는 도 3에 나타난다.
예정된 계단식 연결 구조의 스위치 스택에 진입하는 또는 크로스바의 모음이 뒤따르는 예정된 또는 제어된 계단식 구조에서 스위치 스택에 진입하는 일 세트의 세그먼트 또는 서브-세그먼트에 대해, 세트 내의 세그먼트의 제 1 비트는 동시에 스위치에서 배출될 것이다. 세그먼트의 하나의 서브-세그먼트가 헤더 내에 비트 에러를 갖는다면, 서브-세그먼트는 타깃 출력 포트에의 스위치에서 배출되지 않을 것이다. 대신에, 서브-세그먼트는 헤더에 의해 지정된 에러가 있는 출력 포트를 통해 배출되거나 또는 임의의 출력 포트를 통해 배출되는데 실패하고 계단식 스위치의 바닥 줄의 끝에서 버려질 것이다. 미스라우팅된 서브-세그먼트는 동일한 스위치 내의 다른 서브-세그먼트의 미스라우팅을 유발할 수 있다. 미스라우팅된 서브-세그먼트는 계단식 스위치를 통해 메시지의 미래의 미스라우팅을 유발할 수 없 음을 유의해야 한다. 더욱이, 패킷 세그먼트가 스택 내의 스위치 상에서 버퍼링되지 않는다면, 미스라우팅된 서브-세그먼트는 임의의 다른 서브-세그먼트의 미래의 미스라우팅을 유발할 수 없다. 미스라우팅된 서브-세그먼트는 임의의 이후에-삽입된 서브-세그먼트의 배출 시간을 변경할 수 없다.
예정된 계단식 구조를 실행하는 시스템과 대조적으로, 예정되지 않은 데이터 보텍스 스위치에서 미스라우팅된 세그먼트는 스위치로 삽입되는 미래의 세그먼트의 배출 시간에서의 변경을 유발할 수 있다. 따라서, 패킷 세그먼트는 단일 데이터 보텍스 스위치를 통해 또는 서브-세그먼트로 분해없이 예정되지 않은 데이터 보텍스 스위치의 스택을 통해 가장 효과적으로 송신된다.
여기에 개시된 시스템 및 동작 방법은 세그먼트의 헤더 또는 페이로드 중의 어느 하나에서 비트 에러의 유효한 정정을 가능하게 한다. 예시적인 방법은 단일 에러 정정 및 2 비트의 에러 검출을 보장한다. 예의 변형은 도면에 관한 논의에서 설명된다. 일 예에서, D는 서브-세그먼트 페이로드를 운반하는 데이터의 데이터 비트의 개수를 지정하고 T는 서브-세그먼트의 타깃 어드레스에서 비트의 개수를 지정한다. 타깃 어드레스는 계단식 스위치 다음에 존재한다면, 계단식 스위치를 통한 서브-세그먼트를 라우팅하는데 사용된 비트 플러스 크로스바 스위치를 통해 서브-세그먼트를 라우팅하는데 사용된 비트를 포함한다. 예에서, 추가 비트는 에러 정정을 위해 사용될 수 있고 각 세그먼트에 부가된다. 결과적으로 길어진 세그먼트는 N+1 서브-세그먼트로 분해된다. 도 7A 및 도 7B를 참조하면, 서브-세그먼트의 N은 데이터 비트 및 또한 에러 정정에 사용된 비트를 운반한다. 서브-세그먼트 중의 하나는 단지 에러 정정 비트만을 운반한다. 스위치로의 삽입에 앞서서, 각 서브-세그먼트는 길이 M을 갖고, 여기서 M = 1 + T + T + D +1 이다. 데이터-운반 서브-세그먼트는 몇몇의 영역을 포함한다. 제 1 영역은 약간의 실시예에서, 서브-세그먼트의 존재를 나타내기 위해 하나로 항상 설정되는 존재 또는 현존 비트(702)를 포함하는 길이 T + 1을 갖는 헤더이다. 제 1 영역은 타깃 어드레스를 인코딩하는 서브영역 TA(704)를 또한 포함한다. 제 2 영역은 서브-세그먼트 타깃 어드레스의 카피를 포함하는 서브영역 TC(708) 및 서브세그먼트 데이터를 포함하는 서브영역 SUBSEG-DATA(706)을 포함하는 길이 D + T를 갖는 페이로드이다. 제 3 영역은 현존 비트 및 D + T 페이로드 비트에 대한 패리티를 지정하는 일 비트의 체크 또는 패리티 비트(714)이다. 패리티 비트는 현존 비트 및 D + T 페이로드 비트의 모듈러(modulus) 2 합으로서 정의될 수 있다. 서브-세그먼트(서브 세그먼트 0, 1,..., N-1)를 운반하는 N 데이터는 N 줄 및 M 열을 갖는 N×M 매트릭스 Q로 배열된다. 매트릭스 Q의 엔트리 Q(i,j)는 서브-세그먼트 j의 i번째 비트를 지정한다. 어떤 데이터도 운반하지 않는 서브-세그먼트(non-data-carrying sub-segment) N의 헤더는 다른 서브-세그먼트 헤더와 동일하다. 서브-세그먼트 N의 i번째 비트가 헤더 비트가 아닌 경우, [Q(i,0) + Q(i,1) + ... + Q(i,N-1)]로 정의되는 것은 패리티 비트이고, 여기서 추가는 모듈러 2로 실행된다. 서브 세그먼트 N의 마지막 비트는 N 데이터-운반 서브-세그먼트의 Nㆍ(T + D + 1) 페이로드 및 현존 비트의 모듈러 2 합계이다. 서브-세그먼트 N에 Q를 부가하는 것은 스위칭 시스템을 통과한 세그먼트 데이터를 나타내는 (N + 1)×M 매트릭스 R을 형성한다.
각 서브-세그먼트가 스위치를 통과함에 따라서, 리드하는 타깃 어드레스 비트는 버려지고 결과적인 서브-세그먼트는 길이 T + D + 2를 갖는다. 스위치 되에, N 데이터-운반 서브-세그먼트는 길이가 감소되고 예컨대 하나로 설정되는 존재 또는 현존 비트만을 갖는 단일-비트 헤더를 포함한다. 헤더의 T 타깃 어드레스 비트는 스위치의 통과 동안 제거된다. 서브-세그먼트의 제 2 영역은 길이 D + T를 갖는 페이로드이고 서브-세그먼트 데이터 비트 및 서브-세그먼트의 타깃 어드레스의 카피를 포함한다. 제 3 영역은 페이로드 비트 및 현존 비트를 포함하는 D + T + 1에 대한 1-비트 체크 또는 패리티 비트이다. 어떤 데이터도 운반하지 않는 서브-세그먼트는 T + D + 1 패리티 비트가 뒤따르며, 항상 하나로 설정되는, 단일 현존 비트를 포함한다. N 데이터 운반 서브-세그먼트 플러스 어떤 데이터도 운반하지 않는 서브-세그먼트는 도 7B에 도시된 (N + 1)×(M - T) 매트릭스 V를 형성한다. N + 1 서브 세그먼트가 N + 1 스위치를 통과한 이후에, 임의의 가능한 단일-비트 에러를 검출 및 정정하고 임의의 2-비트 에러를 검출하는 프로세스는 데이터 상에서 실행된다. 스위치 중의 하나를 통해 서브-세그먼트를 송신하는데 사용된 타깃 어드레스 내의 단일-비트 에러는, 타깃 어드레스 내의 에러가 미스라우팅된 서브-세그먼트로 귀결될 것이기 때문에 전송된 서브-세그먼트 데이터 내의 다수의 비트 에러로서 검출될 수 있다. 그러나, 이러한 단일-비트 에러는 모든 잘못 송신된 데이터 비트를 올바른 비트로 교체함으로써 유효하게 검출되고 정정될 수 있다.
예시적인 실시예에서, 에러 검출 및 정정에 대한 프로세스는 다수의 동작을 갖는다. 첫째, 다수의 형태의 합계가 에러 검출을 위해 실행될 수 있다. 합계의 제 1 형태는 매트릭스 V 내의 줄 에러를 검출한다. N 개별 데이터-운반 서브-세그먼트 페이로드의 각각에 대해, 모든 비트는 모듈러 2가 부가된다. 특정 예에서, 각 서브-세그먼트 K의 T + D 페이로드 비트, 현존 비트, 및 체크 비트는 각 서브-세그먼트에 대한 T + D + 2 비트의 부가가 부가된다. 1의 결과는 서브-세그먼트 K 내의 서브-세그먼트 에러, 즉 매트릭스 V 내의 줄 에러의 검출을 지정한다. 0의 결과는 어떤 서브-세그먼트 줄 에러도 서브-세그먼트 K 내에서 검출되지 않음을 나타낸다. 합계의 제 2 형태는 매트릭스 V 내의 열 에러를 검출한다. 비트는 매트릭스 V 내의 각 열로 합쳐진다. 예컨대, (T + 1)<i≤(D + 2T + 2)에 대해, 매트릭스 Q의 열 i 내의 비트는 매트릭스 R의 N번째 줄의 i번째 비트를 형성하기 위해 모듈러 2에 부가된다. 1의 결과는 매트릭스 V의 i번째 열 내의 열 에러의 검출을 지정한다. 0의 결과는 매트릭스 V의 i번째 열 내의 어떤 검출된 열 에러도 없음을 지정한다. 합계의 제 3 형태는 매트릭스 V 내의 전체적인 에러를 검출한다. 서브-세그먼트(N-1)를 통한 서브-세그먼트 0의 매트릭스 V 내의 Nㆍ(T + D + 1) 논-패리티(non-parity) 비트 플러스 서브-세그먼트 N의 마지막 비트의 모듈러 2 합계가 계산된다. 1의 결과는 매트릭스 V 내에서는 또한 전체적인 에러로 칭해지는, 매트릭스 V 내의 페이로드 에러를 나타낸다. 0은 글로벌 에러의 어떤 검출도 없음을 지정한다.
둘째, 매트릭스 V의 데이터 운반 서브-세그먼트 내의 타깃 어드레스의 N 카피는 그들 중 하나에서 가능한 비트 에러에 대해 체크된다. 타깃 어드레스 카피 내의 단일-비트 에러는 4개의 표준 조건에 의해 표시된다. 제 1 표준은 단일 서브 -세그먼트 페이로드에 대한 데이터 체크 비트에 의한, 상세하게는 매트릭스 V의 줄 체크 비트에 의한 에러 표시이다. 제 2 표준은 서브-세그먼트 N 내의 단일 데이터 체크 비트에 의한, 상세하게는 카피된 타깃 어드레스를 포함하는 서브-세그먼트 구간 내의 매트릭스 V의 열 체크 비트에 의한 에러 표시이다. 제 3 표준은 서브-세그먼트 N의 M번째 비트, 서브-세그먼트 페이로드 내의 에러를 지정하는 전체 체크 비트에 의한 에러 표시이다. 제 4 표준은 줄 체크 비트 에러 및 열 체크 비트 에러 양자를 사용함으로써 표시된 서브-세그먼트의 타깃 어드레스 카피 내의 단일-비트 에러의 정정이 그 서브-세그먼트의 타깃 어드레스 카피가 수신 데이터 포트의 어드레스와 일치하게 하는 것이다.
셋째, 타깃 어드레스의 각 서브-세그먼트 카피는 수신 데이터 포트와의 일치를 위해 체크된다. 현존 비트는 어떤 데이터 도달도 없는 경우와 입력 포트 0으로 정해진 데이터의 경우 사이를 구분한다. 현존 비트가 V의 약간의 줄에 대해 0이라면, 그 열과 관련된 서브-세그먼트는 미스라우팅되었다. 정확하게 하나의 서브-세그먼트에 대한 T 헤더 비트가 포트 ID와 매칭되지 않는 경우, 서브-세그먼트는 미스라우팅되었다. 둘 중 하나의 경우에, 단일의 미스라우팅된 서브-세그먼트 내의 데이터는 서브-세그먼트 N으로부터 체크 비트를 사용하여 상기 데이터를 적절한 데이터로 교체함으로써 정정될 수 있다. 데이터 교체를 완료하여, 어떤 다른 에러도 존재하지 않는다면, 줄, 열, 및 전체 체크 비트를 사용하는 프로세스는 어떤 에러도 존재하지 않음을 나타낼 것이다.
넷째, 각각의 N 서브-세그먼트 페이로드는 단일-비트 에러에 대해 체크된다. 단일-비트 에러의 존재는 3개의 표준에 의해 표시된다. 제 1 표준은 열의 합계가 매트릭스 V 내의 단일 열 비트 에러를 검출한다. 제 2 표준에서, 줄의 합계는 매트릭스 V 내의 단일 줄 비트 에러를 검출한다. 그리고 제 3 표준에서, 전체 합계는 매트릭스 V 내의 전체 에러를 검출한다. 단일 에러가 검출되는 경우에, 에러는 하나의 에러를 갖는 줄 및 하나의 에러를 갖는 열에 의해 특정된 고유의 위치에서 매트릭스 V 내에 위치한다. 단일 비트 에러는 정정될 수 있다.
다섯째, 유일한 하나의 줄, 열 또는 전체 에러가 발생하는 조건에서, 상기 조건은 체크 비트 중의 하나 내의 단일-비트 에러에 의해 유발된다. 상기 에러는 무시된다.
여섯째, 데이터가 에러로 두개 이상의 비트를 포함하는 조건이 발생할 수 있다. 체크 비트의 조사 및 서브-세그먼트 어드레스의 카피가 첫번째 5개의 동작에서 설명된 것들과 다른 예컨대 매트릭스 V 내의 2개의 줄 에러의 검출, 매트릭스 V 내의 2개의 열 에러의 검출, 및 매트릭스 V 내의 전체 에러의 검출과 같은 에러 조건으로 귀결되는 경우, 다수의-비트 에러가 검출된다. 2-비트 에러는 항상 검출가능하다. 어떤 에러 조건도 표시되지 않는다면, 데이터는 올바르거나 또는 데이터는 에러인 2 비트 이상을 포함하는 것 중의 하나이고, 에러 조건은 일반적으로 검출가능하지 않다.
예시적인 실시예는 데이터를 운반하는 서브-세그먼트 내에 단지 하나의 에러 정정 비트를 갖는다. 다른 시스템은 추가 에러 정정 비트를 포함하는 서브-세그먼트로 구성될 수 있다. 더욱이, 예시적인 예에서, 단지 하나의 서브-세그먼트만이 다수의 서브-세그먼트로부터의 데이터 비트에 의존하는 에러 정정 비트를 갖는다. 다른 실시예는 다수의 데이터 서브-세그먼트가 미스라우팅되는 경우 데이터의 올바른 재구성을 가능하게 하는 다수의 이러한 서브-세그먼트를 가질 수 있다. 다양한 실시예에서, 서브-세그먼트는 데이터에 기초하는 적어도 하나의 에러 정정 비트를 포함할 수 있고, 서브-세그먼트 Si의 페이로드 Pi는 서브-세그먼트 Si와 다른 서브-세그먼트 SK의 페이로드 PK 내의 데이터에 기초하는 적어도 하나의 에러 정정 비트를 포함한다.
도 4A는 미국 특허 번호 제5,996,020호에 교시된 MLML 네트워크를 예시한 4개-실린더, 8-줄 네트워크를 나타내는 개략적인 그림 도면이다. 직렬 메시지 형태의 데이터는 도 4A의 상부의 실린더 3으로서 나타난 가장 바깥쪽의 실린더에 위치한 네트워크에 대한 입력 단말에서 네트워크로 진입하고, 메시지의 헤더에 특정된 타깃 출력 포트로 향하는 노드로부터 노드까지 이동한다. 데이터는 한 타임의 주기에서 다음 각도의 노드로 항상 이동한다. 메시지는 이러한 이동이 타깃 포트에 더 가까운 메시지를 취할 때마다 도 4A의 낮은 레벨로 도시된 내부 실린더 쪽으로 이동한다.
네트워크는 2가지 종류의 전송 경로 : 하나는 데이터에 대한 경로, 다른 하나는 제어 정보에 대한 경로를 갖는다. 예시적인 실시예에서, 네트워크 내의 모든 노드는 동일한 설계를 가질 수 있다. 다른 실시예에서, 노드는 상호 다른 설계 및 특성을 가질 수 있다. 노드는 동일 실린더 상의 노드로부터 또는 노드 실린더로부 터 외부로의 실린더로부터 데이터를 수신하고, 동일 실린더 상의 노드로 또는 노드 실린더로부터 내부로의 실린더로 데이터를 송신한다. 메시지는 주어진 레벨에서 메시지의 제 1 비트가 균등하게 실린더 주변으로 이동한다는 점에서 중앙축 주변에 균등한 회전 내에서 이동한다. 메시지 비트가 실린더로부터 많은 내부 실린더로 이동하는 경우, 메시지 비트는 내부 실린더에서 메시지와 정확히 동기한다. 데이터는 애플리케이션 또는 실시예에 따라, 하나 이상의 열 또는 각도에서 연결 또는 네트워크로 진입할 수 있고, 하나 이상의 열 또는 각도에서 배출될 수 있다.
노드는 제어 정보를 많은 외부 외부에 위치한 실린더로 송신하고 많은 배우에 위치한 실린더로부터 제어 정보를 수신한다. 제어 정보는 동일 각도 또는 열에서 노드로 전송된다. 입력 포트로부터 메시지를 수신할 수 있는 가장 바깥쪽의 실린더 상의 노드가 메시지를 수신할 수 없는 경우 입력 포트에 통지하기 위해 가장 바깥쪽의 실린더 상의 노드로부터 입력 포트로 제어 정보는 또한 전송된다. 유사하게, 출력 포트는 출력 포트가 데이터를 수신할 수 없을 때마다, 가장 내부의 실린더 상의 노드로 제어 정보를 송신할 수 있다. 일반적으로, 임의의 실린더 상의 노드는 제어 신호 송신 노드가 제어 신호가 메시지를 수신할 수 없음을 노드 또는 입력 포트에 알리기 위해 제어 신호를 송신한다. 노드는 많은 내부에 위치한 실린더 상의 노드 또는 출력 포트로부터 제어 신호를 수신한다. 제어 신호는 수신이 수신 노드의 실린더로부터 더욱 내부인 실린더 상의 제 3 노드로 메시지를 송신할 수 있는지의 여부인 제어 신호의 수신을 알린다.
도 4A에 도시된 네트워크에서, 노드 A가 동일 실린더 상의 노드 B로 메시지 를 송신한다면, 노드 B는 외부 실린더 상의 노드 J로부터 데이터를 수신하고, 노드 A는 독립적으로 제어 정보를 노드 J로 송신한다. 노드 A 및 노드 J로부터 메시지를 수신한 노드 B는 노드 A 및 노드 J 사이의 제어 정보의 변경에 관여하지 않는다. 제어-신호 및 데이터-라우팅 위상 및 메시지-라우팅 스킴은 이후에 상세히 논의될 것이다.
미국 특허 번호 제5,996,020호에서, 용어 "실린더" 및 "각도"는 위치로 참조되어 사용된다. 이들 용어는 미국 특허 번호 제6,289,021호, 및 본 상세한 설명에서 사용된 각각 "레벨" 및 "열"와 유사하다. 데이터는 하나의 실린더로부터 다른 실린더로 수평으로 또는 대각선으로 이동하고, 제어 정보는 동일 각도에서 노드에 대해 외부로 송신된다.
도 4B는 계단식 연결 구조를 나타내는 개략도이다. 계단식 연결 구조는 단지 하나의 입력 열을 갖고, 오른쪽에서 왼쪽으로 어떤 연결 백(back), 및 어떤 FIFOs도 갖지 않는다. 그러나, 구조는 다수의 출력 열을 갖는다. 이러한 연결의 약간의 실시예의 성질은 정수 OUTLIM의 존재이고, 그래서 어떤 출력 줄도 동일 싸이클 동안 OUTLIM 메시지 보다 많이 송신되지 않는 경우, 각 메시지는 입력 포트로부터 출력 포트로 벌레구멍 연결 경로를 설정한다.
계단식 연결의 다른 실시예에서, 메시지의 멀티캐스팅은 단일 페이로드에 대한 다수의 헤더의 사용에 의해 지원된다. 멀티캐스팅은 단일 입력 포트로부터 페이로드가 한 타임의 싸이클 동안 다수의 출력 포트로 송신되는 경우 발생한다. 각 헤더는 페이로드에 대한 타깃 어드레스를 특정하고, 어드레스는 임의의 출력 포트 가 될 수 있다. 어떤 출력 포트도 동일한 싸이클 동안 하나 이상의 입력 포트로부터의 메시지를 수신할 수 없는 규정은 여전히 준수된다. 제 1 헤더는 이전에 설명된 것과 같이 처리되고 제어 로직은 차후 페이로드의 흐름을 지시하는 내부 래치를 설정한다. 제 1 헤더 바로 다음에, 제 2 헤더는 그 레벨에 대한 경로를 결정하는 어드레스 비트가 다른 셀에 도달할 때까지 제 1 헤더의 경로를 따른다. 여기서 제 2 헤더는 제 1 헤더와 다른 방향으로 라우팅된다. 셀 내의 추가 래치는 셀 밖으로의 분기된 흐름을 표시하고 제어한다. 다르게 설명하면, 제 2 헤더는 어드레스가 다른 방향을 나타내고 셀이 차후 트래픽이 양 방향으로 셀로부터 배출되게끔 하는 연결을 만들 때까지 제 1 헤더를 따른다. 유사하게, 제 3 헤더는 레벨에 대해 결정적인 헤더 비트가 다른 방향으로의 분기를 나타낼 때까지 첫 번째 두 개에 의해 설정된 경로를 따른다. 헤더가 셀을 통해 왼쪽에서 오른쪽으로 이동하는 경우, 헤더는 상기로부터 메시지를 수신할 수 없음을 표시하는 바쁨 신호를 상향으로 항상 송신한다.
규정은 항상 제 1, 제 2, 및 임의의 다른 헤더에 대해 적용된다. 다르게 설명하면, 셀이 바쁨 신호를 상향으로 송신하는 경우, 제 2 헤더가 제 1 헤더에 의해 설정된 경로를 사용하는 시도를 못하게 하면서, 제어 신호는 모든 헤더가 처리될 때까지 유지된다. 허용된 헤더의 개수는 칩에 대해 외부에 있을 수 있는 타이밍 신호의 함수이다. 계단식 연결의 멀티캐스팅 실시예는 외부 타이밍 신호의 제어 하에 다른 시간에 하나, 두개, 세개 또는 그 이상의 헤더를 갖는 메시지를 수용할 수 있다. 멀티캐스트가 아닌 메시지는 제 2 및 제 3 헤더 대신에, 예컨대 모두 0 인 빈 헤더가 뒤따르는 단지 단일 헤더를 갖는다. 일단 싸이클 내의 모든 헤더가 처리되면, 페이로드는 상기에서 논의한 바와 같이 즉시 마지막 헤더를 따른다. 다른 실시예에서, 멀티캐스팅은 메시지의 헤더에 특별한 멀티캐스트 플래그를 포함함으로써 및 타깃 출력과 연관된 일 세트의 목적지로 메시지의 카피를 차례로 송신하는 타깃 출력에 메지지를 송신함으로써 실행된다.
비록 본 개시는 다양한 실시예를 설명하였지만, 이들 실시예는 예시적인 것으로서 이해되어야 하며 청구항의 기술적 사상을 제한하지 않는다. 설명된 실시예의 많은 변환, 변형, 추가 및 개선은 가능하다. 예컨대, 기술분야의 통상의 지식인은 여기에 개시된 구조 및 방법을 제공하는데 필요한 단계를 즉시 실행할 수 있고, 프로세스 파라미터, 재료, 및 크기는 단지 예를 통해 제공되는 것으로 이해될 것이다. 파라미터, 재료, 요소, 및 크기는 청구항의 기술적 사상 내의 변형뿐만 아니라 바람직한 구조를 달성하기 위해 변화될 수 있다. 여기에 개시된 실시예의 변환 및 변형은 다음의 청구의 범위의 기술적 사상 내에 있는 동안 또한 이루어질 수 있다.

Claims (13)

  1. 연결 구조체에 있어서,
    복수의 입력 포트들 및 하나 이상의 출력 포트를 포함하는 데이터 스위치와,
    헤더(H) 및 페이로드(P)를 포함하는 데이터 세그먼트를 서브-세그먼트의 집합(C)으로 포맷하는 로직을
    포함하고,
    i가 0에서 C-1까지인 상기 개별 서브-세그먼트(si)는 타깃 출력 포트에 관한 정보를 포함하는 헤더(hi) 및 상기 헤더(H)와 상기 페이로드(P)의 함수인 페이로드(pi)를 포함하고,
    상기 페이로드(pi)는 상기 서브-세그먼트(si)와 다른 서브-세그먼트(sk)의 페이로드(pk) 내의 데이터에 기초한 하나 이상의 에러 정정 비트를 추가로 포함하는 것을 특징으로 하는 연결 구조체.
  2. 제 1 항에 있어서,
    상기 집합(C) 서브-세그먼트(si)를 선택된 복수의 입력 포트를 통해 하나 이상의 타깃 출력 포트로 송신하고, 상기 헤더(hi)에 의해 특정된 상기 타깃 출력 포트들에서 수신되는 상기 페이로드(pi)로부터의 상기 페이로드(P)를 재구성하는 상기 로직을 추가로 포함하는 것을 특징으로 하는 연결 구조체.
  3. 제 1 항에 있어서,
    상기 로직은 수신된 서브-세그먼트(si)의 페이로드(pi) 내에서 에러가 발생한 경우 상기 레이로드(P)를 재구성하는 것을 특징으로 하는 연결 구조체.
  4. 제 1 항에 있어서,
    상기 로직은 서브-세그먼트(si)에서 미스라우팅이 발생한 경우 상기 레이로드(P)를 재구성하는 것을 특징으로 하는 연결 구조체.
  5. 제 1 항에 있어서,
    복수의 데이터 스위치들과,
    서브-세그먼트(s1 및 s2)를 포함하는 상기 집합(C)를
    추가로 포함하고,
    상기 로직은 상기 복수의 데이터 스위치들 내의 다른 데이터 스위치들을 통해 상기 서브-세그먼트(s1 및 s2)를 송신하는 것을 특징으로 하는 연결 구조체.
  6. 제 1 항에 있어서,
    상기 데이터 스위치는 다수 레벨 최소 로직(MLML: Multiple Level Minimum Logic) 네트워크인 것을 특징으로 하는 연결 구조체.
  7. 제 1 항에 있어서,
    상기 로직은 상기 서브-세그먼트(s1)의 상기 헤더(h1) 내의 에러에 의해 유발되는 서브-세그먼트(s1)의 미스라우팅이 발생하는 경우 상기 페이로드(P)를 재구성하는 것을 특징으로 하는 연결 구조체.
  8. 제 1 항에 있어서,
    상기 로직은 상기 서브-세그먼트(s1)과 다른 상기 서브-세그먼트(s2)의 상기 헤더(h2) 내의 에러에 의해 유발되는 서브-세그먼트(s1)의 미스라우팅이 발생하는 경우 상기 페이로드(P)를 재구성하는 것을 특징으로 하는 연결 구조체.
  9. 제 1 항에 있어서,
    상기 로직은 하드웨어 에러에 의해 유발되는 서브-세그먼트(s1)의 미스라우팅이 발생하는 경우 상기 페이로드(P)를 재구성하는 것을 특징으로 하는 연결 구조체.
  10. 제 1 항에 있어서,
    상기 데이터 세그먼트는 데이터 패킷인 것을 특징으로 하는 연결 구조체.
  11. 제 1 항에 있어서,
    상기 데이터 세그먼트는 다수의 서브-세그먼트들로 분해되는 데이터 패킷인 것을 특징으로 하는 연결 구조체.
  12. 연결 구조체에 있어서,
    복수의 입력 포트들 및 하나 이상의 출력 포트를 포함하는 데이터 스위치와,
    헤더(H) 및 페이로드(P)를 포함하는 데이터 세그먼트를 서브-세그먼트의 집합(C)으로 포맷하는 로직을
    포함하고,
    i가 0에서 C-1까지인 상기 개별 서브-세그먼트(si)는 타깃 출력 포트에 관한 정보를 포함하는 헤더(hi) 및 상기 헤더(H)와 상기 페이로드(P)의 함수인 페이로드(pi)를 포함하고,
    상기 로직은 서브-세그먼트(si)의 미스라우팅이 발생하는 경우 상기 페이로드(p)를 재구성하는 것을 특징으로 하는 연결 구조체.
  13. 제 12 항에 있어서,
    상기 페이로드(pi)는 상기 서브-세그먼트(si)와 다른 서브-세그먼트(sk)의 페 이로드(pk) 내의 데이터에 기초한 하나 이상의 에러 정정 비트를 추가로 포함하는 것을 특징으로 하는 연결 구조체.
KR1020067010457A 2003-10-29 2004-10-27 에러 정정을 이용하는 높은 병렬 스위칭 시스템 KR20070007769A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51593703P 2003-10-29 2003-10-29
US60/515,937 2003-10-29

Publications (1)

Publication Number Publication Date
KR20070007769A true KR20070007769A (ko) 2007-01-16

Family

ID=34549465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067010457A KR20070007769A (ko) 2003-10-29 2004-10-27 에러 정정을 이용하는 높은 병렬 스위칭 시스템

Country Status (7)

Country Link
US (1) US7397799B2 (ko)
EP (1) EP1687686A4 (ko)
JP (1) JP4679522B2 (ko)
KR (1) KR20070007769A (ko)
CN (1) CN101416446A (ko)
CA (1) CA2544319A1 (ko)
WO (1) WO2005043328A2 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
WO2005043328A2 (en) * 2003-10-29 2005-05-12 Interactic Holdings, Llc Highly parallel switching systems utilizing error correction
EP1836503A4 (en) * 2004-12-20 2009-09-23 Interactic Holdings Llc CONTROLLED CONTROLLED INTERCONNECTION COMPRISING OPTICAL AND WIRELESS APPLICATIONS
US20070097970A1 (en) * 2005-11-01 2007-05-03 Georgios Margaritis Packet retransmitter
US7496551B1 (en) * 2006-03-28 2009-02-24 Emc Corporation Methods and apparatus associated with advisory generation
EP2092436A4 (en) 2006-10-26 2010-03-24 Coke S Reed NETWORK INTERFACE CARD FOR USE IN PARALLEL DATA PROCESSING SYSTEMS
JP5573491B2 (ja) * 2010-08-23 2014-08-20 日本電気株式会社 データ転送システム、スイッチ及びデータ転送方法プロセッサ間ネットワーク
IT1403031B1 (it) * 2010-11-19 2013-09-27 Eurotech S P A Apparecchiatura di rete unificata per sistemi di supercalcolo scalabili
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
GB2511089A (en) 2013-02-22 2014-08-27 Ibm All-to-all message exchange in parallel computing systems
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9690678B2 (en) * 2014-03-19 2017-06-27 Siemens Energy, Inc. Fault tolerant systems and method of using the same
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US11108500B2 (en) 2016-07-05 2021-08-31 Idac Holdings, Inc. Latency reduction by fast forward in multi-hop communication systems
US11032197B2 (en) 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996020A (en) * 1995-07-21 1999-11-30 National Security Agency Multiple level minimum logic network
US6289021B1 (en) * 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
EP1040611B1 (en) * 1997-12-12 2002-06-05 3Com Corporation A forward error correction system for packet based real-time media
US6754207B1 (en) * 1998-01-20 2004-06-22 Interactic Holdings, Llc Multiple-path wormhole interconnect
US6484207B1 (en) * 1998-11-17 2002-11-19 Cisco Technology, Inc. Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted
GB9828144D0 (en) * 1998-12-22 1999-02-17 Power X Limited Data switching apparatus
US20030035371A1 (en) * 2001-07-31 2003-02-20 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US6956861B2 (en) * 2002-04-16 2005-10-18 Interactics Holdings, Llc Controlled shared memory smart switch system
US20040264369A1 (en) * 2003-03-11 2004-12-30 Interactic Holdings, Llc Scalable network for computing and data storage management
WO2005043328A2 (en) * 2003-10-29 2005-05-12 Interactic Holdings, Llc Highly parallel switching systems utilizing error correction
DE602005020756D1 (de) * 2004-03-08 2010-06-02 Interactic Holdings Llc Hochparallele schaltsysteme mit fehlerkorrektur ii
US20060171386A1 (en) * 2004-09-01 2006-08-03 Interactic Holdings, Llc Means and apparatus for a scaleable congestion free switching system with intelligent control III

Also Published As

Publication number Publication date
US7397799B2 (en) 2008-07-08
WO2005043328A2 (en) 2005-05-12
JP4679522B2 (ja) 2011-04-27
CA2544319A1 (en) 2005-05-12
WO2005043328A3 (en) 2009-03-26
US20050105515A1 (en) 2005-05-19
CN101416446A (zh) 2009-04-22
JP2007528148A (ja) 2007-10-04
EP1687686A4 (en) 2010-09-15
EP1687686A2 (en) 2006-08-09

Similar Documents

Publication Publication Date Title
KR20070007769A (ko) 에러 정정을 이용하는 높은 병렬 스위칭 시스템
US7088710B1 (en) Method of transmitting information through data switching apparatus and apparatus therefor
US7039058B2 (en) Switched interconnection network with increased bandwidth and port count
US7046633B2 (en) Router implemented with a gamma graph interconnection network
US6947433B2 (en) System and method for implementing source based and egress based virtual networks in an interconnection network
US5894481A (en) Fiber channel switch employing distributed queuing
US9253248B2 (en) Parallel information system utilizing flow control and virtual channels
Lu et al. Connection-oriented multicasting in wormhole-switched networks on chip
US7145873B2 (en) Switching arrangement and method with separated output buffers
US20020141427A1 (en) Method and apparatus for a traffic optimizing multi-stage switch fabric network
US20010021174A1 (en) Switching device and method for controlling the routing of data packets
JP3946145B2 (ja) 高速イーサネット(登録商標)スイッチおよび高速イーサネット(登録商標)データフレームを分配するための方法
US7205881B2 (en) Highly parallel switching systems utilizing error correction II
García et al. Efficient, scalable congestion management for interconnection networks
García et al. Dynamic evolution of congestion trees: Analysis and impact on switch architecture
EP1133110B1 (en) Switching device and method
WO2006017158A2 (en) Self-regulating interconnect structure
US6947413B2 (en) Switching apparatus, communication apparatus, and communication system
Dai et al. Microarchitecture of a Configurable High-Radix Router for the Post-Moore Era
Olk et al. The OSI Model Applied to MIMD Communication Processor Design.
García et al. A publication of the Department of Computer Science

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J501 Disposition of invalidation of trial