KR20100124650A - 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법 - Google Patents

데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법 Download PDF

Info

Publication number
KR20100124650A
KR20100124650A KR1020090100915A KR20090100915A KR20100124650A KR 20100124650 A KR20100124650 A KR 20100124650A KR 1020090100915 A KR1020090100915 A KR 1020090100915A KR 20090100915 A KR20090100915 A KR 20090100915A KR 20100124650 A KR20100124650 A KR 20100124650A
Authority
KR
South Korea
Prior art keywords
virtual
frame
lanes
bytes
blocks
Prior art date
Application number
KR1020090100915A
Other languages
English (en)
Other versions
KR101310899B1 (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 한국전자통신연구원
Priority to US12/781,953 priority Critical patent/US8473820B2/en
Publication of KR20100124650A publication Critical patent/KR20100124650A/ko
Application granted granted Critical
Publication of KR101310899B1 publication Critical patent/KR101310899B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/253Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with concatenated codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/0041Arrangements at the transmitter end
    • 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
    • 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/0064Concatenated 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/0071Use of interleaving
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0057Operations, administration and maintenance [OAM]
    • H04J2203/006Fault tolerance and recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0089Multiplexing, e.g. coding, scrambling, SONET
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0089Multiplexing, e.g. coding, scrambling, SONET
    • H04J2203/0094Virtual Concatenation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

광 전달 망에서 송신장치는 전송 채널의 배수로 설정된 가상 레인 별로 순방향 오류 정정 부호화를 수행함으로써, 각 가상 레인 별로 독립적인 패리티 바이트를 포함하는 가상 프레임을 생성한다. 그리고, 생성된 가상 프레임을 하나 이상의 전송 채널을 통해 송신한다. 또한, 수신장치는 프레임 할당 시퀀스를 이용하여 전송 채널을 통해 수신되는 신호로부터 가상 레인 별 가상 프레임을 검출하고, 가상 레인 별로 검출된 가상 프레임에 포함된 패리티 바이트를 이용한 순방향 오류 정정 복호화를 수행한다.
광 전달 망, FEC, 레인, 패리티, ODU

Description

데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법{Apparatus and method for data transmitting and data receiving}
본 발명은 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법에 관한 것이다. 더욱 상세하게 본 발명은 광 전달 망에서의 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법에 관한 것이다.
본 발명은 지식경제부의 IT원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-F-017-02, 과제명: 100Gbps급 이더넷 및 광전송기술 개발].
광 전달 망(Optical Transport Network)에서는 전송 성능을 높이기 위해 순방향 오류 정정(Forward Error Correcting, 이하 'FEC'라 칭함)을 수행한다. 이에 따라, 하나의 광 전송 유닛(Optical Transport Unit, OTU)은 오버헤드 및 페이로드를 포함하는 정보 데이터에 해당하는 광 채널 데이터 유닛(Optical Channel Data Unit, 이하 'ODU' 라 칭함)과 ODU를 오류 정정하기 위한 패리티 바이트(parity bytes)를 포함하여 구성된다.
한편, 기존에는 대략 43.018 Gbit/s의 비트 율을 보이는 OTU3를 고속으로 전 송하기 위해서는 단일 파장에 NRZ(Non-Return -to-Zero), DPSK(Differential Phase Shift Keying) 등의 단순한 변조방식을 적용하여 단일 광 채널을 통해 전송하는 방법을 사용하였다.
그러나, 최근에는 OTU3는 물론 대략 111.8 Gbit/s의 비트 율을 보이는 OTU4와 같은 고속 전송에 대한 연구가 이루어지면서 광 모듈의 기술적 한계와 고가의 가격 등으로 인해 멀티 채널을 통해 데이터를 병렬 전송하는 방법이 고려되고 있다. 멀티 채널을 통해 데이터를 병렬 전송하는 방법으로는 각 채널 별로 서로 다른 파장을 이용하여 데이터를 전송하는 방법, 각 채널 별로 서로 다른 광 섬유 또는 광/전기 케이블을 통해 데이터를 전송하는 방법, 하나의 광 파장 및 광 섬유로 전송하되 편광 다중(Polarization Multiplexing) 및 멀티 레벨 변조 방식을 사용해서 한 심볼당 여러 비트를 보내는 병렬 전송 방법 등이 사용된다.
한편, 기존에는 멀티 채널을 통해 데이터를 전송하기 위해 OTU를 비트 단위로 각 채널에 분배해서 송수신 하는 방법을 사용하였다. 그러나, 이러한 방법을 사용하는 경우 데이터 전송 시 각 채널 별로 지연 차가 발생함에 따라 수신단에서 OTU 신호의 복원이 어려운 문제점이 있다. 또한, 외부적으로 지연이 보상되더라도 OTU를 송신 시 패리티 바이트 또한 비트 단위로 각 채널에 할당되므로 채널 간에 서로 오류 정정 성능에 영향을 주게 된다.
본 발명이 이루고자 하는 기술적 과제는 광 전달 망에서 멀티 전송 채널을 통해 데이터를 병렬 전송 하는 경우에 효율적으로 오류 정정 기능을 수행하는 것이 가능한 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 다른 특징에 따른 광 전달 망에서 송신장치가 데이터를 송신하는 방법은,
입력되는 정보 데이터에 대한 순방향 오류 정정 부호화를 수행하여 패리티 바이트들을 생성하는 단계; 상기 정보 데이터 및 상기 패리티 바이트들을 복수의 블록들로 구분하는 단계; 상기 복수의 블록을 복수의 가상 레인에 매핑하여, 상기 복수의 가상 레인에 각각 대응하는 복수의 가상 프레임을 포함하는 프레임을 생성하는 단계; 및 상기 프레임을 하나 이상의 전송 채널을 통해 송신하는 단계를 포함한다.
또한, 본 발명의 다른 특징에 따른 광 전달 망에서 수신장치가 데이터를 수신하는 방법은,
하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 프레임 할당 시퀀스를 이용하여 복수의 가상 레인에 각각 대응하는 복수의 가상 프레임을 검출하는 단계; 상기 복수의 가상 프레임을 복수의 블록으로 구분하는 단계; 상기 복수의 블록을 디맵핑하여 정보 데이터 및 패리티 바이트들을 생성하는 단계; 상기 패리티 바이트들을 토대로 상기 정보 데이터에 대한 오류 정정을 수행하는 단계; 및 오류 정정된 상기 정보 데이터를 토대로 광 데이터 전송 유닛을 생성하는 단계를 포함한 다.
또한, 본 발명의 또 다른 특징에 따른 광 전달 망에서 송신장치가 데이터를 송신하는 방법은,
입력되는 정보 데이터를 복수의 블록들로 구분하는 단계; 상기 복수의 블록들을 복수의 가상 레인에 맵핑하는 단계; 상기 복수의 가상 레인에 대해서 순방향 오류 정정 부호화를 수행하여 상기 복수의 가상 레인 각각에 대한 패리티 바이트들을 생성하는 단계; 상기 복수의 가상 레인 각각에 대해 상기 복수의 블록 중 대응하는 블록들과 대응하는 상기 패리티 바이트들을 포함하는 가상 프레임을 생성하는 단계; 및 하나 이상의 전송 채널을 통해 상기 복수의 가상 레인 별로 생성된 복수의 상기 가상 프레임을 송신하는 단계를 포함한다.
또한, 본 발명의 또 다른 특징에 따른 광 전달 망에서 수신장치가 데이터를 수신하는 방법은,
하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 프레임 할당 시퀀스를 검출하는 단계; 상기 프레임 할당 시퀀스를 이용하여 복수의 가상 레인 별로 정보 데이터 및 패리티 바이트들을 포함하는 가상 프레임을 검출하는 단계; 상기 패리티 바이트들을 토대로 상기 복수의 가상 레인 각각에 대한 순방향 오류 정정 복호화를 수행하여 상기 정보 데이터에 대한 오류 정정을 수행하는 단계; 및 오류 정정된 상기 정보 데이터를 디맵핑하여 광 데이터 전송 유닛을 출력하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 각 전송 채널에서는 다른 전송 채널에서 발생한 오류에 영향을 받지 않는 독립적인 오류 정정이 가능하며, 하나의 전송 채널을 제외한 나머지 모든 전송 채널에서 상당량의 오류가 발생하여도 하나의 전송 채널에서는 이와 상관없이 최대 128바이트의 버스트 오류를 정정하는 것이 가능하므로 멀티 전송 채널에서 병렬 전송을 수행하는 경우에 최적화된 송수신장치를 제공하는 것이 가능하다.
또한, 각 전송 채널 별로 독립적으로 오류 정정 개수를 수집하는 것이 가능하여 전송 채널 별로 성능을 감시하는 것이 가능하다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제 아래에서는 본 발명의 실시 예에 따른 광 전달 망에서의 데이터 송신 방법 및 장치, 그리고 데이터 수신 방법 및 장치에 대하여 도면을 참고로 하여 상 세하게 설명한다.
한편, 아래에서는 실제 데이터를 송신하는 광 채널에 해당하는 전송 채널이 1개이거나 4개인 송수신장치를 예로 들어 설명하나, 본 발명은 전송 채널이 4개 이상인 경우에도 적용이 가능하다.
또한, 본 발명의 실시 예에서는 서로 다른 광 파장, 서로 다른 전송 경로(예를 들어, 광 섬유, 광 케이블, 전기 케이블 등)를 이용하여 복수의 전송 채널을 형성하거나, 멀티 레벨 변조방식의 하나인 DP-QPSK(Dual Polarization - Quadrature Phase Shift Keying)와 같이 하나의 심볼당 복수 개의 비트를 전송하는 방법을 사용하여 복수의 전송 채널을 형성할 수 있다. 예를 들어, 광 파장을 이용하여 전송 채널을 형성하는 경우 4개의 전송 채널을 형성하기 위해서 4개의 광 파장이 필요하다. 또한, 전송 경로를 이용하여 전송 채널을 형성하는 경우 4개의 전송 채널을 형성하기 위해서 4개의 전송 경로(예를 들어, 광 섬유, 광 케이블, 전기 케이블 등)가 필요하다. 또한, 멀티 레벨 변조방식의 하나인 DP-QPSK(Dual Polarization - Quadrature Phase Shift Keying)를 이용하여 전송 채널을 형성하는 경우 4개의 전송 채널을 형성하기 위해서 하나의 심볼당 4비트를 전송하는 방법을 이용한다.
다음, 도 1 내지 도 6을 참조하여 본 발명의 제1 실시 예에 따른 광 전달 망에서의 데이터 송신 방법 및 장치, 그리고 데이터 수신 방법 및 장치에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 제1 실시 예에 따른 광 전달 망에서의 송수신장치를 개략적으로 도시한 구조도이다. 또한, 도 2는 본 발명의 제1 실시 예에 따른 OTU를 개 략적으로 도시한 구조도이고, 도 3 및 도 4는 본 발명의 제1 실시 예에 따른 프레임의 일 예를 도시한 것이다.
도 1을 참조하면, 송신장치는 FEC 부호화부(110), 맵핑부(120) 및 송신부(130)를 포함한다.
FEC 부호화부(110)는 입력되는 ODU에 대한 FEC 부호화를 수행하여 ODU의 오류 정정을 위한 패리티 바이트들을 생성한다. 그리고, 도 2에 도시된 바와 같이 ODU와 ODU에 대한 FEC 부호화를 통해 생성된 패리티 바이트들을 포함하는 OTU를 생성하여 출력한다. 여기서, FEC 부호화부(110)는 FEC 부호화 방법으로 16채널의 RS(Reed Solomon)(255, 239) 부호화 방법을 사용할 수 있다.
도 2를 참조하면, ODUk(k=1,2,3)는 오버헤드(FA OH, OTUk OH) 및 페이로드(OTUk payload)를 포함하는 정보 데이터이며, ODUk를 오류 정정하기 위해서 FEC 부호화부(120)는 4x256 바이트의 패리티 바이트(parity bytes)들을 생성한다. 또한, FEC 부호화부(120)는 ODUk의 각 행(Row)에 256 바이트의 패리티 바이트들을 추가하여 OTUk(k=1,2,3,4)를 생성한다.
다시, 도 1을 보면, 맵핑부(120)는 정보 데이터와 패리티 바이트들을 포함하는 OTU를 16 바이트 단위의 블록으로 구분한다. 그리고, 이 블록들을 도 3에 도시된 바와 같이 복수의 가상 레인(virtual lane) 별로 맵핑하여 가상 프레임들을 생성한다. 한편, 본 발명의 제1 실시 예에서는 블록의 크기를 16 바이트 단위로 구분하는 경우를 예로 들어 설명하나, 본 발명은 블록의 크기를 8 바이트, 32 바이트 등으로 변경하는 것 또한 가능하다.
또한, 맵핑부(120)는 매 프레임 주기마다 복수의 가상 레인들 중 하나의 가상 레인에 프레임 할당 시퀀스(Frame Assignment Sequence, 이하 'FAS'라 칭함)를 할당한다. 여기서, FAS가 위치하는 가상 레인은 매 프레임 주기마다 순환되도록 선택되며, 선택된 가상 레인에 맵핑된 블록들 중 첫 번째 블록에 FAS가 할당된다. 도 4를 예로 들면, 가상 레인이 4개(Lane1 ~ Lane4)인 경우, 맵핑부(120)는 첫 번째 프레임 주기에서는 Lane1의 첫 번째 블록에 FAS를 할당한다. 그리고, 그 다음 프레임 주기에서는 Lane2의 첫 번째 블록에 FAS를 할당하고, 그 다음 프레임 주기에서는 Lane3의 첫 번째 블록에 FAS를 할당한다.
송신부(130)는 맵핑부(120)에서 복수의 가상 레인 각각에 해당하는 가상 프레임이 생성되면, 복수의 가상 프레임을 포함하는 전송 프레임을 생성한다. 그리고, 이를 하나 이상의 전송 채널을 통해 송신한다.
한편, 본 발명의 제1 실시 예에서 맵핑부(120)는 다음의 두 가지 방법으로 블록들을 맵핑할 수 있다.
우선, 첫 번째로 맵핑부(120)는 정보 데이터 및 패리티 바이트들을 16 바이트 단위의 블록들로 구분하고, 각 블록을 각 가상 레인에 순차적으로 할당하는 방법을 사용할 수 있다. 이 경우, 맵핑부(120)는 도 4에 도시된 바와 같이 16 바이트 단위로 구분된 블록들을 각 가상 레인(lane1 ~ lane4)에 순차적으로 할당한다.
두 번째로 맵핑부(120)는 연속되는 복수의 블록을 그룹핑한 그룹을 복수 개 생성하고, 각 그룹을 각 가상 레인에 맵핑하는 방법을 사용할 수 있다. 여기서, 생 성되는 그룹의 개수는 가상 레인의 개수와 동일하며, 하나의 그룹은 하나의 가상 레인에 맵핑된다. 한편, 이 경우 맵핑부(120)는 도 2에 도시된 바와 같이 4080 바이트(255 블록) 단위로 그룹핑을 수행하고, 4080 바이트 크기의 그룹들을 각 가상 레인(Lane1 ~ Lane4)에 맵핑한다. 따라서, 맵핑부(120)는 그룹핑하는 과정에서 각 그룹 별로 4080 바이트의 메모리를 필요로 하므로 첫 번째 방법에 비해 필요한 메모리 양이 늘어난다. 또한, 각 블록들을 복수의 그룹으로 그룹핑 한 다음에 다시 가상 레인 별로 맵핑 함으로써 상당한 지연이 발생하게 된다.
한편, 본 발명의 실시 예에서는 가상 레인이 4개인 경우를 예로 들어 설명하나, 본 발명은 가상 레인의 개수가 2개 이상인 경우에도 적용이 가능하다. 여기서, 가상 레인의 개수는 전송 채널의 개수에 따라 달라질 수 있으며, 전송 채널의 개수의 배수로 구현될 수 있다. 예를 들어, 전송 채널이 4개인 경우 가상 레인의 개수는 4, 8, 12, 16, 20, ... 등이 될 수 있다.
다시, 도 1을 보면, 수신장치는 수신부(210), 디맵핑부(220) 및 FEC 복호화부(230)를 포함한다.
수신부(210)는 하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 FAS를 이용하여 가상 레인 별로 가상 프레임을 검출한다. 그리고, 검출된 가상 프레임에서의 FAS 위치를 토대로 검출된 가상 프레임의 가상 레인 간의 지연을 보상하여 출력한다. 여기서, 송신장치가 데이터 송신 시 매 프레임 주기마다 FAS가 할당되는 가상 레인이 순환되도록 선택하고 선택된 가상 레인의 첫 번째 블록을 통해 FAS를 송신하므로, 수신부(210)는 FAS의 위치에 따라 각 가상 레인 별로 가상 프레임의 위치를 확인하는 것이 가능하다.
디맵핑부(220)는 수신부(210)에서 지연 보상되어 출력되는 각 가상 레인의 가상 프레임을 16바이트 단위의 블록으로 구분하고, 각 블록들을 디맵핑하여 정보 데이터와 패리티 바이트들을 포함하는 OTU 형태로 출력한다. 여기서, 본 발명의 제1 실시 예에서는 블록의 크기를 16 바이트 단위로 구분하는 경우를 예로 들어 설명하나, 본 발명은 블록의 크기를 8 바이트, 32 바이트 등으로 변경하는 것 또한 가능하다.
FEC 복호화부(230)는 디맵핑부(220)에서 디맵핑되어 출력되는 패리티 바이트들을 이용하여 FEC 복호화를 수행함으로써 정보 데이터에 대한 오류 정정을 수행한다. 그리고, 오류 정정된 정보 데이터들을 포함하는 ODU를 출력한다.
한편, 본 발명의 제1 실시 예에서는 FEC 복호화 방법으로 16채널의 RS(255, 239) 복호화 방법을 사용할 수 있다. 따라서, 모든 가상 레인에 대해 128바이트까지의 오류 정정이 가능하다.
도 5는 본 발명의 제1 실시 예에 따른 광 전달 망에서의 데이터 송신 방법을 도시한 흐름도이다.
도 5를 참조하면, 송신장치는 FEC 부호화부(110)를 통해 입력되는 정보 데이터에 대한 FEC 부호화를 수행함으로써 패리티 바이트들을 생성한다(S101). 그리고, 맵핑부(120)를 통해 정보 데이터와 패리티 바이트들을 포함하는 OTU를 복수의 블록으로 구분한다(S102). 또한, 각 블록들을 가상 레인들에 맵핑하여 각 가상 레인에 대한 가상 프레임을 생성한다(S103). 여기서, 가상 레인의 개수는 전송 채널 개수 의 배수로 설정되며, 맵핑 방법으로는 블록들을 각 가상 레인에 순차적으로 할당하는 방법 또는 연속되는 복수의 블록을 가상 레인의 개수만큼의 그룹으로 그룹핑 한 다음 각 그룹을 각 가상 레인에 맵핑하는 방법이 사용된다.
각 가상 레인의 가상 프레임이 생성되면, 송신장치는 송신부(130)를 통해 가상 프레임들을 포함하는 전송 프레임을 생성하고, 이를 하나 이상의 전송 채널을 통해 송신한다(S104). 이때, 송신부(130)는 하나의 가상 프레임은 하나의 전송 채널을 통해서만 송신한다.
도 6은 본 발명의 제1 실시 예에 따른 광 전달 망에서의 데이터 수신 방법을 도시한 흐름도이다.
도 6을 참조하면, 수신장치는 수신부(210)를 통해 수신되는 신호로부터 가상 레인 별 가상 프레임을 검출한다(S201). 그리고, 각 가상 레인 별로 검출된 가상 프레임의 지연을 보상하여 출력한다(S202). 여기서, 수신부(210)는 수신되는 신호에 포함된 FAS를 검출하고, 이를 이용하여 각 가상 레인에 해당하는 가상 프레임의 위치를 확인하여 가상 레인 간의 지연을 보상한다.
이후, 수신장치는 디맵핑부(220)를 통해 지연 보상되어 출력되는 각 가상 레인의 가상 프레임을 복수의 16 바이트 단위 블록으로 구분한다. 그리고, 각 블록들을 디맵핑함으로써 패리티 바이트들과 정보 데이터를 복원하고, 복원된 정보 데이터와 패리티 바이트들을 포함하는 OTU를 출력한다(S203).
이후, 수신장치는 FEC 복호화부(230)를 통해 OTU에 대한 FEC 복호화를 수행함으로써 정보 데이터에 대한 오류를 정정을 수행한다(S204). 그리고, 오류 정정된 정보 데이터를 포함하는 ODU를 출력한다.
전술한 바와 같이, 본 발명의 제1 실시 예에서는 정보 데이터와 패리티 바이트들을 모두 포함하는 OTU를 복수의 블록으로 구분하고, 각 블록을 복수의 가상 레인 별로 맵핑함으로써 각 가상 레인에 해당하는 가상 프레임을 생성한다. 그리고, 가상 프레임들을 포함하는 전송 프레임을 하나 이상의 전송 채널을 통해 송신한다.
이에 따라, 정보 데이터의 각 행에 해당하는 패리티 바이트들이 하나 이상의 가상 레인으로 구분되어 전송되고, 하나의 가상 레인에서 발생한 오류는 다른 가상 레인의 오류 정정 성능에 영향을 주게 된다. 예를 들어, n개의 가상 레인 중에서 하나의 가상 레인에서 어떤 외부 요인에 의해 한 프레임 주기로 8 바이트의 오류가 발생하는 경우, 나머지 가상 레인들에서는 120 바이트 이상의 버스트 오류가 발생하는 경우에는 오류 정정을 수행하지 못하게 된다.
또한, n개의 가상 레인이 존재하는 경우 n개의 가상 레인에서 128/n바이트 이상의 버스트 오류가 동시에 발생하는 경우에는 오류 정정 수행이 불가능해 진다. 예를 들어, 두 개의 가상 레인이 존재하는 경우 두 가상 레인에서 동시에 64 바이트 이상의 버스트 오류가 발생하는 경우에 대한 오류 정정 수행이 불가능하게 된다.
따라서, 본 발명의 제1 실시 예에 따른 송수신장치에서는 각 가상 레인의 오류 정정 성능이 가상 레인의 개수에 영향을 받으며, 이로 인해 송수신장치의 전체적인 오류 정정 성능이 저하되는 문제가 발생할 수 있다.
다음, 도 7 내지 도 17을 참조로 하여 본 발명의 제2 실시 예에 따른 광 전 달 망에서의 데이터 송신 방법 및 장치, 그리고 데이터 수신 방법 및 장치에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 7은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 송수신장치를 도시한 개략적인 블록도이다. 또한, 도 8 내지 도 10은 본 발명의 제2 실시 예에 따른 가상 레인 별 프레임의 일 예를 도시한 것이고, 도 11은 본 발명의 제2 실시 예에 따른 서브 프레임의 인터리빙 일 예를 도시한 것이다. 또한, 도 12는 본 발명의 제2 실시 예에 따른 연접된 BCH-BCH 부호화 방법을 사용하는 일 예를 도시한 것이고, 도 13 내지 도 15는 본 발명의 제2 실시 예에 따른 연접된 BCH-LDPC 부호화 방법을 사용하는 예들을 도시한 것이다.
도 7을 참조하면, 송신장치는 맵핑부(310), FEC 부호화부(320) 및 송신부(330)를 포함한다.
맵핑부(310)는 입력되는 정보 데이터를 16 바이트 단위의 블록으로 구분한다. 그리고, 블록들을 4개의 가상 레인들에 맵핑한다. 여기서, 정보 데이터는 ODU 형태로 입력될 수도 있고, OTU 형태로 입력될 수도 있다. 또한, 본 발명의 제2 실시 예에서는 블록의 크기를 16 바이트 단위로 구분하는 경우를 예로 들어 설명하나, 본 발명은 블록의 크기를 8 바이트, 32 바이트 등으로 변경하여 적용하는 것 또한 가능하다.
맵핑부(310)는 또한, 매 프레임 주기마다 FAS를 복수의 가상 레인들 중 하나에 할당한다. 여기서, FAS가 위치하는 가상 레인은 매 프레임 주기마다 순환되도록 선택된다. 또한, FAS는 선택된 가상 레인에 맵핑된 블록들 중 첫 번째 블록에 할당 된다. 도 8을 예로 들면, 가상 레인이 4개(Lane1 ~ Lane4)인 경우, 맵핑부(310)는 첫 번째 프레임 주기에서는 Lane1의 첫 번째 블록에 FAS를 할당한다. 그리고, 그 다음 프레임 주기에서는 Lane2의 첫 번째 블록에 FAS를 할당하고, 그 다음 프레임 주기에서는 Lane3의 첫 번째 블록에 FAS를 할당한다.
한편, 본 발명의 제2 실시 예에서 맵핑부(310)는 다음의 두 가지 방법으로 블록들을 맵핑할 수 있다.
우선, 첫 번째로 맵핑부(310)는 도 8에 도시된 바와 같이 정보 데이터를 16 바이트 단위의 블록들로 구분하고, 각 블록을 가상 레인들에 순차적으로 할당하는 방법을 사용할 수 있다.
두 번째로 맵핑부(310)는 도 9에 도시된 바와 같이 연속되는 복수의 블록을 그룹핑하여 복수의 그룹을 생성하고, 각 그룹을 대응하는 가상 레인에 맵핑하는 방법을 사용할 수 있다. 여기서, 그룹핑되는 그룹의 개수는 가상 레인의 개수와 동일하다. 이 경우 맵핑부(310)는 도 9에 도시된 바와 같이 3824 바이트(239 블록) 단위로 그룹핑을 수행하고, 3824 바이트 크기의 각 그룹들을 각 가상 레인(Lane1 ~ Lane4)에 맵핑한다. 따라서, 맵핑부(310)는 그룹핑하는 과정에서 각 그룹 별로 3824바이트의 메모리를 필요로 하므로 첫 번째 방법에 비해 필요한 메모리 양이 늘어난다. 또한, 각 블록들을 복수의 그룹으로 그룹핑 한 다음에 다시 가상 레인 별로 맵핑 함으로써 상당한 지연이 발생하게 된다.
한편, 본 발명의 제2 실시 예에서는 가상 레인이 4개인 경우를 예로 들어 설명하나, 본 발명은 가상 레인의 개수가 2개 이상인 경우에도 적용이 가능하다. 여 기서, 가상 레인의 개수는 전송 채널의 개수에 따라 달라질 수 있으며, 전송 채널의 개수의 배수로 구현될 수 있다. 예를 들어 4개의 전송 채널로 구성되어 있다면 가상 레인 개수는 4, 8, 12, 16, 20, ... 등이 될 수 있다.
FEC 부호화부(320)는 각 가상 레인에 대한 FEC 부호화를 수행하여 패리티 바이트들을 생성한다. 그리고, 생성된 패리티 바이트들을 대응하는 가상 레인의 정보 데이터 이후에 위치시킴으로써 각 가상 레인에 해당하는 가상 프레임을 출력한다.
한편, 본 발명의 제2 실시 예에서 FEC 부호화부(320)는 FEC 부호화 방법으로 16채널의 RS(255, 239) 부호화 방법, 연접된 BCH(Boss-Chaudhuri-Hocquenghen)-BCH 부호화 방법, 연접된 BCH-LDPC(Low-Density Parity-Check code) 부호화 방법 등을 사용하는 것이 가능하다.
우선, 16채널의 RS(255, 239) 부호화 방법을 사용하는 경우, 각 RS(255, 239) 채널은 16 바이트의 패리티 바이트를 생성한다. 따라서, FEC 부호화부(320)는 16채널의 RS(255, 239)를 통해 256 바이트의 패리티 바이트들을 생성하고, 도 8에 도시된 바와 같이 3824 바이트의 정보 데이터와 256 바이트의 패리티 바이트들을 포함하는 4080 바이트 크기의 가상 프레임을 생성한다.
여기서, 각 RS(255, 239) 채널은 최대 8바이트의 오류 정정 성능을 제공하며, 연속된 16채널의 RS(255, 239)를 통해서는 128 바이트의 오류 정정 성능을 제공한다. 따라서, 각 가상 레인 별로 생성된 패리티 바이트는 해당하는 가상 레인에서 발생한 최대 128 바이트의 오류에 대한 오류 정정 성능을 제공한다.
한편, 연접된 BCH-BCH 부호화 방법을 사용하는 경우에 FEC 부호화부(320)는 각 가상 레인 별로 8채널의 BCH(3908, 3824), 인터리빙(interleaving) 및 16채널의 BCH(2042, 1954)를 수행한다.
연접된 BCH-BCH 부호화 방법에서, 각 BCH(3908, 3824) 채널은 84 비트의 패리티 비트를 생성하고 7비트의 오류 정정 성능을 제공하므로 총 8채널의 BCH(3908, 3824)는 총 84바이트의 패리티 바이트를 생성하고 7바이트의 오류 정정 성능을 제공한다. 또한, 각 BCH(2042, 1954) 채널은 88 비트의 패리티 비트를 생성하며 8 비트의 오류 정정 성능을 제공하므로 총 16채널의 BCH(2042, 1954)는 총 176 바이트의 패리티 바이트를 생성하며 16바이트의 오류 정정 성능을 제공한다. 따라서, 연접된 BCH에 의해서 각 가상 레인에 대해 총 260(=84 + 176) 바이트의 패리티 바이트가 생성된다.
한편, FEC 부호화부(320)는 8채널의 BCH(3908, 3824)를 통해 생성된 84 바이트의 패리티 바이트를 도 10에 도시된 바와 대응하는 가상 레인의 3824 바이트의 정보 데이터 이후 즉, 3825 열부터 3908 열까지 배치한다. 이후, FEC 부호화부(320)는 각 가상 레인에 대해 연접된 BCH 간의 오류 정정 성능을 향상 시키기 위해 각 가상 레인에 포함된 서브 프레임(subframe)을 인터리빙 한다. 즉, 각 가상 레인은 4084 바이트 단위의 서브 프레임들을 포함하며, FEC 부호화부(320)는 이러한 4084 바이트 단위의 서브 프레임들을 인터리빙하여 배치한다.
도 11은 이러한 인터리빙의 일 예를 도시한 것으로서, 인터리빙을 위해 FEC 부호화부(320)는 우선, 전술한 바와 같이 8채널의 외부 BCH(3908, 3824) 부호화를 통해 84 바이트의 패리티 바이트가 생성되면, 이를 3824 바이트의 정보 데이터 이 후인 3825 열부터 3908 열에 배치한다. 또한 16채널의 내부 BCH(2042, 1954) 부호화를 통해 생성되는 176 바이트의 패리티 바이트를 배치하기 위해 3909 열부터 4084 열까지의 값을 0으로 채운다. 이와 같이 배치된 1 열부터 4084 열까지의 데이터 집합을 하나의 서브프레임이라 한다.
한편, FEC 부호화부(320)는 4084 바이트에 해당하는 4084 열로 구성된 서브프레임을 4 바이트 단위의 1021개의 심볼로 구분한다. 그리고, 도 9에 도시된 바와 같이 가상 레인 별로 입력되는 8개의 서브 프레임에서 순차적으로 하나의 심볼을 선택하여 배치하는 방법으로 인터리빙을 수행한다. 즉, #n-7번째부터 #n번째까지의 서브 프레임이 존재하는 경우, #n번째 서브 프레임의 첫 번째 심볼을 인터리브된 서브 프레임(interleaved subframe)의 첫 번째 심볼로 선택한다. 다음에는, #n-1번째의 서브 프레임의 두 번째 심볼을 인터리브된 서브 프레임의 두 번째 심볼로 선택한다. 이러한 방법으로, FEC 부호화부(320)는 #n번째부터 #n-7번째의 서브 프레임으로부터 선택된 각각의 심볼을 순차적으로 인터리브된 서브 프레임에 배치하는 방법으로 인터리빙을 수행한다. 이러한 방법으로 8 개의 서브 프레임에서 심볼 하나씩을 순차적으로 선택하여 최종적으로 4084 바이트 열의 인터리브된 서브 프레임을 생성할 수 있다.
한편, 전술한 인터리빙 방법은 후술하는 연접된 BCH-LDPC 부호화 방법에도 적용이 가능하다. 예를 들어, 16채널의 BCH(2000, 1912)에 의해서는 4000 바이트 열로 구성된 서브 프레임이 만들어진다. 따라서, 하나의 서브 프레임은 16 바이트 단위의 250개의 심볼로 구분되며, FEC 부호화부(320)는 전술한 바와 같이 8개의 서 브 프레임에서 순차적으로 선택된 심볼을 인터리브된 서브 프레임에 배치하는 방법으로 인터리빙을 수행하는 것이 가능하다.
인터리빙 이후, FEC 부호화부(320)는 16채널의 BCH(2042, 1954)를 통해 176 바이트의 패리티 바이트를 생성하고, 이를 도 12에 도시된 바와 같이 대응하는 가상 레인의 3908 바이트의 데이터 이후에 배치한다. 따라서 각 가상 레인의 가상 프레임은 3824 바이트의 정보 데이터 이외에 260 바이트의 패리티 바이트를 더 포함하여 총 4084 바이트의 데이터를 포함한다.
한편, 연접된 BCH-LDPC 부호화 방법을 사용하는 경우 FEC 부호화부(320)는 다음 세 가지 방법으로 부호화를 수행한다.
우선, 첫 번째 연접된 BCH-LDPC 부호화 방법을 사용하는 경우, FEC 부호화부(320)는 각 가상 레인에 대해 16채널의 BCH(2000, 1912), 인터리빙 및 8채널의 LDPC(19200, 16000)을 수행한다.
여기서, 각 BCH(2000, 1912) 채널은 88 비트의 패리티 비트를 생성하고 8 비트의 오류 정정 성능을 제공한다. 따라서, 16채널의 BCH(2000, 1912)는 모두 176 (=64 x 88 bits) 바이트의 패리티 바이트를 생성하고 16 바이트의 오류 정정 성능을 제공한다.
또한, 각 LDPC(19200, 16000) 채널은 5 비트의 정보 데이터에 1 비트가 추가된 6 비트의 부호화된 데이터를 생성한다. 따라서, 각 가상 레인에 대해 각 LDPC(19200, 16000) 채널은 총 16000 비트의 정보 데이트 외에 3200 비트의 리던던시(redundancy) 비트를 생성한다. 따라서, 8채널의 LDPC(19200, 16000)에 의해서는 모두 3200 바이트의 리던던시 바이트가 추가된다. 이에 따라, 첫 번째 연접된 BCH-LDPC 부호화 방법을 사용하는 FEC 부호화부(320)는 연접된 BCH-LDPC를 통해서 각 가상 레인의 정보 데이터 외에 3376 (=176 + 3200) 바이트의 리던던시(redundancy) 바이트를 생성한다.
한편, FEC 부호화부(120)는 각 가상 레인에 대해 16채널의 BCH(2000, 1912)를 수행하여 생성한 176 바이트의 패리티 바이트를 도 13의 (a)에 도시된 바와 같이 대응하는 가상 레인의 3824 바이트의 정보 데이터 이후에 배치함으로써, 4000 바이트의 외부 프레임(Outer Frame)을 생성한다. 그리고, 도 13의 (b)에 도시된 바와 같이 각 가상 레인별로 생성된 외부 프레임 간에 데이터를 인터리빙한 후, 인터리빙된 4개의 외부 프레임을 한 그룹으로 그룹핑한다. 이때, 그룹화된 외부 프레임 이후에는 값이 0인 3200 바이트가 배치된다. 그리고, 도 13의 (c)에 도시된 바와 같이 각 가상 레인 별로 하나의 그룹으로 그룹핑된 4개의 외부 프레임에 대한 8채널의 LDPC(19200, 16000)를 통해 19200 바이트의 부호화된 바이트를 생성하고, 이렇게 부호화된 바이트를 4개의 외부 프레임 위치 및 그룹화된 외부 프레임 이후의 3200 바이트에 배치함으로써 가상 레인 별로 총 19200 바이트의 가상 프레임을 생성한다.
두 번째 연접된 BCH-LDPC 부호화 방법을 사용하는 경우, FEC 부호화부(320)는 각 가상 레인 별로 16채널의 BCH(2000, 1912) 및 인터리빙을 수행하고 가상 레인 전체에 대해서 8채널의 LDPC(76800, 64000)을 수행한다.
각 가상 레인에 대한 16채널의 BCH(2000, 1912)는 전술한 바와 같이 모두 176(=64 x 88 bits) 바이트의 패리티 바이트를 생성하고 16 바이트의 오류 정정 성능을 제공한다. 또한, 가상 레인 전체에 대한 각 LDPC(76800, 64000) 채널은 5 비트의 정보 데이터에 1 비트가 추가된 6 비트의 부호화된 데이터를 생성한다. 가상 레인 전체에서 내부 프레임(inner Frame)에 사용되는 정보 데이트는 64000 바이트(16000 x 4)이므로 8채널의 LDPC(76800, 64000)에 의해서는 모두 12800 바이트의 리던던시(redundancy) 바이트가 추가된다. 이에 따라, 두 번째 연접된 BCH-LDPC 방법에 의해서는 각 가상 레인 별로 정보 데이터 이외에 모두 3376(=176 + 12800/4) 바이트의 리던던시(redundancy) 바이트가 생성된다.
한편, FEC 부호화부(120)는 각 가상 레인 별로 16채널의 BCH(2000, 1912)를 통해 생성된 176 바이트의 패리티 바이트를 도 14의 (a)에 도시된 바와 같이 대응하는 가상 레인의 3824 바이트의 정보 데이터 이후에 배치함으로써, 4000 바이트의 외부 프레임(Outer Frame)을 생성한다. 그리고, 도 14의 (b)에 도시된 바와 같이 각 가상 레인 별로 생성된 외부 프레임 간에 데이터를 인터리빙한 후, 모든 가상 레인에 인터리빙된 4개의 외부 프레임을 한 그룹으로 그룹핑한다. 따라서, 도 14의 (b)에서는 4개의 가상 레인 각각에 대해 4개의 외부 프레임을 하나의 그룹으로 그룹핑 하여 배치함으로써 전체 가상 레인에 대해서는 모두 16개의 외부 프레임이 하나의 정보 데이터로 취급된다. 또한, 도 14의 (c)에 도시된 바와 같이 하나의 그룹으로 그룹핑된 16개의 외부 프레임을 8채널의 LDPC(76800, 64000)를 통해 부호화하여 모두 12800바이트의 리던던시(redundancy) 바이트를 추가함으로써 가상 레인 별로 총 19200 바이트의 가상 프레임을 생성한다.
세 번째 연접된 BCH-LDPC 부호화 방법을 사용하는 경우, FEC 부호화부(320)는 각 가상 레인 별로 16채널의 BCH(2000, 1912) 및 인터리빙을 수행하고, 가상 레인 전체에 대해서 8채널의 LDPC(153600, 128000)을 수행한다.
각 가상 레인에 대한 16채널의 BCH(2000, 1912)는 전술한 바와 같이 176 (=64 x 88 bits) 바이트의 패리티 바이트를 생성하고 16 바이트의 오류 정정 성능을 제공한다. 또한, 가상 레인 전체에 대한 각 LDPC(153600, 128000) 채널은 5 비트의 정보 데이터에 1 비트가 추가된 6 비트의 부호화된 데이터를 생성한다. 가상 레인 전체에서 내부 프레임(inner Frame)에 사용되는 정보 데이트는 128000 바이트(32000 x 4)이므로, 8채널의 LDPC(153600, 128000)에 의해서는 모두 25600 바이트의 리던던시(redundancy) 바이트가 추가된다. 이에 따라, 세 번째 연접된 BCH-LDPC 부호화 방법에 의해서는 정보 데이터 외에 모두 6576 (=176 + 12800/4) 바이트의 리던던시(redundancy) 바이트가 생성된다.
한편, FEC 부호화부(120)는 각 가상 레인 별로 16채널의 BCH(2000, 1912)를 수행하여 생성된 176 바이트의 패리티 바이트를 도 15의 (a)에 도시된 바와 같이 대응하는 가상 레인의 3824 바이트의 정보 데이터 이후에 배치함으로써, 4000 바이트의 외부 프레임(Outer Frame)을 생성한다. 그리고, 도 15의 (b)에 도시된 바와 같이 각 가상 레인 별로 생성된 외부 프레임 간에 데이터를 인터리빙한 후, 모든 가상 레인에 인터리빙된 8개의 외부 프레임을 한 그룹으로 그룹핑한다. 따라서, 도 15의 (b)에 도시된 바와 같이 4개의 가상 레인 각각에 대응되는 8개의 외부 프레임을 하나의 그룹으로 그룹핑 즉, 모두 32개의 외부 프레임을 하나의 그룹으로 그룹 핑하여 하나의 정보 데이터로 취급한다. 또한, 도 15의 (c)에 도시된 바와 같이 하나의 그룹으로 그룹핑된 32개의 외부 프레임에 대한 8채널의 LDPC(153600, 128000)를 수행하여 25600 바이트의 리던던시(redundancy) 바이트를 추가함으로써 각 가상 레인에 대해 모두 38400 바이트의 가상 프레임을 생성한다.
송신부(330)는 복수의 가상 레인 각각에 대해 생성된 복수의 가상 프레임을 포함하는 전송 프레임을 생성하고, 이를 하나 이상의 전송 채널을 통해 송신한다. 여기서, 가상 레인의 개수는 전송 채널의 개수의 배수로 존재하므로, 하나의 전송 채널을 통해 하나 이상의 가상 레인의 가상 프레임이 송신되며, 이에 따라 하나의 가상 레인에 할당된 패리티 바이트는 하나의 전송 채널을 통해 송신된다.
따라서, 각 전송 채널은 다른 전송 채널과 독립적으로 오류 정정을 수행하는 것이 가능하여 각 전송 채널의 오류 정정 성능은 기존의 방법과는 달리 다른 전송 채널에서 발생한 오류에 영향을 받지 않아 전체적인 오류 정정 성능을 향상시키는 효과가 있다. 예를 들어, 가상 레인과 전송 채널의 개수가 모두 4개인 경우, 16채널의 RS(255, 239) 부호화 방법을 사용하면 각 전송 채널 별로 총 128바이트까지의 오류 정정이 가능하며, 전체 전송 채널을 통해 총 512(=128ㅧ4)바이트의 오류 정정이 가능하다. 또한, 가상 레인과 전송 채널의 개수가 각각 4개, 1개인 경우, 하나의 전송 채널에서 총 512(=128ㅧ4)바이트의 오류 정정이 가능하다.
다시, 도 7을 참조하면, 수신 장치는 수신부(410), FEC 복호화부(420) 및 디맵핑부(430)를 포함한다.
수신부(410)는 하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 FAS를 이용하여 가상 레인 별로 가상 프레임을 검출한다. 그리고, 검출된 가상 프레임에서의 FAS 위치를 토대로 검출된 가상 프레임의 가상 레인 간의 지연을 보상하여 출력한다. 여기서, 송신장치가 데이터 송신 시 매 프레임 주기마다 FAS가 할당되는 가상 레인이 순환되도록 선택하고, 선택된 가상 레인의 첫 번째 블록을 통해 FAS를 송신하므로 수신부(410)는 FAS의 위치에 따라 각 가상 레인 별 가상 프레임의 위치를 확인하는 것이 가능하다.
FEC 복호화부(420)는 지연 보상된 가상 프레임에 포함된 패리티 바이트들를 이용하여 각 가상 레인에 대한 독립적인 FEC 복호화를 수행함으로써 각 가상 레인 별로 오류 정정을 수행하고, 각 가상 레인 별로 오류 정정된 정보 데이터를 출력한다.
한편, 본 발명의 제2 실시 예에서는 FEC 복호화 방법으로 16채널의 RS(255, 239) 복호화 방법, 연접된 8채널의 BCH(3908, 3824) - 16채널의 BCH(2042, 1954) 복호화 방법 또는 연접된 64채널의 BCH(2000, 1912) - 8채널의 LDPC(19200, 16000) 복호화 방법 등을 사용할 수 있다. 따라서, 각 가상 레인 별로 오류 정정이 가능하다.
디맵핑부(430)는 가상 레인 별로 오류 정정되어 출력되는 정보 데이터를 16바이트 단위의 블록으로 구분하고, 각 블록들을 디맵핑하여 ODU 형태로 출력한다.
도 16은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 데이터 송신 방법을 도시한 흐름도이다.
도 16을 참조하면, 송신장치는 맵핑부(310)를 통해 입력되는 정보 데이터를 16 바이트 단위의 블록으로 구분한다(S301). 그리고, 각 블록들을 복수의 가상 레인 별로 맵핑한다(S302). 여기서, 맵핑부(310)는 블록들을 순차적으로 가상 레인들에 할당하는 방법 또는 연속되는 복수의 블록을 가상 레인의 개수만큼의 그룹으로 그룹핑 한 다음 각 그룹을 가상 레인 별로 맵핑하는 방법으로 블록들을 맵핑할 수 있다.
이후, 송신장치는 FEC 부호화부(320)를 통해 각 가상 레인 별로 독립적인 FEC 부호화를 수행하여 패리티 바이트들을 생성한다(S303). 그리고, 각 가상 레인 별로 정보 데이터와 패리티 바이트들을 포함하는 가상 프레임을 생성한다.
그리고, 송신부(330)를 통해 각 가상 레인 별로 생성된 가상 프레임들을 포함하는 전송 프레임을 생성하고, 이를 하나 이상의 전송 채널을 통해 송신한다(S304). 여기서, 송신부(330)는 하나 이상의 가상 레인의 가상 프레임을 하나의 전송 채널을 통해 송신한다.
도 17은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 데이터 수신 방법을 도시한 흐름도이다.
도 17을 참조하면, 수신장치는 수신부(410)를 통해 수신되는 신호로부터 가상 레인 별 가상 프레임을 검출하고(S401), 각 가상 레인 별로 가상 프레임의 지연을 보상하여 출력한다(S402). 여기서, 수신부(210)는 수신되는 신호에 포함된 FAS를 검출하고, 이를 이용하여 각 가상 레인 별로 대응하는 가상 프레임의 위치를 확인하여 가상 레인 간의 지연을 보상한다.
이후, 수신장치는 FEC 복호화부(420)를 통해 가상 레인 별로 FEC 복호화를 수행하여 오류 정정을 수행하고(S403), 각 가상 레인 별로 오류 정정 된 정보 데이터를 출력한다.
그리고, 디맵핑부(430)를 통해 가상 레인 별로 오류 정정된 정보 데이터를 16바이트 단위의 블록으로 구분하고, 각 블록들을 디맵핑하여 ODU 형태로 출력한다(S404).
전술한 바와 같이, 본 발명의 제2 실시 예에서는 전송 채널의 배수에 해당하는 가상 레인 별로 독립적으로 FEC 부호화를 수행하고, 하나의 가상 레인의 패리티 바이트는 하나의 전송 채널을 통해 전송한다. 이에 따라, 수신장치에서는 각 전송 채널 별로 독립적인 패리티 바이트를 수신하게 되고, 기존의 방법과는 달리 다른 전송 채널에서 발생한 오류에 영향을 받지 않는 독립적인 오류 정정이 가능하다. 따라서, 하나의 전송 채널을 제외한 나머지 모든 전송 채널에서 1E-4 정도의 상당량의 오류가 발생하더라도, 하나의 전송 채널에서는 이와 상관없이 최대 128바이트의 버스트 오류를 정정하는 것이 가능하므로 멀티 전송 채널에서 병렬 전송을 수행하는 경우에 최적화된 송수신장치를 제공하는 것이 가능하다.
또한, 각 전송 채널 별로 독립적으로 오류 정정 개수를 수집하는 것이 가능하여 전송 채널 별로 성능을 감시하는 것이 가능하다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 제1 실시 예에 따른 광 전달 망에서의 송수신장치를 도시한 개략적인 블록도이다.
도 2는 본 발명의 제1 실시 예에 따른 OTU를 개략적으로 도시한 구조도이다.
도 3 및 도 4는 본 발명의 제1 실시 예에 따른 프레임의 일 예를 도시한 구조도이다.
도 5는 본 발명의 제1 실시 예에 따른 광 전달 망에서의 데이터 송신 방법을 도시한 흐름도이다.
도 6은 본 발명의 제1 실시 예에 따른 광 전달 망에서의 데이터 수신 방법을 도시한 흐름도이다.
도 7은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 송수신장치를 도시한 개략적인 블록도이다.
도 8 내지 도 10은 본 발명의 제2 실시 예에 따른 가상 레인 별 프레임의 일 예를 도시한 것이다.
도 11은 본 발명의 제2 실시 예에 따른 서브 프레임의 인터리빙 일 예를 도시한 것이다.
도 12는 본 발명의 제2 실시 예에 따른 연접된 BCH-BCH 부호화 방법을 사용하는 일 예를 도시한 것이다.
도 13 내지 도 15는 본 발명의 제2 실시 예에 따른 연접된 BCH-LDPC 부호화 방법을 사용하는 예들을 도시한 것이다.
도 16은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 데이터 송신 방법을 도시한 흐름도이다.
도 17은 본 발명의 제2 실시 예에 따른 광 전달 망에서의 데이터 수신 방법을 도시한 흐름도이다.

