KR20110101250A - 병렬 버스 상에서의 병렬 데이터 플로우들의 송신 - Google Patents

병렬 버스 상에서의 병렬 데이터 플로우들의 송신 Download PDF

Info

Publication number
KR20110101250A
KR20110101250A KR1020117018539A KR20117018539A KR20110101250A KR 20110101250 A KR20110101250 A KR 20110101250A KR 1020117018539 A KR1020117018539 A KR 1020117018539A KR 20117018539 A KR20117018539 A KR 20117018539A KR 20110101250 A KR20110101250 A KR 20110101250A
Authority
KR
South Korea
Prior art keywords
parallel data
data flows
data flow
additional
parallel
Prior art date
Application number
KR1020117018539A
Other languages
English (en)
Other versions
KR101275657B1 (ko
Inventor
실비오 쿠치
리카르도 제멜리
루이지 론셰티
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20110101250A publication Critical patent/KR20110101250A/ko
Application granted granted Critical
Publication of KR101275657B1 publication Critical patent/KR101275657B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

병렬 버스 상에서 N 개의 병렬 데이터 플로우들을 송신하기 위한 방법이 기술된다. 상기 방법은 제 1 통신 디바이스에서: 주기를 갖고 주기적으로 분포되는 정렬 위드들을 포함하는 추가의 병렬 데이터 플로우를 생성하는 단계; 각각의 주기에서, N 개의 병렬 데이터 플로우들 및 추가의 병렬 데이터 플로우를 순환시킴으로써, 각각 프레임 주기로 주기적으로 분포되는 정렬 위드들의 일부를 포함하는 N+1 개의 순환된 병렬 데이터 플로우들을 생성하는 단계; 및 병렬 버스의 각각의 물리적 접속부들 상에서 N+1 개의 순환된 병렬 데이터 플로우들을 송신하는 단계를 포함한다. 상기 방법은 제 2 통신 디바아스에서: 정렬 워드들을 이용하여 N+1 개의 순환된 병렬 데이터 플로우들을 정렬함으로써, 스큐를 보상하고 N+1 개의 정렬된 병렬 데이터 플로우들을 획득하는 단계; 및 각각의 주기에서, N+1 개의 정렬된 병렬 데이터 플로우들을 역순환시킴으로써 N 개의 병렬 데이터 플로우들에 대응하는 N 개의 역순환된 병렬 데이터 플로우들을 생성하는 단계를 추가로 포함한다.

Description

병렬 버스 상에서의 병렬 데이터 플로우들의 송신{TRANSMISSION OF PARALLEL DATA FLOWS ON A PARALLEL BUS}
본 발명은 병렬 통신들에 관한 것이다. 특히, 본 발명은 병렬 버스(parallel bus) 상에서 다수의 병렬 데이터 플로우들을 송신하기 위한 방법에 관한 것이다. 더욱이, 본 발명은 그와 같은 방법을 수행하는데 적합한 병렬 통신 시스템에 관한 것이다.
공지되어 있는 바와 같이, 병렬 버스는 두 통신 디바이스들을 접속하고 이들 사이에 데이터의 교환을 지원하는데 적합한 다수의 병렬 물리적 접속부들을 포함한다. 데이터 송신은 병렬 버스의 모든 물리적 접속부들 사이에서 공유된다. 물리적 접속부들은 광학적 접속단들(예를 들어, 광섬유들) 또는 전기 접속단들일 수 있다. 병렬 버스들은 단일 물리적 접속부에서 데이터를 전송하는 직렬 버스들에 대비된다.
병렬 버스에 의해 접속되는 통신 디바이스들에는 "서데스(serdes)"(serializer-deserializer:시리얼라이저(serializer)-디시리얼라이저(deserializer))로 공지되어 있는 적절한 인터페이스들이 설치되어야만 한다. 서데스는 전형적으로 송신 측 및 수신 측을 갖는다. 송신 측에서, 서데스는 직렬 버스로부터 수집되는 데이터 플로우를 수신하고 N개의 병렬 데이터 플로우들을 획득하기 위해 직렬 버스 상에서 시분할 디멀티플렉싱(demultiplexing)을 수행하는데 적합한 디멀티플렉서(demultiplexer)를 가지며, 여기서 N은 병렬 버스 내의 물리적 접속부들의 수보다 더 작거나 같다(디시리얼라이제이션(deserialization)). 그후에 N 개의 병렬 데이터 플로우들 각각은 병렬 버스의 각각의 물리 링크 상에서 송신된다. 한편, 수신 측에서, 서데스는 병렬 버스의 각각의 물리적 접속부들로부터 N개의 병렬 데이터 플로우들을 수신하고, 직렬 버스 상에서 송신되는 수집되는 데이터 플로우를 복구하기 위해 상기 물리적 접속부들에서 시분할 멀티플렉싱을 수행하는데 적합한 멀티플렉서를 갖는다(시리얼라이제이션(serialization)).
제 1 통신 디바이스의 서데스로부터 제 2 통신 디바이스의 서데스로의 전파 동안, 각각의 병렬 데이터 플로우는 상이한 전파 지연을 겪는다. 이는 예를 들어 물리적 접속부들이 미세하게 상이한 길이들을 갖는 것으로부터 기인할 수 있다. 따라서, 제 1 통신 디바이스의 서데스로부터 동시에 송신되는 상이한 병렬 데이터 플로우들의 비트들은 제 2 통신 디바이스의 서데스에서 상이한 시간들에 수신된다. 이 효과는 "스큐(skew)"로 칭해진다.
스큐에 의해 데이터 플로우들이 수신 측에서 적절하게 정렬되지 못함으로써, 취합된(aggregated) 데이터 플로우의 비트들의 원래의 시퀀스를 복구하는데 에러를 발생시키므로 스큐는 바람직하지 않은 효과이다. 병렬 버스 길이가 더 길수록 그리고 송신 데이터 레이트가 더 높을수록 복구되는 취합된 데이터 플로우 상에서 스큐에 의해 유발되는 에러들의 수가 더 많아진다.
2002년 1월 29일에, OIF(Opticla Internetworking Forum)에 의해 제작된 문서 "Serdes Framer Interface Level 5(SFI-5): Inplementation Agreement for 40Gb/s Interface for Physical Layer Devices(OIF-SFI5-01.02)"는 16개의 물리적 접속부들에 병렬 버스의 "디스큐(deskew)" 물리적 접속부을 더한 것을 통해 수집되는 광학 데이터 플로우를 40Gb/s로 송신하기 위한 서데스를 개시하고, 이는 스큐를 보상하기 위한 정렬 메커니즘을 구현하는데 적합하다. 같은 문서는 또한, 각각 네 물리적 접속부들에 하나의 디스큐가 더해져서 구성되어, SFI-5들로 칭해지는, 네 병렬 버스들에 의해 네 독립된 취합된 광학 데이터 플로우들을 10Gb/s로 송신하기 위한 쿼드 서데스(quar serdes)를 개시한다. 이 서데스의 동작은 이제 도 6a 및 도 6b를 참조함으로써 설명될 것이다.
송신 측에서, 병렬 버스를 통해 송신되는 취합된 데이터 플로우는 시분할 디멀티플렉싱에 의해 네 병렬 데이터 플로우들(PF1, PF2, PF3, PF4)로 분할된다. 그리고나서, 추가 플로우(AF)가 생성되고, 이 플로우는 미리 규정된 지속기간의 프레임들(F1, F2,...)로 분할된다. 예를 들어 도 6a에 도시된 프레임(F1)을 참조하면, 서데스는 프레임(F1)에 정렬 워드(AW')를 삽입한다. 그리고나서, 시간(t10)에서부터 시간(t11)까지, 서데스는 비트들을 제 1 병렬 데이터 플로우(PF1)로부터 프레임(F1) 내로 카피하고, 따라서 제 1 병렬 데이터 플로우(PF1)의 비트 시퀀스(S'11)의 카피(S11)를 프레임(F1) 내에 삽입한다. 그리고나서, 시간(t11)로부터 시간(t12)까지, 서데스는 비트들을 제 2 병렬 데이터 플로우(PF2)로부터 프레임(F1) 내로 카피하고, 따라서, 제 2 병렬 데이터 플로우(PF2)의 비트 시퀀스들(S'12)의 카피(S12)를 프레임(F1) 내에 삽입한다. 그리고나서, 시간(t12)에서부터 시간(t13)에서, 서데스는 비트들을 제 3 병렬 데이터 플로우(PF3)로부터 프레임(F1) 내로 카피하고, 따라서 제 3 병렬 데이터 플로우(PF3)의 비트 시퀀스(S'13)의 카피(S13)를 프레임(F1) 내로 삽입한다. 그리고나서, 시간(t13)에서부터 시간(t14)으로, 서데스는 비트들을 제 4 병렬 데이터 플로우(PF4)로부터 프레임(F1) 내에 카피하고, 따라서 제 4 병렬 데이터 플로우(PF4)의 비트 시퀀스(S'14)의 카피(S14)를 프레임(F1) 내에 삽입한다. 그리고나서, 서데스는 상기 절차를 주기적으로 반복하여, 도 6a의 프레임(F2) 및 연속 프레임들(간소화를 위해 도 6a에 도시되지 않는다)을 형성한다.
병렬 데이터 플오우들(PF1, PF2, PF3, PF4) 및 추가 플로우(AF)는 그 후에 병렬 버스의 각각의 물리적 접속부에서 각각 송신된다.
수신 측에서, 병렬 데이터 플로우들(PF1, PF2, PF3, PF4) 및 추가 플로우(AF)는 일반적으로 스큐에 의해서 정렬되지 않는다. 이 상황이 도 6b에 도시된다. 그러므로 추가 플로우(AF)는 각각의 시퀀스(S11, S12, S13, S14)를 고려함으로써 그리고 병렬 데이터 플로우(PF1, PF2, PF3, PF4)에서 각각 대응하는 시퀀스(S'11, S'12, S'13, S'14)를 탐색함으로써 판독된다. 대응하는 스퀀스들(S'11, S'12, S'13, S'14)이 발견되면, 대응하는 시퀀스들(S'11, S'12, S'13, S'14)을 추가 플로우(AF)의 시퀀스들(S11, S12, S13, S14)에 각각 정렬시키기 위해 병렬 데이터 플로우들(PF1, PF2, PF3, PF4)은 도 6b에서의 화살표들에 의해 표시되는 바와 같이 시간-시프트된다. 이 절차는 추가 플로우(AF)의 프레임이 수신될 때마다, 정렬이 발견될 때 각각의 병렬 데이터 플로우에 대하여 주기적으로 반복된다. 정렬 절차는 모든 병렬 데이터 플로우들이 개별적으로 정렬될 때 완료된다. 성공적인 정렬 이후에, 정렬은 계속해서 검사된다.
출원인은 스큐를 보상하기 위한 상기 해법이 일부 결점들을 가지고 있음에 주목하였다.
무엇보다도, 불리하게도, 상기 정렬 동작 동안 수신되는 데이터가 분실된다.
더욱이, 상기 해법은 추가 플로우(AF)의 프레임이 수신될 때마다 병렬 데이터 플로우들이 수신 측에서 성공적으로 정렬되는 것을 보장하지 않는다.
실제로, 정렬은 추가 플로우 내에서 그리고 병렬 데이터 플로우 내에서 대응하는 시퀀스들을 찾는 것에 기초한다. 그러나, 이 시퀀스들의 콘텐츠는 미리 규정되지 않지만, 병렬 데이터 플로우들의 콘텐츠에 좌우된다. 따라서, 병렬 데이터 플로우들 중 하나(예를 들어, 제 1 병렬 데이터 플로우(PF1))가 유형 "01010101..."의 패턴을 포함하고 시퀀스(S11)가 그와 같은 패턴으로부터 카피되는 경우, 수신 측에서, 서데스는 시퀀스(S11)에 대응하는 유일한 시퀀스(S'11)를 찾을 수 없다. 실제로, 제 1 병렬 데이터 플로우(PF1)는 시퀀스(S11)와 매칭(matching)하고 다른 것에 대해 2비트들로 시프트(shift)되는 복수의 시퀀스들을 포함한다. 그러므로 정렬을 수행하는데 이용되는 대응하는 시퀀스인 시데스가 인지되지 않고, 따라서, 제 1 데이터 플로우(PF1)의 정렬이 실패한다. 이 상황은 불리하게도 유형 "01010101..." 패턴이 종료할 때까지 지속된다. 그러나, 그와 같은 패턴의 길이는, 제 1 병렬 데이터 플로우(PF1)의 콘텐츠에 좌우되기 때문에 예측 불가능하고, 예측 불가능한 수효의 연속 프레임들(F1, F2,...) 내 제 1 병렬 데이터 플로우(PF1)로부터 카피되는 시퀀스들(S11, S21 등)에 영향을 미칠 수 있다. 그러므로, 제 1 병렬 데이터 플로우(PF1)의 정렬을 복구하기 위한 시간은 불리하게도 예측 불가능하다.
그러므로, 출원인은 스큐를 보상하는 것이 가능하고, 동시에 상술한 결점들을 극복하는, 병렬 버스 상에서 다수의 병렬 데이터 플로우들을 송신하기 위한 방법을 제공하는 문제를 다루어왔다.
특히, 출원인은 예측 불가능한 지연 없이 그리고 병렬 데이터 플로우들의 콘텐츠와 관계없이 병렬 데이터 플로우들의 스큐를 보상하는 것이 가능한, 병렬 버스 상에서 다수의 병렬 데이터 플로우들을 송신하기 위한 방법을 제공하는 문제를 다루어왔다.
제 1 양태에 따르면, 본 발명은 병렬 버스 상에서 제 1 통신 디바이스로부터 제 2 통신 디바이스로 N 개의 병렬 데이터 플로우들을 송신하기 위한 방법을 제공하고, 상기 방법은, 제 1 통신 디바이스에서:
a) 주기를 갖고 주기적으로 분포되는 복수의 정렬 워드들을 포함하는 추가의 병렬 데이터 플로우를 생성하는 단계;
b) 각각의 주기에서, N 개의 병렬 데이터 플로우들 및 추가의 병렬 데이터 플로우를 순환(roate)시킴으로써 추가의 N+1 개의 순환된 병렬 데이터 플로우들을 생성하는 단계로서, 추가의 N+1 개의 순환된 병렬 데이터 플로우들의 각각은 프레임 주기로 주기적으로 분포되는 복수의 정렬 워드들의 일부를 포함하는, 상기 생성 단계; 및
c) 병렬 버스의 각각의 물리적 접속부들 상에서 추가의 N+1 개의 순환된 병렬 데이터 플로우들을 송신하는 단계를 포함하고,
상기 방법은, 상기 제 2 통신 디바이스에서:
d) 복수의 정렬 워드들의 일부를 이용하여 추가의 N+1 개의 순환된 병렬 데이터 플로우들의 각각을 정렬함으로써, 스큐를 보상하고 추가의 N+1 개의 정렬된 병렬 데이터 플로우들을 획득하는 단계; 및
e) 각각의 주기에서, 추가의 N+1 개의 정렬된 병렬 데이터 플로우들을 역순환(de-rotate)시킴으로써, N 개의 병렬 데이터 플로우들에 대응하는 N 개의 역순환된 병렬 데이터 플로우들을 생성하는 단계를 추가로 포함한다.
바람직하게는, 단계 b)는, 추가의 병렬 데이터 플로우의 복수의 정렬 워드들 중 하나가 시작하는 매 시점(instant) tk에 N 개의 병렬 데이터 플로우들 및 추가의 병렬 데이터 플로우를 순환시키는 단계를 포함한다.
바람직하게는, 단계 b)는, 매 시점 tk에서, 병렬 버스의 m번째 물리적 접속부로부터 병렬 버스의 m'번째 물리적 접속부로 N 개의 병렬 데이터 플로우들의 각각의 병렬 데이터 플로우 및 추가의 병렬 데이터 플로우의 송신을 시프트(shift)하는 단계를 포함하고, 여기서
- m번째 물리적 접속부는 순환이 수행되지 않는다면 각각의 병렬 데이터 플로우를 전송하는 물리적 접속부이고,
- m'는 다음의 식에 의해 제공된다:
Figure pct00001
,
Figure pct00002
는 0부터 N까지의 범위의 고정된 위상 시프트(phase shift)이다.
바람직하게는, 단계 d)는:
- 추가의 N+1 개의 순환된 병렬 데이터 플로우들 중에서 순환된 병렬 데이터 플로우를 선택하는 단계;
- 선택된 순환된 병렬 데이터 플로우에 의해 전송되는 세그먼트(segment)들의 범위를 정하는 내부 기준 시점들(time instants)을 포함하는 내부 기준 시간 베이스(time base)를 생성하는 단계;
- 추가의 N+1 개의 순환된 병렬 데이터 플로우들의 각각에 대해, 내부 기준 시간 베이스에 대한 시간 시프트(time shift)를 나타내는 정렬 정보를 생성하는 단계; 및
- 정렬 정보에 따라 선택된 순환된 병렬 데이터 플로우로 각각의 순환된 병렬 데이터 플로우를 정렬하는 단계를 포함한다.
바람직하게는, 단계 d)는:
- 정렬 정보에 따라, 순환된 병렬 데이터 플로우들 중에서 가장 지연된 순환된 병렬 데이터 플로우를 선택하는 단계; 및
- 가장 지연된 순환된 병렬 데이터 플로우에 의해 전송되는 세그먼트들의 범위를 정하는 외부 기준 시점들을 포함하는 외부 기준 시간 베이스를 생성하는 단계를 추가로 포함한다.
바람직하게는, 단계 e)는 외부 기준 시점들 각각에서 추가의 N+1 개의 정렬된 병렬 데이터 플로우들을 역순환시키는 단계를 포함한다.
유용하게도, 단계 e)는 외부 기준 시점들 각각에서, 추가의 N+1 개의 정렬된 병렬 데이터 플로우들의 각각의 정렬된 병렬 데이터 플로우의 송신을 병렬 버스의 m'번째 물리적 접속부로부터 병렬 버스(PB)의 m''번째 물리적 접속부로 시프트하는 단계를 포함하고, 여기서:
- m'번째 물리적 접속부는 각각의 정렬된 병렬 데이터 플로우가 수신되는 물리적 접속부이고,
- m''는 다음의 식에 의해 제공된다:
Figure pct00003
,
Figure pct00004
는 0부터 N까지의 범위의 추가의 고정된 위상 시프트이다.
바람직하게는, 상기 방법은 단계 b)와 단계 c) 사이에, 정렬 워드들을 제외하고, 추가의 N+1개의 순환된 병렬 데이터 플로우들의 콘텐츠를 스크램블링(scramble)하는 단계를 추가로 포함한다.
바람직하게는, 상기 방법은 단계 d)와 단계 e) 사이에, 정렬 워드들을 제외하고 정렬된 데이터 플로우들의 콘텐츠를 디-스크램블링(de-scrambling)하는 단계를 추가로 포함한다.
유용하게도, 정렬 워드는 추가의 병렬 데이터 플로우가 연속하는 정렬 워드들 사이에 자유 비트들을 포함하도록, 주기(T)보다 작은 지속기간을 갖는다.
바람직하게는, 단계 a)는, 다음의 목적들: 에러들의 정정, 병렬 플로우들의 식별자들의 삽입, DC 결합을 위한 심볼들의 삽입, 클럭 복구를 용이하게 하기 위한 천이들(transitions)의 생성, 및 병렬 버스의 이용 가능한 대역폭의 증가 중 하나 이상을 위해 자유 비트들을 이용하는 단계를 추가로 포함한다.
유용하게도, 단계 a)는, 단계 b)가 수행된 이후에 추가의 N+1개의 순환된 병렬 데이터 플로우들의 각각을 식별하는데 적합한 프레임 식별자를, 복수의 정렬 워드들의 각각 뒤에, 자유 비트들 내에 삽입하는 단계를 포함한다.
제 2 양태에 따르면, 본 발명은 제 1 통신 디바이스, 병렬 버스 및 제 2 통신 디바이스를 포함하는 통신 시스템을 제공하고, 제 1 통신 디바이스는 N 개의 병렬 데이터 플로우들을 병렬 버스 상에서 제 2 통신 디바이스로 송신하도록 구성되며, 상기 제 1 통신 디바이스는:
- 주기를 갖고 주기적으로 분포되는 복수의 정렬 워드들을 포함하는 추가의 병렬 데이터 플로우를 생성하도록 구성되는 정렬 워드 생성기; 및
- 각각의 주기에서, N 개의 병렬 데이터 플로우들 및 추가의 병렬 데이터 플로우를 순환시킴으로써, 추가의 N+1개의 순환된 병렬 데이터 플로우들을 생성하도록 구성되는 로테이터(rotator)로서, 추가의 N+1개의 순환된 병렬 데이터 플로우들의 각각은 프레임 주기로 주기적으로 분포되는 복수의 정렬 워드들의 일부를 포함하는, 상기 로테이터를 포함하고;
제 2 통신 디바이스는:
- 복수의 정렬 워드들의 일부를 이용하여 추가의 N+1개의 순환된 병렬 데이터 플로우들의 각각을 정렬함으로써, 스큐를 보상하고 추가의 N+1개의 정렬된 병렬 데이터 플로우들을 획득하도록 구성되는 추가의 N+1개의 정렬기(aligner)들; 및
- 각각의 주기에서, 추가의 N+1개의 정렬된 병렬 데이터 플로우들을 역순환시킴으로써 N 개의 병렬 데이터 플로우에 대응하는 N 개의 역순환된 병렬 데이터 플로우들을 생성하도록 구성되는 디-로테이터(de-rotator)를 포함한다.
상술한 바와 같이 본 발명에 의해 스큐를 보상하며, 예측 불가능한 지연 없이 그리고 병렬 데이터 플로우들의 콘텐츠와 관계없이 병렬 데이터 플로우들의 스큐를 보상하는 것이 가능한, 병렬 버스 상에서 다수의 병렬 데이터 플로우들을 송신하기 위한 방법이 제공된다.
- 도 1은 제 1 통신 디바이스 및 제 2 통신 디바이스를 포함하는 통신 시스템을 개략적으로 도시하는 도면.
- 도 2a 및 도 2b는 각각 로테이터에 의한 프로세싱 이전 및 이후에, 5개의 병렬 데이터 플로우들의 구조를 도시하는 도면.
- 도 3a 및 도 3b는 정렬기들에 의한 프로세싱 동안, 5개의 병렬 데이터 플로우들의 구조를 도시하는 도면.
- 도 4a 및 도 4b는 각각 디-로테이터에 의한 프로세싱 이전 및 이후에, 5개의 병렬 데이터 플로우들의 구조를 도시하는 도면.
- 도 5a 및 도 5b는 슈퍼-프레임들이 이용되는 경우에, 각각 로테이터에 의한 프로세싱 이전 및 이후에, 5개의 병렬 데이터 플로우들의 구조를 도시하는 도면.
- 도 6a 및 도 6b는 송신 및 수신 측에서 각각, 종래 기술 해법에 따라 스큐를 보상하기 위하여 프로세싱되는 4개의 병렬 데이터 플로우들의 구조를 도시하는(이미 상술됨) 도면.
본 발명은 첨부 도면들을 참조함으로써 판독되는 예이지만 제한하지 않도록 제공되는 다음의 상세한 설명을 판독함으로써 양호하게 이해될 것이다:
도 1은 제 1 통신 디바이스(CD1), 제 2 통신 디바이스(CD2), 및 제 1 통신 디바이스(CD1) 및 제 2 통신 디바이스(CD2)를 접속하는 평행 버스(PB)를 포함하는 통신 시스템(CS)을 개략적으로 도시한다.
병렬 버스(PB)는 N+1의 물리적 접속부들을 포함하고, N은 정수이다. 병렬 버스(PB)는 전기 병렬 버스이거나 광학 병렬 버스일 수 있다. 제 1 통신 디바이스(CD1) 및 제 2 통신 디바이스(CD2)는 예를 들어 통신 네트워크의 두 네트워크 장치들(예를 들어 두 라우터들, 두 스위치들 등과 같은)이거나, 또는 동일한 네트워크 장치의 두 보드(board)들일 수 있다. 그러나, 이들은 또한 로컬 네트워크에 접속되는 두 컴퓨터들이거나, ASIC, FPGA 등과 같은 두 물리 디바이스들일 수 있다.
제 1 통신 디바이스(CD1)는 송신기(TX1)를 포함하고, 순차적으로, 바람직하게는, 송신기(TX1)는: 디멀티플렉서(DM), 정렬 워드 생성기(AW-G) 및 로테이터(R)를 포함한다. 바람직하게는, 디멀티플렉서(DM)는 제 1 직렬 접속단(SC1)에 접속되는 입력 및 로테이터(R)에 접속되는 N개의 출력들을 갖는다. 차례로, 로테이터(R)는 디멀티플렉서(DM)의 각각의 출력들에 접속되는 N개의 입력들, 정렬 워드 생성기(AW-G)에 접속되는 추가 입력 및 N+1 출력들을 갖고, N+1의 출력들의 각각은 병렬 버스(PB)의 각각의 물리적 접속부에 접속되어 있다.
도면들에 도시되지 않은 실시예들에 따르면, 제 1 직렬 접속단(SC1)은 예를들어 독점 포맷에 따라 포맷되는 병렬 데이터 플로우들의 송신을 지원하는 입력 병렬 버스와 같이, 다른 유형의 접속단으로 대체될 수 있다. 이 경우, 바람직하게는, 디멀티플렉서(M)는 생략될 수 있고, 입력 병렬 버스의 물리적 접속부들은 로테이터(R)에 직접적으로 접속될 수 있다.
제 2 통신 디바이스(CD2)는 바람직하게는 수신기(RX2)를 포함하고, 차례로, 수신기는: N+1의 정렬기들, 지연 보상기(DC), 디-로테이터(DR) 및 멀티플렉서(M)를 포함한다. 바람직하게는, 각각의 정렬기는 병렬 버스(PB)의 각각의 물리적 접속부에 접속되는 입력을 갖는다. 더욱이, 각각의 정렬기는 지연 보상기(DC)에 접속되는 출력을 갖는다. 지연 보상기(DC)는 각각 병렬 버스(PB)의 각각의 물리적 접속부에 접속되는 N+1의 입력들, 각각의 정렬기에 각각 접속되는 N+1의 추가 입력들, 및 디-로테이터(DR)에 접속되는 N+1의 출력들을 갖는다. 바람직하게는, 디-로테이터(DR)는 지연 보상기(DC)의 각각의 출력들에 접속되는 N+1의 입력들, 및 멀티플렉서(M) 및 추가 출력에 접속되는 N 개의 출력들을 갖고, 이들의 역할은 본원에서 이후에 설명될 것이다. 멀티플렉서(M)는 차례로, 디-로테이터(DR)의 각각의 출력들에 접속되는 N 개의 입력들 및 제 2 직렬 접속단(SC2)에 접속되는 하나의 출력을 갖는다.
도면들에 도시되지 않은 실시예들에 따르면, 제 2 직렬 접속단(SC2)은 예를 들어 독점 포맷에 따라 포맷되는 병렬 데이터 플로우들의 송신을 지원하는 출력 병렬 버스와 같이, 다른 유형의 접속단으로 대체될 수 있다. 이 경우, 바람직하게는, 멀티플렉서(DM)는 생략될 수 있고, 디-로테이터(DR)는 출력 버스의 물리적 접속부들에 직접적으로 접속될 수 있다.
예를 들어, 도 1에서 N은 4와 같다고 가정된다. 따라서, 도 1에 도시되는 병렬 버스(PB)는 5개의 물리적 접속부들(PC1, PC2, ..., PC5)을 포함한다. 게다가, 송신기(TX1)에서, 디멀티플렉서(DM)는 네 출력들을 가지며, 반면에 로테이터(R)는 5개의 입력들 및 5개의 출력들을 갖는다. 게다가, 수신기(RX2)는 5개의 정렬기들(AL1, AL2,...,AL5)을 포함하고, 지연 보상기(DC)는 5개의 입력들, 5개의 추가 입력들 및 5개의 출력들을 갖고, 디-로테이터(DR)는 5개의 입력들, 4개의 출력들 및 하나의 추가 출력을 갖고, 반면에 멀티플렉서(M)는 네 입력들을 갖는다.
제 1 통신 디바이스(CD1) 및 제 2 통신 디바이스(CD2)는 본 설명에 관련되지 않으므로 도 1에 도시되지 않은 다른 구성요소들을 포함할 수 있다. 특히, 제 1 통신 디바이스(CD1)는 제 2 통신 디바이스(CD2)의 수신기(RX2)와 실질적으로 동일한 구조를 갖는 수신기(도면들에 도시되지 않음)를 포함할 수 있다. 유사하게, 제 2 통신 디바이스(CD2)는 제 1 통신 디바이스(CD1)의 송신기(TX1)와 실질적으로 동일한 구조를 갖는 송신기(도면들에 도시되지 않음)를 포함할 수 있다. 이는 유용하게도 제 1 통신 디바이스(CD1) 및 제 2 통신 디바이스(CD2) 사이의 양방향 통신을 제공하는 것을 가능하게 한다.
이후에, 통신 시스템(CS)의 동작이 상세하게 설명될 것이다.
예를 들어, 취합된 데이터 플로우(AF1)가 제 1 통신 디바이스(CD1)로부터 병렬 버스(PB)를 통해 제 2 통신 디바이스(CD2)로 송신되어야만 하는 상황이 고려된다. 이는 단지 예시적인데, 왜냐하면 제 1 통신 디바이스(CD1)가 또한 수신기를 포함하고 제 2 통신 디바이스(CD2)가 또한 송신기를 포함하는 상술한 경우에서, 취합된 데이터 플로우(AF1)는 제 2 통신 디바이스(CD2)로부터 제 1 통신 디바이스(CD1)로 송신될 것이기 때문이다.
제 1 통신 디바이스(CD1)는 예를 들어 도 1에 도시되는 바와 같이, 제 1 직렬 접속단(SC1)으로부터 취합된 데이터 플로우를 수신할 수 있다.
제 1 통신 디바이스(CD1)가 제 1 직렬 접속단(SC1)으로부터 송신될 취합된 데이터 플로우(AF1)를 수신할 때, 이는 바람직하게는 디멀티플렉서(DM)에 의해 시분할 디멀티플렉싱 동작을 수행한다. 그리고나서, 디멀티플렉서(DM)는 도 2a에 도시되는 네 병렬 데이터 플로우들(PF11, PF21, PF31, PF41)을 출력한다.
실질적으로 동시에, 제 5 병렬 데이터 플로우(PF51)가 제공되고, 정렬 워드 생성기(AW-G)는 그와 같은 제 5 병렬 데이터 플로우(PF51)에 정렬 워드(AW)를 주기(T)로 주기적으로 삽입한다. 정렬 워드들(AW)이 시작하는 시점들은 도 2a 및 도 2b의 시간 축 상에 t0, t1, ..., t7으로 표시된다. 바람직하게는, 정렬 워드(AW)는 미리 결정된 콘텐츠를 갖는다. 바람직하게는, 정렬 워드(AW)의 지속기간은 주기(T)보다 더 작다. 이는 유용하게도 도 2a에 도시되는 바와 같이, 연속 정렬 워스들(AW) 사이에 자유 비트들을 제공하는 것을 가능하게 한다. 이 자유 비트들은 본원에서 이후에 상세하게 설명되는 바와 같이, 예를 들어 FEC("Forward Error Correction: 순방향 에러 정정")과 같이, 병렬 데이터 플로우들의 정렬 외의 목적들에 이용될 수 있다.
시점들(t0, t1, ..., t7)은 네 개의 병렬 데이터 플로우들(PF11, PF21, PF31, PF41)이 세그먼트화되는 시간 베이스를 규정한다. 특히, 도 2a에 도시되는 바와 같이, 병렬 데이터 플로우(PF1)는 t0 및 t1 사이에 세그먼트(A1), t1 및 t2 사이에 세그먼트(A2), t2 및 t3 사이에 세그먼트(A3), t3 및 t4 사이에 세그먼트(A4), t4 및 45 사이에 세그먼트(A5), t5 및 t6 사이에 세그먼트(A6), 및 t6 및 t7 사이에 세그먼트(A7)를 갖는다. 도 2a에 도시되는 바와 같이, 다른 병렬 데이터 플로우들(PF21, PF31 및 PF41)에도 마찬가지로 적용된다.
그리고나서 5개의 병렬 데이터 플로우들(PF11, PF21,...,PF51)은 로테이터(R)에 전송된다.
본 발명의 바람직한 실시예들에 따르면, 매 주기(T)에서, 로테이터(R)는 바람직하게는 5개의 병렬 데이터 플로우들(PF11, PF21, ..., PF51)의 순환을 수행한다. 특히, 바람직하게는, 순환은 매 시점(tk)에서 수행되고, 여기서 k는 제 5 병렬 데이터 플로우(PF51)의 정렬 워드들(AW)이 시작하는 시점들(t0, t1, ..., t7)을 계수한 정수 인덱스이다.
바람직하게는, 시점(tk)에서, 순환은 병렬 버스(PB)의 m번째 물리적 접속부로부터 병렬 버스(PB)의 m'번째 물리적 접속부까지 각각의 병렬 데이터 플로우(PF11, PF21,...,PF51)의 송신을 시프트하는 것을 포함한다. m번째 물리적 접속부는 순환이 수행되지 않을 경우 병렬 데이터 플로우를 전송할 물리적 접속부이고, 반면에 m'는 다음의 식에 의해 제공된다:
Figure pct00005
여기서, "(x)mod(y)"는 (x)를 (y)로 나눈 나머지를 나타낸다.
Figure pct00006
는 폐구간 [0, N]에서 값들을 취한 고정된 위상 시프트이다. 다음의 설명에서, 간소화를 위해, 고정된 위상 시프트(
Figure pct00007
)는 1과 같은 것으로 가정된다. 도 1에서, N = 4인 것으로 가정되었기 때문에, m'는 다음의 식에 의해 제공된다:
Figure pct00008
다음의 설명에서, 상기 식 1'에 따라 실행되는 5개의 병렬 데이터 플로우들(PF11, PF21, ...,PF51)의 순환은 "시계 방향 순환"으로 칭해진다.
순환이 실행되지 않는다면, 병렬 데이터 플로우들(PF11, PF21, PF31, PF41, 및 PF51)은 물리적 접속부들(PC1, PC2, PC3, PC4, 및 PC5)를 통해 각각 송신될 것이다.
그러므로, 시점(t0)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R0 : k = 0)을 수행하고, 여기서
Figure pct00009
, 즉:
- m = 1 → m' = 2, 즉, 제 1 물리적 접속부(PC1) 상에서 송신될 병렬 데이터 플로우는 제 2 물리적 접속부(PC2)로 시프트되고;
- m = 2 → m' = 3, 즉, 제 2 물리적 접속부(PC2) 상에서 송신될 병렬 데이터 플로우가 제 3 물리적 접속부(PC3)로 시프트되고;
- m = 3 → m' = 4, 즉, 제 3 물리적 접속부(PC3) 상에서 송신될 병렬 데이터 플로우가 제 4 물리적 접속부(PC4)로 시프트되고;
- m = 4 → m' = 5, 즉, 제 4 물리적 접속부(PC4) 상에서 송신될 병렬 데이터 플로우가 제 5 물리적 접속부(PC5)로 시프트되고;
- m = 5 → m' = 1, 즉, 제 5 물리적 접속부(PC5) 상에서 송신될 병렬 데이터 플로우가 제 1 물리적 접속부(PC1)로 시프트된다.
그러므로, 도 2b에 도시되는 바와 같이, t0부터 t1까지, 제 1 병렬 데이터 플로우(PF11)의 세그먼트(A1)는 제 2 물리적 접속부(PC2)를 통해 송신되고, 제 2 병렬 데이터 플로우(PF21)의 세그먼트(B1)는 제 3 물리적 접속부(PC3)를 통해 송신되고, 제 3 병렬 데이터 플로우(PF31)의 세그먼트(C1)는 제 4 물리적 접속부(PC4)를 통해 송신되고, 제 4 병렬 데이터 플로우(PF41)의 세그먼트(D1)는 제 2 물리적 접속부(PC5)를 통해 송신되고, t0에서 제 5 병렬 데이터 플로우(PF51)의 연속 자유 비트들로 시작하는 정렬 워드(AW)는 제 1 물리적 접속부(PC1)를 통해 송신된다.
순환은 다른 시점들(t1, t2,...,t7)에서 반복, 즉:
- 시점(t1)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R1)(k = 1)을 수행하고, 여기서
Figure pct00010
이고;
- 시점(t2)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R2)(k = 2)을 수행하고, 여기서
Figure pct00011
이고;
- 시점(t3)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R3)(k = 3)을 수행하고, 여기서
Figure pct00012
이고;
- 시점(t4)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R4)(k = 4)을 수행하고, 여기서
Figure pct00013
이고(즉, 순환(R4)은 영 순환(null rotation)이다);
- 시점(t5)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R5)(k = 5)을 수행하고, 여기서
Figure pct00014
이고, 즉,
Figure pct00015
(즉, 순환(R5)은 순환(R0)과 동일하다);
- 시점(t6)에서, 로테이터(R)는 m번째 물리적 접속부로부터 m'번째 물리적 접속부로 각각의 병렬 데이터 플로우를 시프트하는 순환(R6)(k = 6)을 수행하고, 여기서
Figure pct00016
이고, 즉
Figure pct00017
이다(즉, 순환(R6)은 순환(R1)과 동일하다).
로테이터(R)는 바람직하게는 도 2a에 도시되지 않은 각각의 연속 시점에서 상기 순환을 반복하고, 여기서 정렬 워드(AW)는 제 5 병렬 데이터 플로우(PF(51))에서 시작한다. 이 방식으로, 로테이터(R)는 병렬 버스(PB)의 각각의 물리적 접속부(PC1, PC2,...,PC5) 상에서 각각의 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)를 출력한다. 이 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)의 각각은 (N+1)xT와 동일한 프레임 기간을 갖는 프레임들에서 구성된다. 도면들에서 N = 4로 가정되었으므로, 프레임 주기는 5T이다. 예를 들어, 도 2b는 시점(t0)에서 시작하고 시점(t5)에서 종료하는, 제 1 순환된 병렬 데이터 플로우(PF12)의 프레임을 도시한다. 게다가, 도 2b는 또한 시점(t1)에서 시작하고 시점(t6)에서 종료하는, 제 2 순환된 병렬 데이터 플로우(PF22)의 프레임을 도시한다. 게다가, 도 2b는 시점(t2)에서 시작하고 시점(t7)에서 종료하는, 제 3 순환된 병렬 데이터 플로우(PF32)의 프레임을 도시한다. 각각의 프레임은 연속 자유 비트들을 갖는 정렬 워드(AW) 및 병렬 데이터 플로우들(PF11, PF21, PF31, 및 PF41)의 각각의 세그먼트를 역순으로 포함한다. 예를 들어, 도 2b에 도시되는 제 1 순환된 병렬 데이터 플로우(PF12)의 프레임은, 자유 비트들 이후에, 제 4 병렬 데이터 플로우(PF41)의 세그먼트(D2), 제 2 병렬 데이터 플로우(PF31)의 세그먼트(C3), 제 2 병렬 데이터 플로우(PF21)의 세그먼트(B4) 및 제 1 병렬 데이터 플로우(PF11)의 세그먼트(A5)를 포함한다.
상술한 순환은 단지 예이다. 그와 같은 순환이 정렬 워드(AW)를 주기적으로 포함하는 각각의 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)를 발생시킨다면, 다른 순환들이 이용될 수 있다.
예를 들어, 병렬 데이터 플로우들(PF11, PF21,...,PF51)의 순환은 상술한 방향과는 반대인 순환 방향으로 수행될 수 있다. 다음의 설명에서, 상술한 방향과 반대인 순환 방향으로 수행되는 병렬 데이터 플로우(PF11, PF21,...,PF51)의 순환은 "시계 방향 순환"으로 칭해진다. 이 경우, 시점(tk)에서, 순환은 각각의 병렬 데이터 플로우의 송신을 병렬 버스(PB)의 m번째 물리적 접속부로부터 병렬 버스(PB)의 m'번째 물리적 접속부로 시프트하는 것을 포함하고, 여기서 m번째 물리적 접속부는 순환이 수행되지 않는다면 병렬 데이터 플로우를 전송한 물리적 접속부이고, m'는 다음의 식으로 제공된다:
Figure pct00018
여기서, 식 1을 참조하여 언급된 바와 같이, "(x)mod(y)"는 (x)를 (y)로 나눈 나머지를 나타내고, 한편
Figure pct00019
는 폐구간 [0, N]에서 값을 취한 고정된 위상 시프트이다.
그리고나서 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)은, 예를 들어 전기 또는 광학 송신기들과 같은 N+1의 적절한 송신 모듈들(도 1에 도시되지 않음)에 의해, 병렬 버스(PB)를 통해 제 2 통신 디바이스(CD2)로 송신된다. 본 발명의 특히 유용한 변형에 따르면, 각각의 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)(정렬 워드들(AW)을 제외한)은 병렬 버스(PB) 상에서의 송신 이전에 스크램블링된다. 이는 유용하게도 정렬 워드(AW)의 콘텐츠를 재생하는 가능한 패턴들을 각각의 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)로부터 제거하는 것을 가능하게 한다. 이는 유용하게도 수신기(RX2)가 수신된 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)을 잘못된 방식으로 정렬하는 것을 방지한다. 더욱이, 스크램블링으로 인해, 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)의 각각에서의 신호 천이들의 수가 증가하고, 클럭 복구가 용이해진다. 바람직하게는 하게도, 각각의 순환된 병렬 데이터 플로우(PF12, PF22,...,PF52)는 다른 것들과는 관계없이 스크램블링된다. 더욱이, 바람직하게는, 스크램블링 시드(scrambling seed)는 각각의 프레임 주기(TF)에서 재로딩된다. 이는 유용하게도 에러들의 전파를 방지하도록 한다.
병렬 버스(PB) 상에서의 전파가 도 1에서 PF13, PF23,...,PF53으로 표시된 후에 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)가 적절한 N+1의 수신 모듈들(도 1에 도시되지 않음)에 의해 제 2 통신 디바이스(CD2)에서 수신될 때, 이들은 예를 들어 병렬 버스(PB)의 5개의 물리적 접속부들(PC1, PC2,...,PC5)이 상이한 길이들을 갖는다는 사실로 인해 스큐에 의해 영향을 받을 수 있을 것이다. 이 상황이 도 3a에 도시된다. 특히, 도 3a는 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)의 프레임 주기들(TF-PC1, TF-PC2,..., TF-PC5)이 서로 다른 것들에 대하여 시간 시프트되는 것을 도시한다.
순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)이 제 2 통신 디바이스(CD2)에서 수신되면, 이들은 우선 수신기(RX2)의 정렬기(AL1, AL2,...,AL5)에 의해 프로세싱된다.
특히, 바람직하게는, 정렬기들(간소화를 위해 도 1에 도시되지 않음)에 연관되는 클럭 복구를 위한 수단은 각각의 순환된 병렬 데이터 플로우(PF13, PF23,...,PF53)에 대한 타이밍 정보를 복구한다.
더욱이, 각각의 정렬기(AL1, AL2,...,AL5)는 바람직하게는 지연 보상기(DC)로부터 내부 기준 시간 베이스(IRTB)(도 1에서 점선으로 도시됨), 즉 도 3a의 시간축에서 표시되는 내부 기준 시점들(t'0, t'1,...,t'7)의 시퀀스를 수신한다. 바람직하게는, 내부 기준 시점들(t'0, t'1,...,t'7)은 순환된 병렬 데이터 플로우들(PF13, PF23, ..., PF53) 중 하나에 의해 전송되는 세그먼트들을 한정하는 시점들이다. 예를 들어, 도 3a에서 내부 기준 시점들(t'0, t'1,...,t'7)은 제 3 순환된 병렬 데이터 플로우(PF33)에 의해 전송되는 세그먼트들을 한정하는 시점들이다. 그러므로 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53) 사이의 정렬의 결여로 인해 결과적으로 내부 기준 시간 베이스(IRTB)에 대하여, 즉, 제 3 순환된 병렬 데이터 플로우(PF23)에 대하여 순환된 병렬 데이터 플로우들(PF13, PF23, PF43, 및 PF53)의 상이한 시간 시프트들이 발생한다.
바람직하게는, 각각의 순환된 병렬 데이터 플로우(PF13, PF23,...,PF53)의 프레임의 수신 시에, 각각의 정렬기(AL1, AL2,...,AL5)는 프레임 주기(TF-PC1, TF-PC2,...,TF-PC5) 및 내부 기준 시간 베이스(IRTB) 사이의 시간 시프트를 측정하고, 그와 같은 시간 시프트를 나타내는 정보를 반송하는 정렬 정보(Al-PC1, Al-PC2,..., Al-PC5)를 생성한다. 바람직하게는, 정렬기(AL1, AL2,...,AL5)는 "룩-어사이드(look-aside)" 블록들인, 즉 상기 정렬기들은 병렬 데이터 플로우들(PF13, PF23,...,PF53)을 변경하지 않는다.
바람직하게는, 송신기 측에서 스크램블링 연산이 실행되는 경우, 정렬기들에 의한 프로세싱 이후에 순환된 병렬 데이터 플로우들(PF13, PF23, PF43 및 PF53) 상에서 디스크램블링 연산이 수행된다. 특히, 스크램블링 연산이 각각의 물리적 접속부과 관계없이 수행되었다면, 디스크램블링 연산은 바람직하게는 지연 보상기(DC)에 의한 프로세싱 전에 실행된다. 그렇지 않으면 이는 바람직하게는 지연 연산기(DC)에 의한 프로세싱 이후에 실행된다.
바람직하게는, 지연 보상기(DC)는 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)을 수신하고, 상술한 내부 기준 시간 베이스(IRTB)를 생성하고 이를 정렬기들(AL1, AL2,...,AL5)로 송신한다. 그리고나서, 바람직하게는, 지연 보상기(DC)는 내부 기준 시간 베이스(IRTB)에 대한 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)의 시간 시프트들을 나타내고 정렬기들(AL1, AL2,...,AL5)로부터 수신되는 정렬 정보(Al-PC1, Al-PC2,...,Al-PC5)를 판독한다. 바람직하게는, 이 정렬 정보(Al-PC1, Al-PC2,...,Pl-PC5)에 따라, 지연 보상기(DC)는 외부 기준 시간 베이스(ERTB), 즉 도 3b의 시간축 상에 표시되는 외부 기준 시점들(t''0, t''1,...,t''7)의 시퀀스를 생성한다. 바람직하게는, 외부 기준 시간 베이스(ERTB)는 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53) 중 가장 지연된 것에 기초한다. 따라서, 외부 기준 시점들(t''0, t''1,...,t''7)은 내부 기준 시간 베이스(IRTB)에 대하여 최대 지연을 갖는 순환된 병렬 데이터 플로우에 의해 전송되는 세그먼트들을 한정하는 시점들이다. 예를 들어, 도 3a 및 도 3b에서 제 2 순환된 병렬 데이터 플로우(PF23)는 내부 기준 시간 베이스(IRTB)에 대하여 최대 지연을 갖는 플로우라고 가정되었다. 따라서, 외부 기준 시점들(t''0, t''1,...,t''7)은 제 2 순환된 병렬 데이터 플로우(PF23)에 의해 전송되는 세그먼트들을 한정하는 시점들로 설정된다.
그리고나서 지연 보상기(DC)는 모든 순환된 병렬 데이터 플로우들(PF13, PF23, ..., PF53)을 외부 기준 시간 베이스(ERTB)에, 즉 최대 지연된 순환된 병렬 데이터 플로우(즉, 이 예에서 제 2 순환된 병렬 데이터 플로우(PF23))에 정렬하기 위해 정렬 정보(Al-PC1, Al-PC2,...,Al-PC5)를 이용한다.
이는 유용하게도 수신기(RX2)에서 순환된 병렬 데이터 플로우들(PF13, PF23, ..., PF53) 사이의 정렬을 복구함으로써, 스큐를 보상하는 것을 가능하게 한다. 지연 보상기(DC)에 의한 프로세싱 이후에 정렬된 병렬 데이터 플로우들(PF14, PF24,...,PF54)이 도 4a에 도시된다.
이후에 지연 보상기(DC)는 외부 기준 시간 베이스(ERTB)를 디-로테이터(DR)에 전송한다.
지연 보상기(DC)에 의해 보상될 수 있는 최대의 상대 스큐는 프레임 주기의 절반, 즉 (N+1)T/2와 같음이 주목될 수 있다. 즉, 병렬 데이터 플로우들 중에서의 최대 상대 시간 시프트가 (N+1)T/2보다 더 낮은 경우, 지연 보상기(DC)는 순환된 병렬 데이터 플로우를 성공적으로 재정렬할 수 있다. 그러므로, 도면들의 예에서, 보상될 수 있는 최대 스큐(MS)는 2,5T이다.
예를 들어, 통신 시스템(CS)이 취합된 신호를 전송하고 수신 측에서 정렬을 수행하기 위해 병렬 버스(PB)의 N + 1 = 5의 물리적 접속부들을 이용하여 250바이트들의 최대 스큐를 가능하게 하는 애플리케이션에 이용되는 경우, 주기(T)는 최소 100바이트가 될, 즉, 정렬 워드 생성기(AW-G)는 매 100 바이트마다 제 5 병렬 데이터 플로우(PF51) 상에 정렬 워드(AW)를 삽입해야만 한다. 실제로, 이 방식에서 순환된 병렬 데이터 플로우들의 프레임 주기(TF)는 (N+1)xT = 500바이트들, 즉 최대 허용 가능한 스큐의 두배이다.
한편, 통신 시스템(CS)이 취합된 신호를 전송하고 수신 측에서 정렬을 수행하기 위해 병렬 버스(PB)의 N + 1 = 5의 물리적 접속부들을 다시 이용하여 500바이트들의 최대 스큐를 가능하게 하는 응용예에 이용되는 경우, 주기(T)는 최소 200바이트가 될 것이다. 실제로, 이 방식에서 순환된 병렬 데이터 플로우들의 프레임 주기(TF)는 (N+1)xT = 100바이트들, 즉 최대 허용 가능한 스큐의 두배이다.
(N+1)T/2가 최대 스큐 보상 케이퍼빌리티(capability) 및 최대 스큐 검출 케이퍼빌리티 이 둘 모두임이 주목되어야만 한다. 실제로, 특정 응용예들에서 단지 작은 양의 스큐를 보상하는 동안 최대 가능한 스큐를 검출하는 것이 필요할 수 있다. 그와 같은 경우, 지연 보상기(DC)는 바람직하게는 보상되는 스큐의 최대량과 동일하고 최대 스큐 검출 케이퍼빌리티보다 작다. 그러나, 도면들에 도시된 예에서, 모든 검출 가능 스큐가 보상되는 것으로 가정된다.
그리고나서 도 4a에 도시되는 정렬된 병렬 데이터 플로우들(PF14, PF24,...,PF54)이 디-로테이터(DR)에 전송된다.
본 발명의 바람직한 실시예들에 따르면, 각각의 외부 기준 시점(t''k)(즉, t''0, t''1,...,t''7)에서, 디-로테이터(DR)는 바람직하게는 5개의 정렬된 병렬 데이터 플로우들(PF14, PF24,...,PF54)의 추가 순환을 로테이터(R)에 의해 수행되는 순환과 반대인 순환 방향으로 수행한다.
바람직하게는, 외부 기준 시점(t''k)에서, 추가 순환은 병렬 버스(PB)의 m'번째 물리적 접속부로부터 병렬 버스(PB)의 m''번째 물리적 접속부로 각각의 순환된 병렬 데이터 플로우의 송신을 시프트하는 것을 포함한다. m'번째 물리적 접속부는 순환된 병렬 데이터 플로우가 수신되는 물리적 접속부이고, m''은 다음의 식으로 제공된다:
Figure pct00020
여기서, 상술한 바와 같이, "(x)mod(y)"는 (x)를 (y)로 나눈 나머지를 나타내고, 한편
Figure pct00021
는 폐구간 [0, N]에서 값을 취한 추가의 고정된 위상 시프트이다. 바람직하게는, 추가의 고정된 위상 시프트(
Figure pct00022
)는 로테이터(R)에 의해 수행되는 순환 연산을 기술하는 식 1의 고정된 위상 시프트(
Figure pct00023
)와 동일한 값으로 설정된다. 따라서, 이 예에서, 추가의 고정된 위상 시프트(
Figure pct00024
)는 1과 같다.
그러므로, 로테이터(R)가 시계 방향 순환을 수행하는 동안, 디-로테이터(DR)는 바람직하게는 반시계 방향 순환을 수행한다.
도 1에서 N = 4로 가정되었기 때문에, m''은 다음의 식으로 제공된다:
Figure pct00025
그리고나서, 외부 기준 시점(t''0)에서, 디-로테이터(DR)는 바람직하게는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR0)(k=0)을 수행하고, 여기서
Figure pct00026
, 즉:
- m' = 1 → m'' = 5, 즉, 제 1 물리적 접속부(PC1)로부터 수신되는 정렬된 병렬 데이터 플로우는 제 5 물리적 접속부(PC5)로 시프트되고;
- m' = 2 → m'' = 1, 즉, 제 2 물리적 접속부(PC2)로부터 수신되는 정렬된 병렬 데이터 플로우는 제 1 물리적 접속부(PC1)로 시프트되고;
- m' = 3 → m'' = 2, 즉, 제 3 물리적 접속부(PC3)로부터 수신되는 정렬된 병렬 데이터 플로우는 제 2 물리적 접속부(PC2)로 시프트되고; 그리고
- m' = 4 → m'' = 3, 즉, 제 4 물리적 접속부(PC4)로부터 수신되는 정렬된 병렬 데이터 플로우는 제 3 물리적 접속부(PC3)로 시프트되고;
- m' = 5 → m'' = 4, 즉, 제 5 물리적 접속부(PC5)로부터 수신되는 정렬된 병렬 데이터 플로우는 제 4 물리적 접속부(PC4)로 시프트된다.
그러므로, 도 4b에 도시되는 바와 같이, t''0 및 t''1 사이에서, 제 2 정렬된 병렬 데이터 플로우(PF24)의 세그먼트(A1)는 제 1 물리적 접속부(PC1)을 통해 송신되고, 제 3 정렬된 병렬 데이터 플로우(PF34)의 세그먼트(B1)는 제 2 물리적 접속부(PC2)을 통해 송신되고, 제 4 정렬된 병렬 데이터 플로우(PF44)의 세그먼트(C1)는 제 3 물리적 접속부(PC3)을 통해 송신되고, 제 5 정렬된 병렬 데이터 플로우(PF54)의 세그먼트(D1)는 제 4 물리적 접속부(PC4)을 통해 송신되고, 정렬 워드(AW) 및 제 1 순환된 병렬 데이터 플로우(PF12)의 자유 비트들을 갖는 프레임은 제 5 물리적 접속부(PC5)을 통해 송신된다.
추가 순환은 또한 다른 외부 기준 시점들(t''1, t''2,...,t'7)에서 반복되고, 즉:
- 외부 기준 시점들(t'1)에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR1)(k=1)을 수행하고, 여기서
Figure pct00027
이고;
- 외부 기준 시점들(t'2)에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR2)(k=2)을 수행하고, 여기서
Figure pct00028
이고;
- 외부 기준 시점들(t'3)에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR3)(k=3)을 수행하고, 여기서
Figure pct00029
이고;
- 외부 기준 시점들(t'4)에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR4)(k=4)을 수행하고, 여기서
Figure pct00030
이고(즉, 추가 순환(DR4)은 영 순환이다);
- 외부 기준 시점들(t'5)에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR5)(k=5)을 수행하고, 여기서
Figure pct00031
, 즉
Figure pct00032
이고(즉, 추가 순환(DR5)은 추가 순환(DR0)과 동일하다); 그리고
- 외부 기준 시점들(t'6)에서, 디-로테이터(DR)는 각각의 순환된 병렬 데이터 플로우를 m'번째 물리적 접속부로부터 m''번째 물리적 접속부로 시프트하는 추가 순환(DR6)(k = 6)을 수행하고, 여기서
Figure pct00033
, 즉
Figure pct00034
이다(즉, 추가 순환(DR6)은 추가 순환(DR1)과 동일하다).
디-로테이터(DR)는 바람직하게는 도 4b에 도시되지 않은 각각의 연속 외부 기준 시점에서 상기 추가 순환을 반복함으로써 자체의 출력 각각에서, 각각의 역순환되는 병렬 데이터 플로우(PF15, PF25,...,PF55)를 출력한다.
바람직하게는, 반시계 방향 순환이 로테이터(R)에서 수행되면, 디-로테이터(DR)는 시계방향 순환을 수행한다. 이 경우, 외부 기준 시간 베이스(ERTB)의 시점들(tk'')에서, 디-로테이터(DR)는 각각의 정렬된 병렬 데이터 플로우의 송신을 병렬 버스(PB)의 m'번째 물리적 접속부로부터 병렬 버스(PB)의 m''번째 물리적 접속부로 시프트하고, 여기서 m'번째 물리적 접속부는 역순환이 수행되지 않는다면 병렬 데이터 플로우를 전송할 물리적 접속부이고, m''는 다음의 식으로 제공된다:
Figure pct00035
여기서, 다시, "(x)mod(y)"는 (x)를 (y)로 나눈 나머지를 나타내고, 한편
Figure pct00036
는 추가의 고정된 위상 순환이다.
다시 도 4b를 참조함으로써, 디-로테이터(DR)에 의해 출력되는 역순환된 병렬 데이터 플로우들(PF15, PF25, PF35, 및 PF45)이 송신기(TX1)에서 디멀티플렉서에 의해 출력되는 병렬 데이터 플로우들(PF11, PF21, PF31, 및 PF41)에 대응한다는 것이 주의될 수 있다. 한편, 제 5 역순환된 병렬 데이터 플로우(PF55)는 송신기(TX1)에서 발생되는 제 2 병렬 데이터 플로우(PF51)에 대응한다.
제 5 병렬 데이터 플로우(PF51)가 정렬 목적들을 위에서만 이용되는 경우, 제 5 역순환된 병렬 데이터 플로우(PF55)는 바람직하게는 디-로테이터(DR)의 출력에서 폐기된다. 그렇지 않으면, 제 5 병렬 데이터 플로우(PF51)에 포함되는 자유 비트들이 다른 목적들(예를 들어, 상술한 바와 같이 FEC)에 이용되는 경우, 제 5 역순환된 병렬 데이터 플로우(PF55)는 자신을 처리하는 추가 모듈들(도 1에 도시되지 않음)에 전송될 수 있다.
그리고나서, 역순환된 병렬 데이터 플로우들(PF15, PF25, PF35, 및 PF45)은 시분할 멀티플렉싱 연산을 수행하는 멀티플렉서(M)로 전송됨으로써, 제 1 통신 디바이스(CD1)에 의해 수신되는 취합된 데이터 플로우(AF1)에 대응하는 취합된 데이터 플로우(AF2)를 수신한다. 그리고나서 제 2 통신 디바이스(CD2)는 멀티플렉스 출력에 접속되는 제 2 직렬 접속단(SC2)을 통해 취합된 데이터 플로우(AF2)를 송신할 수 있다.
스큐를 보상하기 위한 상술한 방법은 다수의 장점들을 갖는다.
우선, 유용하게는, 상기 방법은 취합된 플로우를 임의의 수의 병렬 데이터 플로우들에 맵핑하는 것을 가능하게 하는데, 왜냐하면 이는 정렬 워드를 프레임화하는 취합된 신호 및 프레임 주기에 기초하지 않기 때문이다.
게다가, 유용하게는, 수신기에서의 병렬 데이터 플로우들의 정렬은 미리 결정된 콘텐츠를 갖는 정렬 워드에 유용하게 기초한다. 그러므로, 정렬 워드의 콘텐츠를 적절하게 선택함으로써, 각각의 병렬 데이터 플로우의 정렬이 송신될 취합된 데이터 플로우에 포함되는 데이터와 관계없이, 각각의 프레임에서 성공적으로 수행된다. 이는 유용하게도 정렬에 있어서의 최대 지연이 대략 서너 개의 프레임 주기들(TF), 즉 서너 개의 (N+1)xT임을 보장한다. 이 시간은 결정론적이므로, 정렬을 수행하는데 있어서의 예측 불가능한 지연들이 방지된다.
더욱이, 유용하게도, 상기 방법은 임의의 수효의 병렬 데이터 플로우들에 적용될 수 있는데, 왜냐하면 정렬 워드 생성기(AW-G)에 의해 생성되는 병렬 데이터 플로우(PF51) 및 주기(T)는 정렬될 병렬 데이터 플로우들의 수에 좌우되지 않기 때문이다. 예를 들어, 병렬 데이터 플로우들의 수가 4대신 8인 경우(즉, N = 8), 병렬 데이터 플로우(PF51)(실제로 9번째의 병렬 데이터 플로우) 및 순환들은 유용하게도 도 2a 및 도 2b를 참조함으로써 설명했던 것과 동일하다. 유일한 차이는 (N+1)xT와 동일한 프레임 주기(TF)가 5T 대신, 현재 9T라는 점이다. 한편, 이는 수개의 (N+1)xT, 즉 수개의 9T와 동일한 병렬 데이터 플로우들의 정렬을 복구하는데 최대 지연을 증가시킨다. 한편, 이는 보상될 수 있으며 (N+1)xT/2 = 4,5xT와 동일한 최대 스큐(MS)를 증가시킨다. 그러므로, 이 방법은, 정렬 절차에 포함되는 구성요소들에 대한 실질적인 어떠한 수정을 요구하지 않고도, 병렬 버스를 거쳐서 송신될 취합된 신호의 용량이 변하고 상기 신호를 전송하는데 이용되는 물리적 접속부들의 수가 상기 용량의 변화에 따라 변하는 통신 시스템들에 유용하게 적용될 수 있다.
더욱이, 상술한 바와 같이, 정렬 워드 생성기에 의해 송신기에서 생성되는 제 5 병렬 데이터 플로우(PF51)는 FEC와 같이, 정렬 이외의 목적들에 이용될 수 있는 다수의 자유 비트들을 갖는다.
이 경우, 송신기(TX1)에는 로테이터(R)의 입력에 FEC 모듈(도면들에 도시되지 않음)이 제공될 수 있다. FEC 모듈이 5개의 병렬 데이터 플로우들(PF11, PF21,...,PF51)을 수신할 때, 이는 바람직하게는 FEC 코드를 계산한다. FEC 코드는 여러 방식들로 계산될 수 있다. 예를 들어, FEC 코드는 동일한 병렬 데이터 플로우의 연속 세그먼트들에 대하여 계산될 수 있거나, 또는 이는 5개의 병렬 데이터 플로우들의 대응하는 세그먼트들에 대해 계산될 수 있다. 다시 도 2a를 참조함으로써, 예를 들어, 제 1 FEC 코드는 세그먼트들(A1, B1, C1 및 D1)에 대하여 계산될 수 있고, t0에서 시작하는 정렬 워드(AW) 이후의 자유 비트들에 삽입될 수 있다. 유사하게, 제 2 FEC 코드는 세그먼트들(A2, B2, C2, 및 D2)에 대해 계산될 수 있고, t1에서 시작하는 정렬 워드(AW) 이후의 자유 비트들에 삽입될 수 있다. 기타 마찬가지이다. FEC 모듈이 FEC 코드들을 계산한 후에, 병렬 데이터 플로우들(PF11, PF21,...,PF51)은 로테이터(R)에 의해 순환되고(그리고 상술한 바와 같이, 가능하면 스크램블링된다), 그 후에 그 결과에 따른 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)은 병렬 버스(BP)를 통해 송신된다. 수신기(RX2)에서, 상기 플로우들은 정렬기들(AL1, AL2,...,AL5)에 의해 그리고 지연 보상기(DC)에 의해 정렬되고, 상기 플로우들은 디-로테이터(DR)에 의해 역순환됨으로써, 역순환된 병렬 데이터 플로우들(PF15, PF25,...,PF55)을 획득한다.
디-로테이터(DR)의 출력에서, 바람직하게는 추가 de-FEC 모듈(도면들에 도시되지 않음)이 제공된다. 그와 같은 추가 de-FEC 모듈은 바람직하게는, 역순환된 병렬 데이터 플로우들(PF15, PF25, PF35 및 PF45)에 포함되는 세그먼트들의 가능한 에러들을 정정하기 위해 제 5 역순환된 병렬 데이터 플로우(PF55)에 포함되는 de-FEC 코드들을 이용한다. 그 후, 정정되고 역순환된 병렬 데이터 플로우들(PF15, PF25, PF35 및 PF45)은 취합된 데이터 플로우(AF2)를 복구하는 멀티플렉서(M)에 전송된다.
대안으로 또는 추가적으로, 제 5 병렬 데이터 플로우(PF51)의 자유 비트들은 병렬 플로우 식별자들의 삽입에 이용될 수 있다. 특히, 도 2a 및 도 2b를 다시 참조함으로써, 식별자(PF12-id)는 t0에서 시작하는 정렬 워드(AW) 이후에 삽입될 수 있고, 식별자(PF22-id)는 t1에서 시작하는 정렬 워드(AW) 이후에 삽입될 수 있고, 식별자(PF32-id)는 t2에서 시작하는 정렬 워드(AW) 이후에 삽입될 수 있고, 식별자(PF42-id)는 t3에서 시작하는 정렬 워드(AW) 이후에 삽입될 수 있고, 식별자(PF52-id)는 t4에서 시작하는 정렬 워드(AW) 이후에 삽입될 수 있다. 그러므로, 로테이터(R)에 의해 수행되는 순환들 후에, 순환된 병렬 데이터 플로우들(PF12, PF22,...,PF52)의 각각은 매 프레임의 정렬 워드(AW) 후에 위치되는, 그의 각각의 식별자(PF12-id, PF22-id,...,PF52-id)를 포함한다. 수신기(RX2)에서, 인식기 모듈(도면들에 도시되지 않음)은 예를 들어 지연 보상기(DC) 블록 직전에 제공될 수 있다. 그와 같은 인식기 모듈은 모든 정렬 정보(Al-PC1, Al-PC2,...,Al-PC5)(바람직하게 또한 복구되는 식별자를 포함하는)를 인터셉트(intercept)하고, 실제 병렬 데이터 플로우들에 대한 자신들의 일치 사항을 검사한다. 인식기 모듈은 예를 들어 크기 (N+1)×(N+1)이고, 하나는 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)에 대한 것이고, 다른 하나는 ALINF 신호들에 대한 것인 두 크로스바 기능들에 의해 구현될 수 있다.
이는 유용하게도 순환된 병렬 데이터 플로우들(PF13, PF23,...,PF53)이 송신기(TX1)에서 가졌던 동일한 순서로 수신기(RX2)에서 수신되는지를 검사하는 것을 허용하고, 모든 가능한 반전들(inversions)을 고려하기 위해 병렬 데이터 플로우들을 지연 보상기(DC)에 정확하게 공급하는 것을 허용한다.
실제로, 병렬 버스(PB)의 물리적 접속부들을 제 1 통신 디바이스(CD1)로부터 제 2 통신 디바이스(CD2)로 접속하는 일을 담당하는 오퍼레이터가 물리적 접속부들을 잘못된 순서에 따라 접속하는 경우(예를 들어, 제 2 통신 디바이스(CD2)에서, 그녀/그는 제 2 물리적 접속부(PC2) 및 제 3 물리적 접속부(PC3)을 반전시키는 경우), 도 6a 및 도 6b에 도시되는 종래 기술에 따르면, 제 2 통신 디바이스(CD2)는 이 반전을 인식할 수 없다. 이는 불리하게도 결과적으로 제 2 추가의 병렬 데이터 플로우(PF22) 및/또는 제 3 추가의 병렬 데이터 플로우(PF32)의 잘못된 정렬을 발생시킬 수 있다. 그러나, 병렬 데이터 플로우들의 식별자들을 삽입하기 위해 각각의 정렬 워드(AW) 이후의 자유 비트들을 이용함으로써, 제 2 통신 디바이스(CD2)는 모든 가능한 반전들을 검출할 수 있고, 지연 보상기(DC) 전에 정확한 상황을 복구할 수 있다.
제 5 병렬 데이터 플로우(PF52)에서의 자유 비트들의 다른 가능한 이용들은 예를 들어 DC 결합을 위한 심볼들의 삽입, 클럭 복구를 보장하기 위한 천이들(1-0)의 생성, 또는 병렬 버스가 이용 가능한 대역폭의 증가(즉, 송신될 데이터의 일부의 전송)일 수 있다. 두 연속하는 정렬 워드들(AW)(도 2a의 병렬 데이터 플로우(PF51)를 참조하는) 사이에, 충분한 수의 자유 비트들이 제공되면, 그와 같은 자유 비트들은 상기 목적들 중 하나 이상에 유용하게 이용될 수 있다.
상술한 바와 같이, 지연 보상기(DC)에 의해 보상될 수 있는 최대 스큐는 프레임 주기(TF)의 절반, 즉 (N+1)T/2와 같다. 유용하게는, 정렬 워드들(AW) 이후의 자유 비트들은 주기(T)를 증가시키지 않고, 보상될 수 있는 최대 스큐를 증가시키는데 이용될 수 있다. 실제로, 주기(T)는 임의적으로 증가될 수 없다. 실제로 주기(T)를 증가시키는 것은 두 연속하는 정렬 워드들(AW)의 수신 사이에서 경과되는 시간이 증가되는 사실로 인해 정렬기들의 변화들을 요구한다. 주기(T)를 변경하는 것이 의미하는 다른 결점은 선택된 T 주기를 갖는 FEC(이용될 때)의 호환성이다. 예를 들어, 제 1 주기(T)가 선택되어 이용 가능한 FEC와 호환 가능하고, 그 후에 스큐 보상 케이퍼빌리티를 증가시키기 위해, 제 2 프레임 주기 T' > T가 선택되면(예를 들어, T' = 1.5 ×T), FEC는 새로운 주기(T')와는 더 이상 호환되지 않는다.
이 결점은 도 5a에 도시되는 바와 같이, 슈퍼프레임 내의 M 개의 TF 프레임들을 그룹화함으로써 극복될 수 있다. 그룹화는 예를 들어 제 5 병렬 데이터 플로우(PF51) 내에서 각각의 정렬 워드(AW) 뒤에, 프레임 식별자를 삽입함으로써 수행될 수 있다. 프레임 식별자는 바람직하게는 PF-id 인덱스 및 슈퍼-프레임 인덱스를 갖고, 이는 예를 들어 포맷 내에: "super-frame index.PF-id"일 수 있고; PF-id 인덱스는 멀티-프레임에 대해 엄격하게 요구되지 않지만 본 설명에서 다양한 기술된 특징들이 어떻게 결합될 수 있는지를 단지 보여주기 위해 이용된다. 예를 들어, N=4 및 M=2인 경우, 인덱스들은 제 1 슈퍼-프레임에 대하여 1.1 내지 1.5이고, 제 2 슈퍼 프로엠에 대해 2.1 내지 2.5이다. 그러므로 슈퍼-프레임 주기(TF')는
Figure pct00037
와 같다. 따라서, 보상될 수 있는 최대 스큐(MS')는 현재 슈퍼-프레임 주기(TF')의 절반, 즉,
Figure pct00038
와 같다. 그와 같은 최대 스큐(MS')가 도 5b에 도시되고, 따라서 N =4 및 M = 2에 있어서 5xT와 같다. 그러므로, 주기(T)를 변경하지 않고, 보상될 수 있는 최대 스큐는 2,5T에서 5T로 증가된다.
따라서, 동일한 최대 스큐는 도 2a 및 도 2b에 도시되는 실시예에 따라 이용되는 주기의 반인 주기(T)를 이용함으로써 보상될 수 있다. 예를 들어, 통신 시스템(SC)에 의해 허용되는 최대 스큐가 500 바이트인 경우, N = 1 및 M =2에 있어서, 허용되는 최소 주기(T)는 T = 100 바이트들이다. 상술한 바와 같이, 슈퍼-프레임들이 이용되지 않는경우, 500 바이트들의 최대 스큐는 적어도 200 바이트들의 주기(T)를 요구한다.
그러므로 슈퍼-프레임들을 구비한 이 후자의 실시예는 유용하게는 최대 스큐 복구 케이퍼빌리티의 측면에서의 요건들로부터 주기(T)의 선택을 디커플링하는 것을 허용한다.
CD1 : 제 1 통신 디바이스 CD2 : 제 2 통신 디바이스
CS : 통신 시스템 PB : 병렬 버스 AW : 정렬 워드

Claims (13)

  1. 병렬 버스(BP) 상에서 제 1 통신 디바이스(CD1)로부터 제 2 통신 디바이스(CD2)로 N 개의 병렬 데이터 플로우들(PF11, ..., PF41)을 송신하기 위한 방법에 있어서,
    상기 제 1 통신 디바이스(CD1)에서:
    a) 주기(T)를 갖고 주기적으로 분포되는 복수의 정렬 워드들(alignment words)(AW)을 포함하는 추가의 병렬 데이터 플로우(PF51)를 생성하는 단계;
    b) 각각의 주기(T)에서, 상기 N 개의 병렬 데이터 플로우들(PF11,...,PF41) 및 상기 추가의 병렬 데이터 플로우(PF51)를 순환(rotate)시킴으로써 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF12, ..., PF52)을 생성하는 단계로서, 상기 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF12,..., PF52)의 각각은 프레임 주기((N+1)xT)로 주기적으로 분포되는 상기 복수의 정렬 워드들(AW)의 일부를 포함하는, 상기 생성 단계; 및
    c) 상기 병렬 버스(BP)의 각각의 물리적 접속부들(PC1,..,PC5) 상에서 상기 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF12,..., PF52)을 송신하는 단계를 포함하고,
    상기 병렬 데이터 플로우들을 송신하기 위한 방법은, 상기 제 2 통신 디바이스에서:
    d) 상기 복수의 정렬 워드들(AW)의 일부를 이용하여 상기 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF13,...,PF53)의 각각을 정렬함으로써, 스큐(skew)를 보상하고 추가의 N+1개의 정렬된 병렬 데이터 플로우들(PF14,...,PF54)을 획득하는 단계; 및
    e) 각각의 주기(T)에서, 상기 추가의 N+1개의 정렬된 병렬 데이터 플로우들(PF14,...,PF54)을 역순환(de-rotate)시킴으로써, 상기 N 개의 병렬 데이터 플로우들(PF11,...,PF41)에 대응하는 N 개의 역순환된 병렬 데이터 플로우들(PF15,...,PF45)을 생성하는 단계를 추가로 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 단계 b)는, 상기 추가의 병렬 데이터 플로우(PF51)의 복수의 정렬 워드들(AW) 중 하나가 시작하는 매 시점(instant)(tk)에 상기 N 개의 병렬 데이터 플로우들(PF11,...,PF41) 및 상기 추가의 병렬 데이터 플로우(PF51)를 순환시키는 단계를 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 단계 b)는 매 시점(tk)에서, 상기 병렬 버스(PB)의 m번째 물리적 접속부로부터 상기 병렬 버스(PB)의 m'번째 물리적 접속부로 상기 N 개의 병렬 데이터 플로우들(PF11,...,PF41)의 각각의 병렬 데이터 플로우 및 상기 추가의 병렬 데이터 플로우(PF51)의 송신을 시프트(shift)하는 단계를 포함하고,
    상기 m번째 물리적 접속부는 순환이 수행되지 않는다면 상기 각각의 병렬 데이터 플로우를 전송하는 물리적 접속부이고,
    m'는 다음의 식:
    Figure pct00039

    에 의해 제공되고,
    Figure pct00040
    는 0부터 N까지의 범위의 고정된 위상 시프트인, 병렬 데이터 플로우들을 송신하기 위한 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 단계 d)는:
    상기 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF13,...,PF53) 중에서 순환된 병렬 데이터 플로우(PF33)를 선택하는 단계;
    상기 선택된 순환된 병렬 데이터 플로우(PF33)에 의해 전송되는 세그먼트(segment)들의 범위를 정하는 내부 기준 시점들(time instants)(t'0, t'1,...,t'7)을 포함하는 내부 기준 시간 베이스(time base)(IRBT)를 생성하는 단계;
    상기 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF13,...,PF53)의 각각에 대해, 상기 내부 기준 시간 베이스(IRBT)에 대한 시간 시프트를 나타내는 정렬 정보(Al-PC1,...,Al-PC5)를 생성하는 단계; 및
    상기 정렬 정보(Al-PC1,...,Al-PC5)에 따라 상기 선택된 순환된 병렬 데이터 플로우(PF33)로 각각의 순환된 병렬 데이터 플로우를 정렬하는 단계를 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 단계 d)는:
    상기 정렬 정보(Al-PC1,...,Al-PC5)에 따라, 상기 순환된 병렬 데이터 플로우들(PF13,..., PF53) 중에서 가장 지연된 순환된 병렬 데이터 플로우(PF23)를 선택하는 단계; 및
    상기 가장 지연된 순환된 병렬 데이터 플로우(PF33)에 의해 전송되는 세그먼트들의 범위를 정하는 외부 기준 시점들(t''0, t''1,...,t''7)을 포함하는 외부 기준 시간 베이스(ERTB)를 생성하는 단계를 추가로 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 단계 e)는 상기 외부 기준 시점들(t''0, t''1,...,t''7) 각각에서 상기 추가의 N+1개의 정렬된 병렬 데이터 플로우들(PF14,...,PF54)을 역순환시키는 단계를 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  7. 제 6 항에 있어서,
    상기 단계 e)는 상기 외부 기준 시점들(t''0, t''1,...,t''7) 각각에서, 상기 추가의 N+1개의 정렬된 병렬 데이터 플로우들(PF14,...,PF54)의 각각의 정렬된 병렬 데이터 플로우의 송신을 상기 병렬 버스(PB)의 m'번째 물리적 접속부로부터 상기 병렬 버스(PB)의 m''번째 물리적 접속부로 시프트하는 단계를 포함하고,
    상기 m'번째 물리적 접속부는 상기 각각의 정렬된 병렬 데이터 플로우가 수신되는 물리적 접속부이고,
    m''는 다음의 식:
    Figure pct00041

    에 의해 제공되고,
    Figure pct00042
    는 0부터 N까지의 범위의 추가의 고정된 위상 시프트인, 병렬 데이터 플로우들을 송신하기 위한 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 단계 b)와 상기 단계 c) 사이에, 상기 정렬 워드들(AW)을 제외하고, 상기 추가의 N+1 개의 순환된 병렬 데이터 플로우들(PF12,...,PF52)의 콘텐츠를 스크램블링(scramble)하는 단계를 추가로 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 단계 d)와 상기 단계 e) 사이에, 상기 정렬 워드들(AW)을 제외하고 상기 정렬된 데이터 플로우들(PF13,...,PF53)의 콘텐츠를 디-스크램블링(de-scrambling)하는 단계를 추가로 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 정렬 워드(AW)는 상기 추가의 병렬 데이터 플로우(PF51)가 연속하는 정렬 워드들(AW) 사이에 자유 비트들을 포함하도록, 상기 주기(T)보다 작은 지속기간을 갖는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 단계 a)는, 다음의 목적들: 에러들의 정정, 상기 병렬 플로우들의 식별자들의 삽입, DC 결합을 위한 심볼들의 삽입, 클럭 복구를 용이하게 하기 위한 천이(transition)의 생성, 및 상기 병렬 버스(PB)의 이용 가능한 대역폭의 증가 중 하나 이상을 위해 상기 자유 비트들을 이용하는 단계를 추가로 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  12. 제 11 항 또는 제 12 항에 있어서,
    상기 단계 a)는, 상기 단계 b)가 수행된 이후에 상기 N+1 개의 순환된 병렬 데이터 플로우들(PF12,...,PF52)의 각각을 식별하는데 적합한 프레임 식별자를, 상기 복수의 정렬 워드들(AW)의 각각 뒤에, 상기 자유 비트들 내에 삽입하는 단계를 포함하는, 병렬 데이터 플로우들을 송신하기 위한 방법.
  13. 제 1 통신 디바이스(CD1), 병렬 버스(BP) 및 제 2 통신 디바이스(CD2)를 포함하는 통신 시스템(CS)에 있어서,
    상기 제 1 통신 디바이스(CD1)는 N 개의 병렬 데이터 플로우들(PF11, ..., PF41)을 상기 병렬 버스(BP) 상에서 상기 제 2 통신 디바이스(CD2)로 송신하도록 구성되며,
    상기 제 1 통신 디바이스(CD1)는:
    주기(T)를 갖고 주기적으로 분포되는 복수의 정렬 워드들(AW)을 포함하는 추가의 병렬 데이터 플로우(PF51)를 생성하도록 구성되는 정렬 워드 생성기(AWG); 및
    각각의 주기(T)에서, 상기 N 개의 병렬 데이터 플로우들(PF11,..., PF41) 및 상기 추가의 병렬 데이터 플로우(PF51)를 순환시킴으로써, 추가의 N+1개의 순환된 병렬 데이터 플로우들(PF12,...,PF52)을 생성하도록 구성되는 로테이터(rotator: R)로서, 상기 추가의 N+1 개의 순환된 병렬 데이터 플로우들(PF12,...,PF52)의 각각은 프레임 주기((N+1)xT)로 주기적으로 분포되는 상기 복수의 정렬 워드들(AW)의 일부를 포함하는, 상기 로테이터(R)를 포함하고;
    상기 제 2 통신 디바이스(CD2)는:
    상기 복수의 정렬 워드들(AW)의 일부를 이용하여 상기 추가의 N+1 개의 순환된 병렬 데이터 플로우들(PF13,...,PF53)의 각각을 정렬함으로써, 스큐를 보상하고 상기 추가의 N+1개의 정렬된 병렬 데이터 플로우들(PF14,...,PF54)을 획득하도록 구성되는 추가의 N+1 개의 정렬기(aligner)들(AL1,...,AL5); 및
    각각의 주기(T)에서, 상기 추가의 N+1 개의 정렬된 병렬 데이터 플로우들(PF14,...,PF45)을 역순환시킴으로써 상기 N 개의 병렬 데이터 플로우들에 대응하는 상기 N 개의 역순환된 병렬 데이터 플로우들(PF15,...,PF45)을 생성하도록 구성되는 디-로테이터(de-rotator)를 포함하는, 통신 시스템(CS).
