KR20180110385A - 고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 - Google Patents
고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 Download PDFInfo
- Publication number
- KR20180110385A KR20180110385A KR1020170039832A KR20170039832A KR20180110385A KR 20180110385 A KR20180110385 A KR 20180110385A KR 1020170039832 A KR1020170039832 A KR 1020170039832A KR 20170039832 A KR20170039832 A KR 20170039832A KR 20180110385 A KR20180110385 A KR 20180110385A
- Authority
- KR
- South Korea
- Prior art keywords
- ethernet data
- bits
- block
- bit
- along
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Power Engineering (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
일실시예에 따른 이더넷 데이터 송신 장치는 FEC를 수행하기 위한 패리티 비트를 생성할 수 있고, 일실시예에 따른 이더넷 데이터 수신 장치는 이더넷 데이터에 포함된 오류를 생성된 패리티 비트를 이용하여 정정할 수 있다. 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치는 고속의 전송 속도를 지원하기 위하여, 오류를 정정하기 위해 사용되는 클락 및 이더넷 데이터의 처리에 필요한 클락간의 차이를 고려하여, 이더넷 데이터를 비트 정렬할 수 있다.
Description
본 발명은 데이터를 전송하는 과정에서 발생할 수 있는 오류를 정정하는 순방향 오류 정정 기능(FEC, Forward Error Correction)을 지원하는 송수신 장치 및 방법에 관한 것이다.
이더넷 수동형 광 가입자 네트워크(EPON, Ethernet Passive Optical Network)는 광대역 비동기식 수동형 광액세스 네트워크 중 하나로써, 이더넷 프레임 구조를 사용하여 통신하는 광 가입자 네트워크이다. EPON의 구조는 하나의 광 선로 단말(OLT, Optical Line Terminal)에 하나 이상의 광 네트워크 유닛(ONU, Optical Network Unit)이 연결되는 1:N 구조이다.
IEEE 802.3 작업 그룹에서 2009 년에 표준화된 10G-EPON 기술은 Giga 인터넷 서비스 제공 기술이며, 최근 가입자 당 10-Gb/s 이상의 최대 대역폭을 제공할 수 있는 새로운 PON 기술이 표준화되고 있다. 또한 ITU-T Q2 SG15 작업 그룹도 파장 당 25-Gb/s의 대역폭을 지원하는 것을 고려하고 있다. 따라서, 차세대 PON은 채널 당 25-Gb/s의 전송 속도를 처리할 수 있는 PON MAC/PHY 기술을 요구한다.
본 발명은 25G~400Gbps급 수준의 전송 속도에서, FEC를 이용하여 이더넷 데이터의 오류를 정정할 수 있는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치를 제안한다.
본 발명의 일실시예에 따르면, N 비트 단위의 블록을 따라 입력된 입력 데이터를, 상기 N 비트 보다 큰 M 비트 단위의 블록을 따라 부호화하는 단계, 상기 부호화된 입력 데이터에 포함된 이더넷 데이터를 스크램블링하는 단계, N 비트 단위의 블록을 따라 상기 스크램블링된 이더넷 데이터를 정렬하는 단계, 상기 정렬된 이더넷 데이터에 기초하여, N 비트 단위의 블록을 따라 정렬된 패리티 비트를 생성하는 단계, 상기 스크램블링된 이더넷 데이터 및 상기 패리티 비트를 M 비트 단위의 블록을 따라 정렬하는 단계 및 상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를 이더넷 광 가입자 네트워크로 출력하는 단계를 포함하는 이더넷 데이터 송신 방법이 제공된다
일실시예에 따르면, 상기 스크램블링된 이더넷 데이터를 정렬하는 단계는, 상기 M 비트 및 N 비트간의 차이에 기초하여, 상기 M 비트 단위의 블록을 따라 부호화된 이더넷 데이터의 동기화 헤더의 적어도 한 비트를 제거하는 단계 및 상기 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 생성하기 위하여, 상기 동기화 헤더의 적어도 한 비트가 제거된 이더넷 데이터에 미리 설정된 비트열을 결합하는 단계를 포함하는 이더넷 데이터 송신 방법이 제공된다.
일실시예에 따르면, 상기 스크램블링된 이더넷 데이터 및 상기 패리티 비트를 M 비트 단위의 블록을 따라 정렬하는 단계는, 상기 N 비트 단위의 블록을 따라 정렬된 패리티 비트에 상기 패리티 비트의 순서를 표시한 동기화 헤더를 결합하는 이더넷 데이터 송신 방법이 제공된다.
일실시예에 따르면, 상기 패리티 비트의 순서가 표시된 동기화 헤더의 길이는, 상기 M 비트 및 상기 N 비트 간의 차이에 기초하여 결정되는 이더넷 데이터 송신 방법이 제공된다.
본 발명의 일실시예에 따르면, M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, 상기 M 비트 보다 작은 N 비트 단위의 블록을 따라 정렬하는 단계, 상기 N 비트 단위의 블록을 따라 정렬된 패리티 비트에 기초하여, 상기 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 변경하는 단계, 상기 변경된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 단계, 상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 디스크램블링하는 단계 및 상기 디스크램블링된 이더넷 데이터를 N 비트 단위의 블록을 따라 복호화하는 단계를 포함하는 이더넷 데이터 수신 방법이 제공된다.
일실시예에 따르면, 상기 변경하는 단계는, 상기 이더넷 데이터를 변경할 때 필요한 클락 및 상기 변경된 이더넷 데이터를 출력할 때 사용되는 클락 간의 차이를 고려하여, 상기 N 비트 단위의 블록을 따라 변경된 이더넷 데이터를 메모리에 저장하는 이더넷 데이터 수신 방법이 제공된다.
일실시예에 따르면, 상기 변경된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 단계는, 상기 M 비트 및 N 비트간의 차이에 기초하여, 상기 변경된 이더넷 데이터의 동기화 헤더에 적어도 한 비트를 결합하는 단계 및 상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 생성하기 위하여, 상기 동기화 헤더에 적어도 한 비트가 결합된 이더넷 데이터의 미리 설정된 비트열을 제거하는 단계를 포함하는 이더넷 데이터 수신 방법이 제공된다.
본 발명의 일실시예에 따르면, 코드워드 단위로 처리되는 이더넷 데이터에 포함된 오류를, 패리티 비트를 이용하여 정정하는 프로세서를 포함하고, 상기 프로세서는, 상기 오류를 정정하는데 필요한 클락을 고려하여, 상기 이더넷 데이터를 변경하고, 상기 패리티 비트를 이용하여 상기 변경된 이더넷 데이터에 포함된 오류를 정정하고, 상기 코드워드 단위로 처리하기 위해 필요한 클락을 고려하여, 상기 오류가 정정된 이더넷 데이터를 변경하는 이더넷 데이터 수신 장치가 제공된다.
일실시예에 따르면, 상기 오류를 정정하는데 필요한 클락 또는 상기 코드워드 단위로 처리하기 위해 필요한 클락을 고려하여 변경된 이더넷 데이터가 저장되는 메모리를 더 포함하는 이더넷 데이터 수신 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 수신하고, 상기 수신된 이더넷 데이터에 포함된 오류를 정정하기 위하여, N 비트 단위의 블록을 따라 상기 수신된 이더넷 데이터를 정렬하는 이더넷 데이터 수신 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 오류가 정정된 이더넷 데이터를 디스크램블링을 수행할 수 있는 이더넷 데이터로 변경하기 위하여, 상기 오류가 정정된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 이더넷 데이터 수신 장치가 제공된다.
본 발명은 25G~400Gbps급 수준의 전송 속도에서, FEC를 이용하여 이더넷 데이터의 오류를 정정할 수 있다.
도 1은 일실시예에 따른 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치의 구조를 설명하기 위한 도면이다.
도 2는 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하는 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하여 생성된 이더넷 데이터를 레인별로 도시한 도면이다.
도 4는 도 1의 FEC 부호화 디매핑부가 출력한 이더넷 데이터 및 FEC 복호화 매핑부로 입력되는 이더넷 데이터를 설명하기 위한 예시적인 도면이다.
도 5는 일실시예에 따른 이더넷 데이터 수신 장치가 M=66 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, N=64 비트 단위의 블록을 따라 정렬하는 동작을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 이더넷 데이터 수신 장치가 N=64 비트 단위를 따라 정렬한 이더넷 데이터를 레인별로 도시한 도면이다.
도 7은 일실시예에 따른 이더넷 데이터 수신 장치에 포함된 FEC 복호화부가 패리티 비트를 이용하여 이더넷 데이터의 오류를 정정하는 동작을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하는 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하여 생성된 이더넷 데이터를 레인별로 도시한 도면이다.
도 4는 도 1의 FEC 부호화 디매핑부가 출력한 이더넷 데이터 및 FEC 복호화 매핑부로 입력되는 이더넷 데이터를 설명하기 위한 예시적인 도면이다.
도 5는 일실시예에 따른 이더넷 데이터 수신 장치가 M=66 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, N=64 비트 단위의 블록을 따라 정렬하는 동작을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 이더넷 데이터 수신 장치가 N=64 비트 단위를 따라 정렬한 이더넷 데이터를 레인별로 도시한 도면이다.
도 7은 일실시예에 따른 이더넷 데이터 수신 장치에 포함된 FEC 복호화부가 패리티 비트를 이용하여 이더넷 데이터의 오류를 정정하는 동작을 설명하기 위한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)의 구조를 설명하기 위한 도면이다. 이더넷 수동형 광 가입자 네트워크(EPON, Ethernet Passive Optical Network)의 광 선로 단말(OLT, Optical Line Terminal) 또는 광 네트워크 유닛(ONU, Optical Network Unit)은 일실시예에 따른 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)를 포함할 수 있다. 이하에서는 EPON 기준으로 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)의 동작을 설명하지만, 본 발명은 EPON에 제한되지 않는다. 예를 들어, 일실시예에 따른 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)는 GPON(Gigabit-capable Passive Optical Network)의 데이터를 송 수신할 수 있다.
OLT 또는 ONU는 이더넷 데이터 송신 장치(100)를 이용하여 EPON MAC(Media Access Control) 프레임을 송신할 수 있다. OLT 또는 ONU는 이더넷 데이터 수신 장치(110)를 이용하여 EPON MAC 프레임을 수신할 수 있다. 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)은 복수의 레인을 이용한 복수의 EPON MAC 프레임의 전송을 지원할 수 있다. 특히, 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)는 한 개의 레인에서 수행되는 동작을 여러 개의 레인으로 확장하여 운영할 수 있는 탄력적인 구조를 가질 수 있다. 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)가 복수의 레인을 이용하는 특징은 이후 설명한다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 N 비트 단위의 블록을 따라 입력된 입력 데이터를, N 비트 보다 큰 M 비트 단위의 블록을 따라 부호화하는 N/M 부호화부(101)를 포함할 수 있다. N/M 부호화부(101)에 입력되는 입력 데이터는 EPON MAC 프레임일 수 있다. 입력되는 EPON MAC 프레임의 길이는 64 비트, 128 비트 또는 256 비트일 수 있다. 도 1을 참고하면, N/M 부호화부(101)는 복수의 레인들을 통해 복수의 EPON MAC 프레임들을 동시에 수신할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 부호화된 입력 데이터에 포함된 이더넷 데이터를 스크램블링하는 스크램블러(102)를 포함할 수 있다. M 비트 단위의 블록을 따라 부호화된 이더넷 데이터는 이더넷 데이터의 동기화와 관련된 정보가 표시된 동기화 헤더(sync_header)를 포함할 수 있다. 예를 들어, 이더넷 데이터가 66비트 단위의 블록을 따라 정렬된 경우, 66비트 중에서 하위 2 비트가 동기화 헤더로 사용될 수 있다. 이더넷 데이터의 동기화 헤더는 스크램블러(102)에서 변경되지 않고, 원래의 데이터를 유지할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 N 비트 단위의 블록을 따라 스크램블링된 이더넷 데이터를 정렬하는 FEC 부호화 매핑부(103)를 포함할 수 있다. 도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 정렬된 이더넷 데이터에 기초하여, N 비트 단위의 블록을 따라 정렬된 패리티 비트를 생성하는 FEC 부호화부(104)를 포함할 수 있다.
FEC 부호화부(104)는 RS (255, 223) FEC 방식을 이용하여 패리티 비트를 생성할 수 있다. 이 경우, FEC 부호화부(104)가 RS (255, 223) FEC 방식을 수행하기 위해 필요한 사항을 고려하여, FEC 부호화 매핑부(103)는 스크램블링된 이더넷 데이터를 정렬할 수 있다. 예를 들어, FEC 부호화 매핑부(103)는 스크램블링된 이더넷 데이터를 223 바이트로 비트 정렬할 수 있다. FEC 부호화부(104)는 223 바이트로 정렬된 이더넷 데이터로부터, 32 바이트의 패리티 비트를 생성할 수 있다. 따라서, FEC 부호화부(104)는 223 바이트로 정렬된 이더넷 데이터 및 32 바이트의 패리티 비트를 포함하는 총 255 바이트의 데이터를 출력할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 스크램블링된 이더넷 데이터 및 패리티 비트를 M 비트 단위의 블록을 따라 정렬하는 FEC 부호화 디매핑부(105)를 포함할 수 있다. FEC 부호화부(104)가 RS (255, 223) FEC 방식을 이용하여 총 255 바이트의 데이터를 출력하는 경우, FEC 부호화 디매핑부(105)는 (i) 스크램블러(102)에서 출력된 66 비트 단위의 27개 블록으로 구분된 이더넷 데이터 및 (ii) FEC 부호화부(104)에서 생성된 4개 블록으로 구분된 패리티 비트를 수신할 수 있다. FEC 부호화 디매핑부(105)는 총 31개 블록의 이더넷 데이터 및 패리티 비트를 66 비트 단위의 블록을 따라 정렬할 수 있다.
FEC 부호화 디매핑부(105)는 패리티 비트에 대응하는 블록에, 패리티 비트의 영역을 표시하는 동기화 헤더를 결합하여 전송할 수 있다. 패리티 비트의 영역을 표시하는 동기화 헤더는 패리티의 순서대로 '00', '11', '11' 및 '00' 값이 할당될 수 있다. 즉, 패리티 비트에 대응하는 동기화 헤더는 이더넷 데이터에 대응하는 동기화 데이터와 중복되지 않는 값으로써 패리티 비트의 순서를 표시하는 값으로 결정될 수 있다. 따라서, FEC 부호화 디매핑부(105)가 출력하는 M 비트 단위의 블록들은 패리티 비트 또는 이더넷 데이터들 각각에 대응하는 동기화 헤더를 포함할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 송신 장치(100)는 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를 EPON으로 출력하는 EPON 송신부(106)를 포함할 수 있다. 복수의 레인이 사용되는 경우, EPON 송신부(106)는 이더넷 데이터 및 패리티 비트를 대응하는 레인 또는 EPON 전송 채널을 통하여 출력할 수 있다. EPON 송신부(106)는 병렬 데이터에서 직렬 데이터로의 처리를 수행할 수 있다(parallel to serial). 즉, EPON 송신부(106) 이전에서, 이더넷 데이터 및 패리티 비트는 병렬 64 비트 또는 128 비트 단위로 처리될 수 있다. EPON 송신부(106)는 FEC 부호화 디매핑부 (105)의 66 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를 LSB(Least Significant Bit) 부터 차례로 직렬 데이터로 변환하여 출력할 수 있다. 변환된 직렬 데이터가 출력되는 레인 또는 EPON 전송 채널의 전송 폭은, 예를 들어, 2.5Gbps, 10Gbps 또는 25Gbps일 수 있다. 이더넷 데이터 수신 장치(110)는 추출된 동기화 헤더를 이용하여, 데이터 및 패리티 영역을 표시할 수 있다.
EPON 송신부(106)가 출력한 이더넷 데이터 및 패리티 비트는 EPON 전송 채널을 따라 이더넷 데이터 수신 장치(110)로 전송될 수 있다. 도 1을 참고하면, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 수신된 이더넷 데이터 및 패리티 비트를 정렬하는 EPON 수신부(111)를 포함할 수 있다. EPON 수신부(111)는 직렬 데이터에서 병렬 데이터로의 처리를 수행할 수 있다. EPON 수신부(111)는 FEC용 동기화 헤더(sync_header)를 추출할 수 있다. 추출된 동기화 헤더는 64 비트에 대한 블록 정렬, 데이터 및 패리티 영역의 표시에 활용될 수 있다.
EPON 송신부(106)출력한 이더넷 데이터 및 패리티 비트는 M 비트 단위의 블록을 따라 정렬된 데이터일 수 있다. 도 1을 참고하면, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, M 비트 보다 작은 N 비트 단위의 블록을 따라 정렬하는 FEC 복호화 매핑부(112)를 포함할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 N 비트 단위의 블록을 따라 정렬된 패리티 비트에 기초하여, N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 변경하는 FEC 복호화부(113)를 포함할 수 있다. 즉, FEC 복호화부(113)는 패리티 비트에 기초하여 이더넷 데이터에 포함된 오류를 정정할 수 있다.
FEC 복호화부(113)는 RS(255, 223) FEC 방식을 이용하여 오류를 정정할 수 있다. 이 경우, FEC 복호화부(113)가 RS(255, 223) FEC 방식을 수행하기 위해 필요한 사항을 고려하여, FEC 복호화 매핑부(112)는 이더넷 데이터 및 패리티 비트를 정렬할 수 있다. 예를 들어, FEC 복호화 매핑부(112)는 255 바이트의 데이터로 비트 정렬을 수행할 수 있다. FEC 복호화부(113)는 입력된 255 바이트에 대한 오류 정정을 수행할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 FEC 복호화부(113)에 의해 변경된 이더넷 데이터, 즉, 오류 정정이 완료된 데이터를 M 비트 단위의 블록을 따라 정렬하는 FEC 복호화 디매핑부(114)를 포함할 수 있다. FEC 복호화 디매핑부(114)는 디스크램블러(115)에 의해 디스크램블링이 가능한 이더넷 데이터를 생성할 수 있다.
도 1을 참고하면, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 FEC 복호화 디매핑부(114)가 정렬한 데이터, 즉, M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 디스크램블링하는 디스크램블러(115)를 포함할 수 있다. 또한, 일실시예에 따른 이더넷 데이터 수신 장치(110)는 디스크램블러(115)에 의해 디스크램블링된 이더넷 데이터를 N 비트 단위의 블록을 따라 복호화하는 N/M 복호화부(116)를 포함할 수 있다. 디스크램블러(115) 및 N/M 복호화부(116)는 N/M 부호화부(101)에 입력된 데이터, 즉, EPON MAC 프레임을 복원할 수 있다.
이하에서는 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)가 64 비트 단위로 입력되는 EPON MAC 프레임을 처리하는 것으로 가정하고 각 장치의 동작을 상세히 설명한다. 하지만 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)는 64 비트 단위가 아닌 다른 단위의 EPON MAC 프레임도 처리할 수 있다. 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)가 64 비트 단위로 입력되는 EPON MAC 프레임을 처리하는 경우, N=64이고, M=66 일 수 있다.
도 2는 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하는 동작을 설명하기 위한 도면이다. 도 2에서 설명하는 동작은 도 1의 FEC 부호화 매핑부(103)에 의해 수행될 수 있다. 즉, 도 1의 FEC 부호화 매핑부(103)는 M=66 비트 단위의 블록을 따라 정렬된 이더넷 데이터로써, 스크램블링된 이더넷 데이터를 N=64 비트 단위의 블록을 따라 정렬할 수 있다. 더 나아가서, FEC 부호화 매핑부(103)는 도 2의 동작에 따라 정렬한 이더넷 데이터를 FEC 부호화부(104)로 전달할 수 있다.
도 2를 참고하면, 스크램블링된 이더넷 데이터(210)의 구조가 도시된다. 스크램블링된 이더넷 데이터(210)는 66 비트 단위의 블록을 따라 정렬될 수 있다. 스크램블링된 이더넷 데이터(210)는 이더넷 데이터가 기록된 블록 1 내지 블록 27 및 패리티 비트가 기록될 블록 28 내지 블록 31로 구분될 수 있다. 패리티 비트는 스크램블링된 이더넷 데이터(210)가 정렬된 이후에 기록될 수 있다. 즉, 스크램블링된 이더넷 데이터(210)의 블록 28 내지 블록 31은 어느 정보도 포함하지 않을 수 있다.
이더넷 데이터 송신 장치는 M 비트 및 N 비트간의 차이에 기초하여, M 비트 단위의 블록을 따라 부호화된 이더넷 데이터(210)의 동기화 헤더의 적어도 한 비트를 제거할 수 있다. 바꾸어 말하면, M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 N 비트 단위의 블록을 따라 정렬하기 위하여, 이더넷 데이터 송신 장치는 동기화 헤더 중 미리 설정된 적어도 한 자리의 비트를 제거할 수 있다. 도 1의 FEC 부호화 매핑부(103)가 동기화 헤더의 적어도 한 비트를 제거하는 경우, FEC 부호화 디매핑부(105)가 제거된 적어도 한 비트를 복원할 수 있다.
이더넷 데이터 송신 장치가 64 비트 단위로 입력되는 EPON MAC 프레임을 처리하는 경우, 스크램블링된 이더넷 데이터(210)의 각 블록은 2 비트 길이의 동기화 헤더(sync_header)를 포함할 수 있다. 동기화 헤더에 기록되는 값은 '01' 또는 '10' 중 하나이므로, 두 개의 자리 중 어느 하나만을 남겨도 원래의 값을 복원할 수 있다. 즉, 동기화 헤더는 일부 비트가 제거되더라도 그 의미를 유지할 수 있다. 즉, 2 비트 길이의 동기화 헤더 중 어느 한 비트가 제거되어도, 제거된 자리에 따라 비트를 추가하여 2 비트 길이의 동기화 헤더를 복원할 수 있다. 동기화 헤더는 도 1의 FEC 부호화 디매핑부(105)에 의해 복원될 수 있다.
동기화 헤더 중 어느 한 비트가 제거되므로, 66 비트 단위의 블록들 각각의 길이는 66 비트에서 65 비트로 줄어들 수 있다. 도 2를 참고하면, 이더넷 데이터 송신 장치가 동기화 헤더 중 어느 한 비트를 제거하여 생성된 이더넷 데이터(220)가 도시된다. 도 2를 참고하면, 이더넷 데이터(220)의 블록 1 내지 27의 길이는 65 비트일 수 있다.
이더넷 데이터 송신 장치는 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터(230)를 생성하기 위하여, 동기화 헤더의 적어도 한 비트가 제거된 이더넷 데이터(220)에 미리 설정된 비트열을 결합할 수 있다. 이더넷 데이터 송신 장치가 64 비트 단위로 입력되는 EPON MAC 프레임을 처리하는 경우, 이더넷 데이터 송신 장치는 이더넷 데이터(220)에 37 비트의 비트열을 결합할 수 있다. 비트열은 블록 1의 앞 부분에 결합될 수 있고, 결합되는 위치가 이에 한정되지 않는다.
도 2를 참고하면, 비트열이 결합되어 N=64 비트 단위의 블록을 따라 정렬된 이더넷 데이터(230)가 도시된다. 즉, 이더넷 데이터(230)는 64 비트 단위의 블록 32개로 구분될 수 있다. 도 2를 참고하면, 이더넷 데이터(230)의 블록 1 내지 28은 미리 설정된 비트열 및 이더넷 데이터(220)의 블록 1 내지 27을 포함할 수 있다. 이더넷 데이터(230)의 블록 29 내지 32는 패리티 비트가 기록될 수 있다. 즉, 패리티 비트는 64 비트 단위의 블록을 따라 생성될 수 있다. 결론적으로, 이더넷 데이터 송신 장치는 이더넷 데이터(230)의 블록 1 내지 28을 이용하여 이더넷 데이터를 223 바이트 단위로 비트 정렬할 수 있다. 223 바이트 단위로 비트 정렬된 이더넷 데이터는 이더넷 데이터 송신 장치에 의해 1 바이트만큼 패딩(padding)되어 계산될 수 있고, 이더넷 데이터 수신 장치에 의해 1 바이트만큼 패딩(padding)되어 계산됨으로써, 에러 검사가 수행될 수 있다.
도 2를 참고하면, 37 비트의 비트열이 결합되므로, 이더넷 데이터(230)의 블록 1은 비트열의 37 비트 및 이더넷 데이터(220)의 블록 1의 처음 27 비트를 포함할 수 있다. 따라서, 이더넷 데이터(230)의 블록 2는 이더넷 데이터(220)의 블록 1의 나머지 38 비트 및 블록 2의 처음 26 비트를 포함할 수 있다. 즉, 이더넷 데이터(230)의 블록 a는 이더넷 데이터(220)의 블록 a-1의 일부 비트 및 블록 a의 일부 비트를 포함할 수 있다. 도 2를 참고하면, 이더넷 데이터(230)의 블록 28은 이더넷 데이터(220)의 블록 27의 하위 64 비트를 포함할 수 있다.
이더넷 데이터 송신 장치는 64 비트 단위를 따라 정렬된 이더넷 데이터(230)를 이용하여 패리티 비트를 생성할 수 있다. 패리티 비트는 이더넷 데이터(230)의 블록 29 내지 블록 32에 기록될 수 있다. 따라서, 패리티 비트는 64 비트 단위를 따라 정렬될 수 있다. 도 2의 동작은 한 개의 레인의 스크램블링된 이더넷 데이터(220)를 정렬하는 동작을 도시한 것으로, 일실시예에 따른 이더넷 데이터 송신 장치는 복수의 레인들 각각에 대하여 동일한 동작을 수행할 수 있다.
도 3은 일실시예에 따른 이더넷 데이터 송신 장치가 스크램블링된 이더넷 데이터를 정렬하여 생성된 이더넷 데이터를 레인별로 도시한 도면이다. 도 3을 참고하면, k 개의 레인들 각각에 대응하는 k 개의 이더넷 데이터들로써, N=64 비트 단위의 블록을 따라 정렬된 k 개의 이더넷 데이터들이 도시된다. k 개의 이더넷 데이터들 각각은 도 2에서 설명된 동작에 따라 64 비트 단위의 블록을 따라 정렬될 수 있다. 도 3을 참고하면, k 개의 이더넷 데이터들은 레인 별로 FEC 부호화부(104)로 입력될 수 있다.
도 3을 참고하면, FEC 부호화부(104)는 각 레인 별로 입력된 이더넷 데이터로부터 패리티 비트를 생성하는 FEC 패리티 계산부(310)를 포함할 수 있다. FEC 패리티 계산부(310)는 RS(255, 223) FEC 방식을 이용하여 패리티 비트를 생성할 수 있다. 보다 구체적으로, FEC 패리티 계산부(310)는 미리 설정된 다항식(polynomial)에 기초하여 패리티 비트를 생성할 수 있다. FEC 패리티 계산부(310)는 다항식 인덱스(polynomial index)를 입력받을 수 있고, 입력된 다항식 인덱스로부터 결정된 다항식을 이용하여 패리티 비트를 생성할 수 있다.
도 3을 참고하면, 레인 a의 b 번째 블록이 블록 a-b로 표시된다. 레인 1 내지 k에서, 첫번째 블록 내지 28번째 블록은 이더넷 데이터를 포함할 수 있다. 29번째 블록 내지 32 번째 블록은 FEC 부호화부(104)로 입력되기 전에는 빈 블록일 수 있다. FEC 부호화부(104)는 생성한 패리티 비트를 각 레인의 29번째 블록 내지 32 번째 블록에 기록할 수 있다. 즉, 블록 1 내지 28에 포함된 이더넷 데이터의 오류를 정정할 수 있는 패리티 비트가 29번째 블록 내지 32 번째 블록에 기록될 수 있다.
결론적으로, FEC 부호화부(104)는 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를 생성할 수 있다. N 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트는 EPON 전송을 위해 M 비트 단위의 블록을 따라 정렬된 다음, EPON 전송 채널을 통해 출력될 수 있다.
도 4는 도 1의 FEC 부호화 디매핑부(105)가 출력한 이더넷 데이터 및 FEC 복호화 매핑부(112)로 입력되는 이더넷 데이터를 설명하기 위한 예시적인 도면이다. 이더넷 데이터 송신 장치(100) 및 이더넷 데이터 수신 장치(110)가 64 비트 단위로 입력되는 EPON MAC 프레임을 처리하는 경우, 도 1의 FEC 부호화 디매핑부(105)가 출력한 이더넷 데이터 및 FEC 복호화 매핑부(112)로 입력되는 이더넷 데이터는 66 비트 단위의 블록을 따라 정렬된 이더넷 데이터일 수 있다.
도 4를 참고하면, 각 레인의 블록 1 내지 27은 이더넷 데이터를 포함하고, 블록 28 내지 31은 이더넷 데이터에 대응하는 패리티 비트를 포함할 수 있다. 일실시예에 따른 이더넷 데이터 송신 장치는 도 4에 도시된 이더넷 데이터를 대응하는 레인을 통하여 EPON 네트워크로 출력할 수 있다. 블록 1 내지 27의 이더넷 데이터를 송신하기 위하여 블록 28 내지 31의 패리티 비트를 포함 총 31개의 블록이 생성될 수 있다. 이더넷 데이터 송신 장치는 31개의 클락을 이용하여 생성된 31개의 블록을 송신할 수 있다. 31개의 클락은 전송 대역의 효율성을 위해 결정된 클락일 수 있다.
다만, 도 3을 참고하면, FEC를 이용하여 패리티 비트를 생성하기 위하여 64 비트 단위의 블록으로 정렬된 32개의 블록이 사용됨을 알 수 있다. 또한, 이더넷 데이터 수신 장치는 FEC를 이용하여 이더넷 데이터의 오류를 정정하기 위하여, 32개의 블록을 사용할 수 있다. 즉, 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치는 FEC를 적용하는 과정에서, 이더넷 데이터를 32개의 클락을 이용하여 처리할 수 있다. 이더넷 데이터는 하나의 코드워드인 255바이트 단위별로 처리될 수 있다.
다시 도 4를 참고하면, 복수의 레인들이 처리되는 순서(410)가 도시된다. 즉, 복수의 레인들은 66 비트 단위의 블록 별로 화살표 방향대로 처리될 수 있다. 보다 구체적으로, 이더넷 데이터 송신 장치(보다 구체적으로, 도 1의 FEC 부호화 디매핑부(105)) 또는 이더넷 데이터 수신 장치(보다 구체적으로, 도 1의 FEC 복호화 매핑부(112))는 각 레인의 첫번째 블록을 다 처리한 다음, 각 레인의 두번째 블록을 처리할 수 있다. 따라서, 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치는 복수의 레인들 각각의 이더넷 데이터 및 패리티 비트를 병렬로 처리할 수 있다.
도 5는 일실시예에 따른 이더넷 데이터 수신 장치가 M=66 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, N=64 비트 단위의 블록을 따라 정렬하는 동작을 설명하기 위한 도면이다. 도 5에서 설명하는 동작은 도 1의 FEC 복호화 매핑부(112)에 의해 수행될 수 있다. 도 1의 FEC 복호화 매핑부(112)는 도 5의 동작에 따라 정렬한 이더넷 데이터 및 패리티 비트를 FEC 복호화부(113)로 전달할 수 있다.
도 5를 참고하면, 이더넷 데이터 수신 장치가 66 비트 단위의 블록을 따라 정렬한 이더넷 데이터 및 패리티 비트를 포함하는 이더넷 데이터(510)가 도시된다. 이더넷 데이터(510)의 블록 1 내지 27은 이더넷 데이터 송신 장치로부터 수신된 이더넷 데이터를, 블록 28 내지 31은 이더넷 데이터 송신 장치로부터 수신된 패리티 비트를 포함할 수 있다. 블록 28 내지 31의 패리티 비트는 블록 1 내지 27의 이더넷 데이터의 오류를 정정하기 위해 이용될 수 있다.
이더넷 데이터 수신 장치는 M 비트 및 N 비트간의 차이에 기초하여, M 비트 단위의 블록을 따라 부호화된 이더넷 데이터(510)의 동기화 헤더의 적어도 한 비트를 제거할 수 있다. 도 5를 참고하면, 이더넷 데이터 수신 장치는 66 비트 단위의 볼록들 각각의 동기화 헤더 중 어느 한 자리의 비트를 삭제할 수 있다. 도 5를 참고하면, 동기화 헤더 중 어느 한 자리의 비트가 삭제된 이더넷 데이터(520)가 도시된다. 앞서 설명한 바와 같이, 동기화 헤더에 기록되는 값은 '01' 또는 '10' 중 하나이므로, 두 개의 자리 중 어느 하나만을 남겨도 원래의 값을 복원할 수 있기 때문이다. 동기화 헤더는 도 1의 FEC 복호화 디매핑부(114)에 의해 복원될 수 있다.
이더넷 데이터 수신 장치는 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터(530)를 생성하기 위하여, 동기화 헤더의 적어도 한 비트가 제거된 이더넷 데이터(520)에 미리 설정된 비트열을 결합할 수 있다. 도 5를 참고하면, 이더넷 데이터 수신 장치는 이더넷 데이터(520)에 37 비트의 비트열을 결합할 수 있다. 도 5의 '&'는 비트 열의 결합을 의미하는 비트 결합(bit concatenation) 연산자이다. 비트열은 블록 1의 앞 부분에 결합될 수 있고, 결합되는 위치가 이에 한정되지 않는다. 이더넷 데이터 수신 장치는 64 비트 블록 32개, 총 255바이트에 해당하는 비트 정렬을 수행할 수 있다.
도 5를 참고하면, 이더넷 데이터 수신 장치가 N=64 비트 단위를 따라 정렬한 이더넷 데이터(530)가 도시된다. 이더넷 데이터(530)는 블록 1 내지 블록 28에 이더넷 데이터를, 블록 29 내지 32에 패리티 비트를 포함할 수 있다. 이더넷 데이터 수신 장치는 이더넷 데이터(530)를 이용하여 수신된 이더넷 데이터에 포함된 오류를 정정할 수 있다.
도 5에서 설명한 동작은 이더넷 데이터 수신 장치의 FEC 복호화 디매핑부(114)에 의해 반대로 수행될 수 있다. 즉, FEC 복호화 디매핑부(114)는 오류가 정정되고 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬할 수 있다. 도 5를 참고하면, FEC 복호화 디매핑부(114)는 이더넷 데이터(530)와 동일한 구조의 이더넷 데이터를 수신할 수 있다. FEC 복호화 디매핑부(114)는 이더넷 데이터(530)의 동기화 헤더에 적어도 한 비트, 즉, FEC 복호화 매핑부(112)에서 제거된 비트를 결합할 수 있다. 더 나아가서, FEC 복호화 디매핑부(114)는 FEC 복호화 매핑부(112)가 결합한 미리 설정된 비트열을 이더넷 데이터(530)로부터 제거할 수 있다. 따라서, FEC 복호화 디매핑부(114)는 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 출력할 수 있다.
도 5의 동작은 한 개의 레인의 이더넷 데이터(510)를 정렬하는 동작을 도시한 것으로, 일실시예에 따른 이더넷 데이터 수신 장치는 복수의 레인들 각각에 대하여 동일한 동작을 수행할 수 있다.
도 6은 일실시예에 따른 이더넷 데이터 수신 장치가 N=64 비트 단위를 따라 정렬한 이더넷 데이터를 레인별로 도시한 도면이다. 도 6을 참고하면, k 개의 레인들 각각에 대응하는 k 개의 이더넷 데이터들로써, N=64 비트 단위의 블록을 따라 정렬된 k 개의 이더넷 데이터들이 도시된다. k 개의 이더넷 데이터들 각각은 도 5에서 설명된 동작에 따라 64 비트 단위의 블록을 따라 정렬될 수 있다. 도 6을 참고하면, k 개의 이더넷 데이터들은 레인 별로 FEC 복호화부(113)로 입력될 수 있다.
FEC 복호화부(113)는 1개의 코드워드를 확인하여, 패리티의 정상 여부를 확인할 수 있다. FEC 복호화부(113)는 이더넷 데이터에 오류가 있는 경우, 패리티 비트를 이용하여 오류를 정정할 수 있다. FEC 복호화부(113)는 1에서 28까지의 클락 구간의 이더넷 데이터만을 도 1의 FEC 복호화 디매핑부(114)로 전달할 수 있다. 즉, FEC 복호화부(113)는 각 레인의 블록 1 내지 28의 이더넷 데이터만을 출력할 수 있다.
도 7은 일실시예에 따른 이더넷 데이터 수신 장치에 포함된 FEC 복호화부(113)가 패리티 비트를 이용하여 이더넷 데이터의 오류를 정정하는 동작을 설명하기 위한 도면이다. FEC 복호화부(113)의 동작이 한 개의 레인을 기준으로 설명되지만, FEC 복호화부(113)는 복수의 레인의 이더넷 데이터에 포함된 오류를 동시에 정정할 수 있다.
1 개의 코드워드는 31개의 클락을 기준으로 처리될 수 있다. FEC 복호화부(113)는 64 비트 단위의 블록으로 정렬된 32개의 블록을 수신하므로, 32개의 클락을 이용하여 오류를 정정해야 한다. 하지만, FEC 복호화부(113)는 오류를 정정하기 위하여 32개의 클락 이상의 클락을 사용할 수 있다. 이 경우, FEC 복호화부(113)는 오류를 정정하는데 필요한 클락을 고려하여, 이더넷 데이터를 저장하는 메모리를 포함할 수 있다.
도 7을 참고하면, FEC 복호화부(113)는 리드 솔로만 FEC 방식을 이용하여 이더넷 데이터의 오류를 정정하는 주요 함수 풀이부 및 오류 수정부를 포함할 수 있다. 오류 수정부는 오류 정정 위치를 탐색하고 오류 값을 수정할 수 있다. 오류 수정부는 Chien Search & Forney 알고리즘을 활용할 수 있다. 주요 함수 풀이부 및 오류 수정부가 32개 클락 이상을 사용하므로, 복수의 주요 함수 풀이부 및 복수의 오류 수정부가 병렬로 구성될 수 있다. 도 7을 참고하면, FEC 복호화부(113)는 주요 함수 풀이부 1(730) 및 주요 함수 풀이부 2(750)들 각각에 연결된 오류 수정부 1(740) 및 오류 수정부 2(760)를 포함할 수 있다.
FEC 복호화부(113)는 주요 함수 풀이부 및 오류 수정부에서 사용되는 클락 및 FEC 복호화부(113)가 이더넷 데이터를 입력/출력하는데 사용되는 클락간의 차이를 고려하여, 서로 다른 클락을 사용하는 데이터를 실시간 변경할 수 있는 제1 클락 변경 메모리(710) 및 제2 클락 변경 메모리(780)를 포함할 수 있다. 제1 클락 변경 메모리(710) 및 제2 클락 변경 메모리(780)는 선입 선출(FIFO, First In First Out) 방식으로 이더넷 데이터를 저장할 수 있다. RS(255, 223) FEC 방식은 31개 클락에 기초하여 이더넷 데이터를 처리할 수 있다. 다만, FEC 복호화부(113)는 오류를 수정하기 위하여 최소 32개 클락을 이용해야 한다. 따라서, 제1 클락 변경 메모리(710)는 31개 클락을 이용하는 데이터를 32개 클락을 이용하는 데이터로 변경하는데 이용되고, 제2 클락 변경 메모리(780)는 32개 클락을 이용하는 데이터를 31개 클락을 이용하는 데이터로 변경할 수 있다.
FEC 신드롬 계산부(720)는 도 1의 FEC부호화부(104)에서 계산된 신드롬의 이상 여부를 판단할 수 있다. 오류가 이더넷 데이터를 송수신 하는 도중에 발생되지 않은 경우, FEC 신드롬 계산부(720)는 '0'을 출력할 수 있다. 오류가 발생된 경우, 즉, 이더넷 데이터에 에러가 포함된 경우, FEC 신드롬 계산부(720)는 '0'이 아닌 신드롬 값을 출력할 수 있다.
오류가 발생된 경우, 주요함수 풀이부 1,2(730, 750)는 출력된 신드롬 값에서, 오류 위치 정보 및 오류 값 정보를 추출할 수 있다. 오류 수정부 1,2(740, 760)는 추출된 오류 위치 정보 및 값 정보를 이용하여, 이더넷 데이터에 포함된 오류를 정정할 수 있다. 보다 구체적으로, 오류 수정부 1,2(740, 760)에서 출력된 정확한 오류 위치 및 값 정보는 지연 메모리(770)에 저장된 이더넷 데이터의 위상에 따라 정렬될 수 있다. 지연 메모리(770)는 신드롬 계산부터 오류 정정 블록까지의 처리 과정이 진행되는 동안, 이더넷 데이터를 저장할 수 있다. 즉, 이더넷 데이터의 오류가 정정되기 이전에, 지연 메모리(770)는 이더넷 데이터를 잠시 대기시키는데 사용될 수 있다. 정렬된 오류 위치 및 값 정보는 Exclusive OR 연산에 기초하여 오류를 정정하는데 이용될 수 있다.
그 결과, 송수신 간 전송장치에서 추가된 에러(오류)가 정정된 이더넷 데이터가 출력될 수 있다. 단, RS(255,223) FEC 방식의 특성 상, 오류 정정 기능은 최대 16 바이트 크기의 오류를 정정하는데 이용될 수 있다.
서로 다른 클락을 사용하는 데이터를 실시간으로 변경함으로써, FEC 복호화부(113)를 포함하는 이더넷 데이터 수신 장치는 이더넷 데이터를 고속으로 처리할 수 있다. 그와 동시에 산업 표준에 부합되도록 이더넷 데이터를 처리함으로써, EPON의 광역화 및 전송 거리 확보에 기여할 수 있다.
실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 이더넷 데이터 송신 장치
101: N/M 부호화부
102: 스크램블러
103: FEC 부호화 매핑부
104: FEC 부호화부
105: FEC 부호화 디매핑부
106: EPON 송신부
110: 이더넷 데이터 수신 장치
111: EPON 수신부
112: FEC 복호화 매핑부
113: FEC 복호화부
114: FEC 복호화 디매핑부
115: 디스크램블러
116: N/M 복호화부
101: N/M 부호화부
102: 스크램블러
103: FEC 부호화 매핑부
104: FEC 부호화부
105: FEC 부호화 디매핑부
106: EPON 송신부
110: 이더넷 데이터 수신 장치
111: EPON 수신부
112: FEC 복호화 매핑부
113: FEC 복호화부
114: FEC 복호화 디매핑부
115: 디스크램블러
116: N/M 복호화부
Claims (11)
- N 비트 단위의 블록을 따라 입력된 입력 데이터를, 상기 N 비트 보다 큰 M 비트 단위의 블록을 따라 부호화하는 단계;
상기 부호화된 입력 데이터에 포함된 이더넷 데이터를 스크램블링하는 단계;
N 비트 단위의 블록을 따라 상기 스크램블링된 이더넷 데이터를 정렬하는 단계;
상기 정렬된 이더넷 데이터에 기초하여, N 비트 단위의 블록을 따라 정렬된 패리티 비트를 생성하는 단계;
상기 스크램블링된 이더넷 데이터 및 상기 패리티 비트를 M 비트 단위의 블록을 따라 정렬하는 단계; 및
상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를 이더넷 광 가입자 네트워크로 출력하는 단계
를 포함하는 이더넷 데이터 송신 방법. - 제1항에 있어서,
상기 스크램블링된 이더넷 데이터를 정렬하는 단계는,
상기 M 비트 및 N 비트간의 차이에 기초하여, 상기 M 비트 단위의 블록을 따라 부호화된 이더넷 데이터의 동기화 헤더의 적어도 한 비트를 제거하는 단계; 및
상기 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 생성하기 위하여, 상기 동기화 헤더의 적어도 한 비트가 제거된 이더넷 데이터에 미리 설정된 비트열을 결합하는 단계
를 포함하는 이더넷 데이터 송신 방법. - 제1항에 있어서,
상기 스크램블링된 이더넷 데이터 및 상기 패리티 비트를 M 비트 단위의 블록을 따라 정렬하는 단계는,
상기 N 비트 단위의 블록을 따라 정렬된 패리티 비트에 상기 패리티 비트의 순서를 표시한 동기화 헤더를 결합하는 이더넷 데이터 송신 방법. - 제3항에 있어서,
상기 패리티 비트의 순서가 표시된 동기화 헤더의 길이는, 상기 M 비트 및 상기 N 비트 간의 차이에 기초하여 결정되는 이더넷 데이터 송신 방법. - M 비트 단위의 블록을 따라 정렬된 이더넷 데이터 및 패리티 비트를, 상기 M 비트 보다 작은 N 비트 단위의 블록을 따라 정렬하는 단계;
상기 N 비트 단위의 블록을 따라 정렬된 패리티 비트에 기초하여, 상기 N 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 변경하는 단계;
상기 변경된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 단계;
상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 디스크램블링하는 단계; 및
상기 디스크램블링된 이더넷 데이터를 N 비트 단위의 블록을 따라 복호화하는 단계
를 포함하는 이더넷 데이터 수신 방법. - 제5항에 있어서,
상기 변경하는 단계는,
상기 이더넷 데이터를 변경할 때 필요한 클락 및 상기 변경된 이더넷 데이터를 출력할 때 사용되는 클락 간의 차이를 고려하여, 상기 N 비트 단위의 블록을 따라 변경된 이더넷 데이터를 메모리에 저장하는 이더넷 데이터 수신 방법. - 제5항에 있어서,
상기 변경된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 단계는,
상기 M 비트 및 N 비트간의 차이에 기초하여, 상기 변경된 이더넷 데이터의 동기화 헤더에 적어도 한 비트를 결합하는 단계; 및
상기 M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 생성하기 위하여, 상기 동기화 헤더에 적어도 한 비트가 결합된 이더넷 데이터의 미리 설정된 비트열을 제거하는 단계
를 포함하는 이더넷 데이터 수신 방법. - 코드워드 단위로 처리되는 이더넷 데이터에 포함된 오류를, 패리티 비트를 이용하여 정정하는 프로세서
를 포함하고,
상기 프로세서는,
상기 오류를 정정하는데 필요한 클락을 고려하여, 상기 이더넷 데이터를 변경하고,
상기 패리티 비트를 이용하여 상기 변경된 이더넷 데이터에 포함된 오류를 정정하고,
상기 코드워드 단위로 처리하기 위해 필요한 클락을 고려하여, 상기 오류가 정정된 이더넷 데이터를 변경하는 이더넷 데이터 수신 장치. - 제8항에 있어서,
상기 오류를 정정하는데 필요한 클락 또는 상기 코드워드 단위로 처리하기 위해 필요한 클락을 고려하여 변경된 이더넷 데이터가 저장되는 메모리
를 더 포함하는 이더넷 데이터 수신 장치. - 제8항에 있어서,
상기 프로세서는,
M 비트 단위의 블록을 따라 정렬된 이더넷 데이터를 수신하고,
상기 수신된 이더넷 데이터에 포함된 오류를 정정하기 위하여, N 비트 단위의 블록을 따라 상기 수신된 이더넷 데이터를 정렬하는 이더넷 데이터 수신 장치. - 제8항에 있어서,
상기 프로세서는,
상기 오류가 정정된 이더넷 데이터를 디스크램블링을 수행할 수 있는 이더넷 데이터로 변경하기 위하여, 상기 오류가 정정된 이더넷 데이터를 M 비트 단위의 블록을 따라 정렬하는 이더넷 데이터 수신 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170039832A KR20180110385A (ko) | 2017-03-29 | 2017-03-29 | 고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170039832A KR20180110385A (ko) | 2017-03-29 | 2017-03-29 | 고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180110385A true KR20180110385A (ko) | 2018-10-10 |
Family
ID=63875887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170039832A KR20180110385A (ko) | 2017-03-29 | 2017-03-29 | 고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180110385A (ko) |
-
2017
- 2017-03-29 KR KR1020170039832A patent/KR20180110385A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7424724B2 (ja) | データ伝送方法、データ伝送装置、通信システム、ネットワークデバイス、データ伝送システム、コンピュータ可読記憶媒体、およびコンピュータプログラムコード | |
JP4313391B2 (ja) | 光集線装置および光加入者装置 | |
KR101354288B1 (ko) | 통신 시스템에서 에러 검출 방법 및 장치 | |
US8976816B1 (en) | Self-synchronous scrambler/descrambler and method for operating same | |
US7573871B2 (en) | Apparatus for processing OTN frames utilizing an efficient forward error correction | |
KR101247178B1 (ko) | 연속한 동일한 숫자 감소를 위한 방법 및 시스템 | |
EP1628402B1 (en) | Correction of error propagation caused by scrambling with subsequent forward error correction | |
US7003715B1 (en) | Galois field multiply accumulator | |
CN102195738B (zh) | 用于吉比特无源光网络系统下行帧同步的处理方法及装置 | |
US6983414B1 (en) | Error insertion circuit for SONET forward error correction | |
US8560914B2 (en) | Method and device for indicating an uncorrectable data block | |
US20150046775A1 (en) | Encoding and Decoding Schemes to Achieve Standard Compliant Mean Time to False Packet Acceptance | |
JP5699737B2 (ja) | 誤り訂正装置及び誤り訂正方法 | |
US20180143872A1 (en) | Cyclic redundancy check calculation for multiple blocks of a message | |
EP1517450A1 (en) | Error correction on M-BIT encoded links | |
JP4064928B2 (ja) | 繰り返し硬判定順方向誤り訂正復号化用の装置 | |
JP5509438B2 (ja) | データ転送装置及びデータ転送システム | |
JP4317860B2 (ja) | 光集線装置および光加入者装置 | |
US11258537B2 (en) | Method, apparatus and system for error control | |
US7447982B1 (en) | BCH forward error correction decoder | |
KR20180110385A (ko) | 고속의 전송 속도에서 순방향 오류 정정을 수행하는 이더넷 데이터 송신 장치 및 이더넷 데이터 수신 장치 | |
US9166739B2 (en) | Error correction processing circuit and error correction processing method | |
JP2008294510A (ja) | 光信号受信機及び受信方法 | |
CN112543080B (zh) | 误码率检测的方法和装置 | |
KR20220074351A (ko) | 연속적인 버스트 데이터의 처리가 가능한 순방향 오류 정정 기반의 광 전송 방법 및 장치 |