Claims (18)

  1. 광 전달 망에서 송신장치가 데이터를 송신하는 방법에 있어서,
    입력되는 정보 데이터에 대한 순방향 오류 정정 부호화를 수행하여 패리티 바이트들을 생성하는 단계;
    상기 정보 데이터 및 상기 패리티 바이트들을 복수의 블록들로 구분하는 단계;
    상기 복수의 블록을 복수의 가상 레인에 매핑하여, 상기 복수의 가상 레인에 각각 대응하는 복수의 가상 프레임을 포함하는 프레임을 생성하는 단계; 및
    상기 프레임을 하나 이상의 전송 채널을 통해 송신하는 단계
    를 포함하는 송신 방법.
  2. 제1항에 있어서,
    상기 프레임을 생성하는 단계는,
    상기 복수의 블록들을 상기 복수의 가상 레인에 순차적으로 맵핑하는 단계
    를 포함하는 송신 방법.
  3. 제1항에 있어서,
    상기 프레임을 생성하는 단계는,
    상기 복수의 블록들을 복수의 그룹으로 그룹핑하는 단계; 및
    상기 복수의 그룹 각각을 상기 복수의 가상 레인 중에서 대응하는 가상 레인에 맵핑하는 단계
    를 포함하는 송신 방법.
  4. 제1항에 있어서,
    상기 프레임을 생성하는 단계는,
    상기 복수의 가상 레인 중에서 제1 가상 레인의 상기 가상 프레임에 현재 프레임 주기의 프레임 할당 시퀀스를 할당하는 단계
    를 포함하며,
    상기 제1 가상 레인은 이전 프레임 주기에 프레임 할당 시퀀스가 할당된 제2 가상 레인과 다른 송신 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 복수의 가상 레인의 개수는 상기 전송 채널의 개수에 의해 결정되며,
    각 가상 프레임은 상기 하나 이상의 전송 채널 중 하나의 전송 채널을 통해서만 전송되는 송신 방법.
  6. 광 전달 망에서 수신장치가 데이터를 수신하는 방법에 있어서,
    하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 프레임 할당 시퀀스를 이용하여 복수의 가상 레인에 각각 대응하는 복수의 가상 프레임을 검출하는 단 계;
    상기 복수의 가상 프레임을 복수의 블록으로 구분하는 단계;
    상기 복수의 블록을 디맵핑하여 정보 데이터 및 패리티 바이트들을 생성하는 단계;
    상기 패리티 바이트들을 토대로 상기 정보 데이터에 대한 오류 정정을 수행하는 단계; 및
    오류 정정된 상기 정보 데이터를 토대로 광 데이터 전송 유닛을 생성하는 단계
    를 포함하는 수신 방법.
  7. 제6항에 있어서,
    상기 복수의 가상 프레임을 검출하는 단계는,
    상기 복수의 가상 프레임 중에서 상기 프레임 할당 시퀀스를 포함하는 가상 프레임을 토대로 상기 복수의 가상 레인 간의 가상 프레임 지연을 보상하는 단계
    를 포함하는 수신 방법.
  8. 광 전달 망에서 송신장치가 데이터를 송신하는 방법에 있어서,
    입력되는 정보 데이터를 복수의 블록들로 구분하는 단계;
    상기 복수의 블록들을 복수의 가상 레인에 맵핑하는 단계;
    상기 복수의 가상 레인에 대해서 순방향 오류 정정 부호화를 수행하여 상기 복수의 가상 레인 각각에 대한 패리티 바이트들을 생성하는 단계;
    상기 복수의 가상 레인 각각에 대해 상기 복수의 블록 중 대응하는 블록들과 대응하는 상기 패리티 바이트들을 포함하는 가상 프레임을 생성하는 단계; 및
    하나 이상의 전송 채널을 통해 상기 복수의 가상 레인 별로 생성된 복수의 상기 가상 프레임을 송신하는 단계
    를 포함하는 송신 방법.
  9. 제8항에 있어서,
    상기 맵핑하는 단계는,
    상기 복수의 블록들을 상기 복수의 가상 레인에 순차적으로 맵핑하는 단계
    를 포함하는 송신 방법.
  10. 제8항에 있어서,
    상기 맵핑하는 단계는,
    상기 복수의 블록들을 복수의 그룹으로 그룹핑하는 단계; 및
    상기 복수의 그룹 각각을 상기 복수의 가상 레인 중에서 대응하는 가상 레인에 맵핑하는 단계
    를 포함하는 송신 방법.
  11. 제8항에 있어서,
    상기 맵핑하는 단계는,
    상기 복수의 가상 레인 중에서 제1 가상 레인과 다른 제2 가상 레인을 선택하는 단계; 및
    상기 제2 가상 레인의 상기 가상 프레임에 맵핑된 상기 블록들 중 첫 번째 블록에 프레임 할당 시퀀스를 할당하는 단계
    를 포함하며,
    상기 제1 가상 레인은 이전 프레임에서 프레임 할당 시퀀스가 할당된 가상 레인인 송신 방법.
  12. 제8항에 있어서,
    상기 패리티 바이트들을 생성하는 단계는,
    상기 복수의 가상 레인 각각에 대해 부호화를 수행하여 상기 패리티 바이트들을 생성하는 단계
    를 포함하며,
    상기 부호화는 RS(Reed-Soloman) 부호화, 연접된 BCH(Boss-Chaudhuri-Hocquenghen)-BCH 부호화 및 BCH-LDPC(Low-Density Parity-Check code) 부호화 중 적어도 하나의 부호화를 포함하는 송신 방법.
  13. 제8항에 있어서,
    상기 패리티 바이트들을 생성하는 단계는,
    상기 복수의 가상 레인 각각에 대해 BCH(Boss-Chaudhuri-Hocquenghen) 부호화를 수행하여 제1 패리티 바이트들을 생성하는 단계;
    상기 복수의 가상 레인에 대응하는 상기 제1 패리티 바이트들과 상기 정보 데이터를 그룹핑하여 복수의 외부 프레임을 생성하는 단계; 및
    상기 복수의 외부 프레임에 대해 LDPC(Low-Density Parity-Check code) 부호화를 수행하여 제2 패리티 바이트들을 생성하는 단계
    를 포함하는 송신 방법
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    상기 복수의 가상 레인의 개수는 상기 전송 채널의 개수에 의해 결정되는 송신 방법.
  15. 제14항에 있어서,
    상기 송신하는 단계는,
    하나의 전송 채널을 통해 상기 복수의 가상 레인 중 하나 이상의 가상 레인의 상기 가상 프레임을 송신하는 단계
    를 포함하는 송신 방법.
  16. 광 전달 망에서 수신장치가 데이터를 수신하는 방법에 있어서,
    하나 이상의 전송 채널을 통해 수신되는 신호에 포함된 프레임 할당 시퀀스 를 검출하는 단계;
    상기 프레임 할당 시퀀스를 이용하여 복수의 가상 레인 별로 정보 데이터 및 패리티 바이트들을 포함하는 가상 프레임을 검출하는 단계;
    상기 패리티 바이트들을 토대로 상기 복수의 가상 레인 각각에 대한 순방향 오류 정정 복호화를 수행하여 상기 정보 데이터에 대한 오류 정정을 수행하는 단계; 및
    오류 정정된 상기 정보 데이터를 디맵핑하여 광 데이터 전송 유닛을 출력하는 단계
    를 포함하는 수신 방법.
  17. 제16항에 있어서,
    상기 프레임 할당 시퀀스의 위치를 토대로 상기 복수의 가상 레인 각각에 대응하는 상기 가상 프레임의 지연을 보상하는 단계
    를 더 포함하는 수신 방법.
  18. 제16항에 있어서,
    상기 광 데이터 전송 유닛을 출력하는 단계는,
    오류 정정된 상기 정보 데이터를 복수의 블록들로 구분하는 단계; 및
    상기 복수의 블록들을 디맵핑하여 상기 광 데이터 전송 유닛을 출력하는 단계
    를 포함하는 수신 방법.