KR1020117018539A 2009-01-09 2009-12-11 병렬 버스 상에서의 병렬 데이터 플로우들의 송신 KR101275657B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09305019.3 2009-01-09
EP09305019A EP2207315B1 (en) 2009-01-09 2009-01-09 Transmission of parallel data flows on a parallel bus
PCT/EP2009/066975 WO2010079043A1 (en) 2009-01-09 2009-12-11 Transmission of parallel data flows on a parallel bus

Publications (2)

Publication Number Publication Date
KR20110101250A true KR20110101250A (ko) 2011-09-15
KR101275657B1 KR101275657B1 (ko) 2013-06-17

Family

ID=40821654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018539A KR101275657B1 (ko) 2009-01-09 2009-12-11 병렬 버스 상에서의 병렬 데이터 플로우들의 송신

Country Status (7)

Country Link
US (1) US8594136B2 (ko)
EP (1) EP2207315B1 (ko)
JP (1) JP2012514920A (ko)
KR (1) KR101275657B1 (ko)
CN (1) CN102318303B (ko)
AT (1) ATE548838T1 (ko)
WO (1) WO2010079043A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458362B2 (en) 2010-09-30 2013-06-04 Comcast Cable Communications, Llc Delivering content in multiple formats
US9590820B1 (en) * 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
US9380327B2 (en) 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9001842B2 (en) 2012-06-26 2015-04-07 International Business Machines Corporation Parallel receiver interface with receiver redundancy
US8861513B2 (en) 2012-06-26 2014-10-14 International Business Machines Corporation Fault tolerant parallel receiver interface with receiver redundancy
US9461837B2 (en) * 2013-06-28 2016-10-04 Altera Corporation Central alignment circutry for high-speed serial receiver circuits
KR102251809B1 (ko) * 2014-05-28 2021-05-13 삼성전자주식회사 메모리 시스템, 메모리 인터페이스 장치 및 메모리 시스템에서의 인터페이싱 방법
EP3264652B1 (en) 2015-04-23 2020-12-16 Huawei Technologies Co., Ltd. Data processing method and data sending end
US9600194B1 (en) 2015-11-25 2017-03-21 International Business Machines Corporation Integrating sign extensions for loads

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3465386B2 (ja) * 1994-12-20 2003-11-10 富士通株式会社 フレーム同期回路と同回路を用いた符号化/復号化処理回路
KR100190184B1 (ko) * 1996-06-17 1999-06-01 윤종용 직렬버스를 통해 데이타를 송신하는 회로
US6215798B1 (en) * 1996-11-01 2001-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Multi-frame synchronization for parallel channel transmissions
US6618395B1 (en) * 1999-05-27 2003-09-09 3Com Corporation Physical coding sub-layer for transmission of data over multi-channel media
US6606576B2 (en) * 2001-01-19 2003-08-12 Koninklijke Philips Electronics N.V. Real-time channel calibration method and arrangement
ITMI20011421A1 (it) * 2001-07-05 2003-01-05 Cit Alcatel Metodo di interfacciamento per conversione di connessione parallela erelativo apparato
US7035368B2 (en) * 2002-03-18 2006-04-25 Texas Instruments Incorporated High speed parallel link receiver
US7369617B2 (en) * 2003-06-20 2008-05-06 Broadcom Corporation Multi-dimensional data interleaving communications system
US20090063889A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines

Also Published As

Publication number Publication date
JP2012514920A (ja) 2012-06-28
ATE548838T1 (de) 2012-03-15
WO2010079043A1 (en) 2010-07-15
US20110268133A1 (en) 2011-11-03
KR101275657B1 (ko) 2013-06-17
EP2207315B1 (en) 2012-03-07
US8594136B2 (en) 2013-11-26
EP2207315A1 (en) 2010-07-14
CN102318303B (zh) 2014-04-23
CN102318303A (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
KR101275657B1 (ko) 병렬 버스 상에서의 병렬 데이터 플로우들의 송신
US6496540B1 (en) Transformation of parallel interface into coded format with preservation of baud-rate
JP5125550B2 (ja) 通信システム
US20090168810A1 (en) Source synchronous link with clock recovery and bit skew alignment
US6288656B1 (en) Receive deserializer for regenerating parallel data serially transmitted over multiple channels
US8411782B2 (en) Parallel generation and matching of a deskew channel
JP2004193817A (ja) スキュー調整方式
US7953095B2 (en) Transmission system and transmission method
JP6126600B2 (ja) 回路装置および信号を送信するための方法
JP6126598B2 (ja) 回路装置および信号を送信するための方法
EP3072249B1 (en) Data serializer
JP2014039106A (ja) タイムスロットインタリーブ伝送方法及びタイムスロットインタリーブ伝送システム
US6819683B2 (en) Communications system and associated deskewing and word framing methods
US20170331592A1 (en) Transmitting device and receiving method
US11146340B2 (en) Complementary data flow for noise reduction
CN101159535B (zh) 时钟信号调节装置和方法
JP7059536B2 (ja) 信号伝送回路
JP6126603B2 (ja) 回路装置および信号を送信するための方法
JP6243210B2 (ja) シリアルデータ送信装置、シリアルデータ受信装置、シリアルデータ送信方法、及び、シリアルデータ送信プログラム
KR100238426B1 (ko) 병렬 공간분할 교환 방식의 타임슬롯 스위치
JP6126604B2 (ja) 送信装置および信号を送信するための方法
CN101778315A (zh) 误差添加装置
KR20060058876A (ko) 동기식 데이터 전송 시스템에서의 데이터 송수신 장치
JPH0427233A (ja) 対向する複数のデータ端末間の通信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170602

Year of fee payment: 5