KR1020090100915A 2009-05-19 2009-10-22 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법 KR101310899B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/781,953 US8473820B2 (en) 2009-05-19 2010-05-18 Apparatus and method for transmitting and receiving data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090043318 2009-05-19
KR1020090043318 2009-05-19

Publications (2)

Publication Number Publication Date
KR20100124650A true KR20100124650A (ko) 2010-11-29
KR101310899B1 KR101310899B1 (ko) 2013-09-25

Family

ID=43408823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090100915A KR101310899B1 (ko) 2009-05-19 2009-10-22 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법

Country Status (1)

Country Link
KR (1) KR101310899B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129750A1 (ko) * 2012-03-02 2013-09-06 엘에스산전(주) 통신 장치 및 통신 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300138A (ja) 2001-03-30 2002-10-11 Nec Corp パラレル信号エラー監視方法及びその装置
KR100552674B1 (ko) 2003-12-09 2006-02-20 한국전자통신연구원 병렬 리드솔로몬 부호화 장치
KR20090024623A (ko) * 2007-09-04 2009-03-09 한국전자통신연구원 고속 무선 통신을 위한 프레임 구성 방법 및 이를 이용한 고속 무선 통신 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129750A1 (ko) * 2012-03-02 2013-09-06 엘에스산전(주) 통신 장치 및 통신 방법
US10044469B2 (en) 2012-03-02 2018-08-07 Lsis Co., Ltd. Communication device and communication method

Also Published As

Publication number Publication date
KR101310899B1 (ko) 2013-09-25

Similar Documents

Publication Publication Date Title
US8495475B2 (en) FEC frame structuring device and FEC frame structuring method
US8205141B2 (en) Virtual lane forward error correction in multilane distribution
EP2256973B1 (en) Error correcting device and error correcting method
JP5894257B2 (ja) マルチレーン伝送システム及びその帯域変更方法
JP4382124B2 (ja) 誤り訂正符号化装置及び誤り訂正復号装置
US8473820B2 (en) Apparatus and method for transmitting and receiving data
EP2351231B1 (en) Continuously interleaved error correction
US8954827B2 (en) Method and apparatus for transmitting data in optical transport network
US9356625B2 (en) Frame generation method, optical transmission device, and optical transmission system
US7953095B2 (en) Transmission system and transmission method
JP2011223454A (ja) マルチレーン伝送方法及びシステム
US9787431B2 (en) Apparatus and method for forward error correction over a communication channel
KR101310899B1 (ko) 데이터 송신장치 및 방법 그리고, 데이터 수신장치 및 방법
US9166739B2 (en) Error correction processing circuit and error correction processing method
JP5944811B2 (ja) デジタルコヒーレント光伝送方法、送信装置及び受信装置
JP2012186521A (ja) 光通信システム
US20130080852A1 (en) Error correcting method, error correcting apparatus, sending device, receiving device, and error correcting program
KR101257069B1 (ko) 광 전달 망에서 데이터 송신 방법 및 장치
KR20110032590A (ko) 오류 정정 부호화 및 복호화가 수행되는 광 전송장치 및 그 방법
WO2016114109A1 (ja) 送信回路、受信回路、光伝送システムおよびマルチフレームの送信方法

Legal Events

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

Payment date: 20160826

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 7