KR102109589B1 - 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법 - Google Patents

고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법 Download PDF

Info

Publication number
KR102109589B1
KR102109589B1 KR1020180128772A KR20180128772A KR102109589B1 KR 102109589 B1 KR102109589 B1 KR 102109589B1 KR 1020180128772 A KR1020180128772 A KR 1020180128772A KR 20180128772 A KR20180128772 A KR 20180128772A KR 102109589 B1 KR102109589 B1 KR 102109589B1
Authority
KR
South Korea
Prior art keywords
overhead
code
minimization
bits
data
Prior art date
Application number
KR1020180128772A
Other languages
English (en)
Other versions
KR20200046938A (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 KR1020180128772A priority Critical patent/KR102109589B1/ko
Publication of KR20200046938A publication Critical patent/KR20200046938A/ko
Application granted granted Critical
Publication of KR102109589B1 publication Critical patent/KR102109589B1/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/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/31Coding, 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 coding for error detection or correction and efficient use of the spectrum

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법 및 장치가 제시된다. 본 발명에서 제안하는 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법은 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 단계, 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 단계 및 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 단계를 포함한다.

Description

고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법{Overhead minimized coding technique and hardware implementation method including transmission/reception error correction technique for high-speed serial interface}
본 발명은 제안된 고속직렬인터페이스용 오류 정정기법이 포함된 오버헤드최소화 코딩기법과 하드웨어 구현 방법 및 장치에 관한 것이다.
최근 광통신, 디지털 비디오 방송 및 메모리, 데이터 저장 시스템의 데이터 전송에 있어서, 전송 중에 발생하는 다수의 오류를 찾고 정정할 수 있는 순방향 오류 정정 기술에 리드-솔로몬(RS: Reed-Solomon) 부호와 BCH 부호가 널리 사용되고 있다.
순방향 오류 정정 기술은 원 신호에 원 신호의 모양에 대한 정보를 담고 있는 패리티(parity)라 불리는 부가적인 정보를 삽입한 후 전송하여, 원 신호와 패리티에 담긴 정보를 토대로 일정량의 오류를 수신단에서 정정하는 오류 제어 기술이다.
BCH 부호를 나타내는 전형적인 형태는 BCH(n,k,t)이다. n은 원 데이터와 패리티 전체를 포함한 부호화되는 전체 부호어(codeword) 심볼(symbol)의 수이고, t는 부호어 중에 정정할 수 있는 최대 오류 심볼의 수를 의미하며, k는 실제 데이터의 심볼 수를 의미한다. 일반적으로 BCH 부호라 하면 각 심볼이 1비트(bit)로 이루어진 바이너리(binary) BCH 부호를 의미한다.
DWDM(Dense-Wavelength Division Multiplexing) 기술을 이용한 광대역 장거리 광통신 시스템 분야에서는 전송거리가 짧게는 수백 km에서 길게는 수천 km에 이르며 데이터 처리량 또한 100Gb/s에 이르고 있다. 이러한 광대역 장거리 광통신 시스템에서는 전송 중에 많은 양의 데이터가 전송 경로의 채널환경에 따라 변형되며 오류를 일으킨다. 전송 중에 발생하는 오류의 양을 경감시키기 위해서 현재까지는 8 바이트(byte) 오류정정 RS(255,239,8) 부호가 국제통신연합(ITU-T)에 의해 표준 순방향 오류 정정 기술로 채택되어 광통신 시스템의 필수 요소로 자리잡게 되었다. 그러나 RS(255,239,8) 부호만으로는 장거리 광통신 시스템이 필요로 하는 코딩이 성능을 만족하지 못하는 문제점이 있다.
제안된 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드 최소화 코딩기법은 데이터 전송 시, 오버헤드를 최소화하여 데이터 전송 효율을 극대화하는 패킷 단위의 코딩기법이다.
본 발명이 이루고자 하는 기술적 과제는 오버헤드를 최소화하며, 한 패킷당 최소 한번의 천이를 보장하여, 클럭이 내장된 데이터 전송으로 클럭 복원을 가능하게 함으로써 데이터 전송 효율을 극대화하는 패킷 단위의 코딩 방법 및 장치를 제공하는데 있다.
일 측면에 있어서, 본 발명에서 제안하는 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법은 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 단계, 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 단계 및 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 단계를 포함한다.
모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 단계는 N-bits의 입력(
Figure 112018105946480-pat00001
)이 들어올 경우, MSB 1bit로 반전 여부를 판단하여, MSB가 1이면, LSB (N-1)-bits의 반전된 값을, 0이면 LSB (N-1)-bits값을
Figure 112018105946480-pat00002
라고 하면,
Figure 112018105946480-pat00003
Figure 112018105946480-pat00004
-bits 크기의
Figure 112018105946480-pat00005
를 생성하고, 상기
Figure 112018105946480-pat00006
Figure 112018105946480-pat00007
-bits 크기
Figure 112018105946480-pat00008
에 저장하고, 상기
Figure 112018105946480-pat00009
을 생성하여
Figure 112018105946480-pat00010
에 저장하는 단계를
Figure 112018105946480-pat00011
번 반복한다.
Figure 112018105946480-pat00012
의 LSB bit부터 MSB bit까지 0인 bit가 적어도 하나 이상 존재하고, 0의 위치의 값이
Figure 112018105946480-pat00013
인 경우
Figure 112018105946480-pat00014
는 1번째부터
Figure 112018105946480-pat00015
까지의 모든 데이터
Figure 112018105946480-pat00016
에 대해
Figure 112018105946480-pat00017
Figure 112018105946480-pat00018
이고,
Figure 112018105946480-pat00019
로 적어도 한번의 천이를 보장하는
Figure 112018105946480-pat00020
를 얻고, 사용 가능한
Figure 112018105946480-pat00021
의 값 중 하나를 오버헤드 최소화 코드로 선택한다.
오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 단계는 채널에서 오버헤드 코드 워드에 잡음오류가 생길 때,
Figure 112018105946480-pat00022
개의 데이터 모두 손실됨을 방지하고, 리드-솔로몬 코드(n, k)는 총 n개의 심볼(Symbol)로 k개의 메시지 심볼(Message Symbol)과 n-k개의 패리티 심볼(Parity Symbol)을 가지며, (n-k)/2개 심볼의 오류 정정능력을 갖는다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 장치는 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 오버헤드 최소화 코드 생성부, 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬 부호화하는 오류 정정부 및 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 데이터 처리부를 포함한다.
오버헤드 최소화 코드 생성부는 N-비트 크기의
Figure 112018105946480-pat00023
개의 데이터로부터 적어도 한번의 천이를 보장하는 오버헤드 최소화 코드를 생성한다.
오류 정정부는 리드-솔로몬 부호화기(Reed-Solomon Encoder)를 통해 오류정정을 가능하도록 부호화하고, 부호화된 데이터를 입력 받아 리드-솔로몬 복호화기(Reed-Solomon Decoder)를 통해 오버헤드 최소화 코드의 오류를 정정 및 복호한다.
본 발명의 실시예들에 따른 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩기법은 오버헤드를 최소화하며, 한 패킷당 최소 한번의 천이를 보장하여, 클럭이 내장된 데이터 전송으로 클럭 복원을 가능하게 함으로써 데이터 전송 효율을 극대화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 오버헤드 최소화 코딩 부호기 구조를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 오버헤드 최소화 코딩 복호기 구조를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 오버헤드 최소화 코드 생성부의 구조를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 오류 정정기능 시뮬레이션 결과를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 오류 정정기능이 포함된 오버헤드최소화 코딩기법 시뮬레이션 결과를 나타내는 도면이다.
제안된 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드 최소화 코딩기법은 데이터 전송 시, 오버헤드를 최소화하여 데이터 전송 효율을 극대화하는 패킷 단위의 코딩기법이다. 이는 오버헤드를 최소화하며, 한 패킷당 최소 한번의 천이를 보장하여, 클럭이 내장된 데이터 전송으로 클럭 복원을 가능하게 하는 코딩기법이다. 이 코딩기법은 오버헤드 코드 워드를 찾는 과정, 오류 정정기법 부호화 하는 과정, 데이터 부호화 과정으로 나누어 진다. 오버헤드 코드 워드를 찾는 과정은 일정 수의 모든 패킷과 XOR연산을 했을 때, 적어도 한번의 천이를 보장하도록 하는 특정 코드 워드를 찾는 과정이다. 오류 정정기법 부호화는 오버헤드 코드 워드 전송시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 과정이다. 데이터 부호화 방법은 오버헤드 코드 워드를 이용해 데이터를 부호화 하는 과정이다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법을 설명하기 위한 흐름도이다.
제안하는 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 방법은 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 단계(110), 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 단계(120) 및 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 단계(130)를 포함한다.
단계(110)에서, 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는다.
제안하는 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 장치는 오버헤드 최소화 코드 생성부, 오류 정정부, 데이터 처리부를 포함한다.
오버헤드 최소화 코드 생성부는 모든 패킷과 XOR연산을 했을 때 적어도 한번의 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는다.
오류 정정부는 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬 부호화를 수행한다.
데이터 처리부는 오버헤드 코드 워드를 이용하여 데이터를 부호화 한다.
제안하는 오류 정정기법이 포함된 오버헤드최소화 코딩기법의 부호기와 복호기의 구조는 각각 도 2와 도 3과 같다.
도 2는 본 발명의 일 실시예에 따른 오버헤드 최소화 코딩 부호기 구조를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 오버헤드 최소화 코딩 복호기 구조를 나타내는 도면이다.
오버헤드 최소화 코드(Overhead Minimized Code; OM Code) 생성부는 N-bits 크기의
Figure 112018105946480-pat00024
개의 데이터로부터 최소 한번의 천이를 보장하는 OM 코드를 생성한다. 생성된 OM 코드는 리드-솔로몬 부호화기(Reed-Solomon Encoder)를 통해 오류정정을 가능하도록 부호화 하고, 데이터 입력은 OM 코드가 xor연산을 통해 부호화한다. 복호기는 부호화된 데이터를 입력 받아 리드-솔로몬 복호화기(Reed-Solomon Decoder)를 통해 OM 코드를 오류정정 및 복호하고, 데이터는 OM 코드와 xor연산을 통해 복호화한다. 부호화기는
Figure 112018105946480-pat00025
개의 부호화된 데이터마다 RS부호화된 OM 코드를 출력한다. 복호화기는 RS복호화된 하나의 OM 코드를 이용해
Figure 112018105946480-pat00026
의 부호화된 데이터를 복호한다.
한 패킷당 최소 한번의 천이를 보장하는 오버헤드최소화 코딩기법의 기본원리는 다음과 같다. N비트 크기의
Figure 112018105946480-pat00027
,
Figure 112018105946480-pat00028
,
Figure 112018105946480-pat00029
에 대해
Figure 112018105946480-pat00030
일 때,
Figure 112018105946480-pat00031
Figure 112018105946480-pat00032
이면
Figure 112018105946480-pat00033
Figure 112018105946480-pat00034
이다(
Figure 112018105946480-pat00035
). 즉,
Figure 112018105946480-pat00036
의 성분이 모두 '0'이거나 '1'이면,
Figure 112018105946480-pat00037
Figure 112018105946480-pat00038
는 동일 하거나 보수 관계이다. 위 원리를 역으로 이용하면,
Figure 112018105946480-pat00039
이고
Figure 112018105946480-pat00040
의 관계인
Figure 112018105946480-pat00041
Figure 112018105946480-pat00042
를 XOR 연산하면 N비트 크기의 한 패킷에서 최소 한번의 천이를 보장하는
Figure 112018105946480-pat00043
를 얻을 수 있다. N-bits 크기의
Figure 112018105946480-pat00044
개의 데이터 입력을 xor연산 했을 때 최소 한번의 천이를 보장 하게하는 OM 코드를 찾는 알고리즘은 아래와 같으며 제안하는 OM 코드 생성부의 구조는 도 4와 같다.
도 4는 본 발명의 일 실시예에 따른 오버헤드 최소화 코드 생성부의 구조를 나타내는 도면이다.
N-bits의 입력(
Figure 112018105946480-pat00045
)이 들어올 경우, MSB 1bit로 반전 여부를 판단하여, MSB가 1이면, LSB (N-1)-bits의 반전된 값을, 0이면 LSB (N-1)-bits값을
Figure 112018105946480-pat00046
라고 하면,
Figure 112018105946480-pat00047
Figure 112018105946480-pat00048
-bits 크기의
Figure 112018105946480-pat00049
를 생성한다.
Figure 112018105946480-pat00050
Figure 112018105946480-pat00051
-bits 크기
Figure 112018105946480-pat00052
에 저장한다.(
Figure 112018105946480-pat00053
) (1)~(2)의 동작을
Figure 112018105946480-pat00054
번 반복한다.
Figure 112018105946480-pat00055
의 LSB bit부터 MSB bit까지 0인 bit가 최소 한 개 존재한다. 0의 위치의 값이
Figure 112018105946480-pat00056
인 경우
Figure 112018105946480-pat00057
는 1번째부터
Figure 112018105946480-pat00058
까지의 모든 데이터
Figure 112018105946480-pat00059
에 대해
Figure 112018105946480-pat00060
Figure 112018105946480-pat00061
이다.
Figure 112018105946480-pat00062
로 최소 한번의 천이를 보장하는
Figure 112018105946480-pat00063
를 얻는다. 이 때 사용 가능한 C의 값 중 하나를 OM 코드로 선택한다.
다음으로, 단계(120)에서, 오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화를 수행한다.
오류 정정기법은 리드-솔로몬 부호(Reed-Solomon Code)를 사용한다. 이는 채널에서 OM 코드에 잡음오류가 생길 때,
Figure 112018105946480-pat00064
개의 데이터 모두 손실됨을 방지하기 위해 존재한다. RS 코드(n, k)는 총 n개의 심볼(Symbol)로 k개의 메시지 심볼(Message Symbol)과 n-k개의 패리티 심볼(Parity Symbol)을 가지며, (n-k)/2개 심볼의 오류 정정능력을 갖는다. 제안하는 구조에서 OM 코드를 오류 정정기법 복/부호화하여 채널에서의 오류를 방지한다.
마지막으로, 단계(130)에서, 오버헤드 코드 워드를 이용하여 데이터를 부호화를 수행한다.
도 5는 본 발명의 일 실시예에 따른 오류 정정기능 시뮬레이션 결과를 나타내는 도면이다.
제안하는 오류정정 기능이 포함된 오버헤드최소화 코딩기법은 Verilog HDL로 설계하였으며 Xilinx Vivado 2017.5로 시뮬레이션을 진행하였다. 채널오류를 정정하여 복호화 되는 것을 확인하기 위해서 가상의 오류를 생성하여, RS(7, 3)부호화, 복호화를 확인하였다. Figure 4는 가상의 채널오류를 구성한 오류정정기능 확인 시뮬레이션 파형이다. 오류가 생긴 RS부호화된 데이터를 오류 정정하는 것을 확인했다. Figure 5는 오류 정정기능이 포함된 오버헤드최소화 코딩기법 시뮬레이션 결과이다. 이는 한 패킷을 6-bits길이로 설계하였다. 데이터 소스에 임의의 데이터를 인가하여, 오류정정기능이 포함된 오버헤드최소화 코딩이 부호화 되어, 올바르게 복호화 되는 것을 확인하였다.
도 6은 본 발명의 일 실시예에 따른 오류 정정기능이 포함된 오버헤드최소화 코딩기법 시뮬레이션 결과를 나타내는 도면이다.
제안된 오류정정기능이 포함된 오버헤드소화 코딩기법은 오버헤드비율을 현저히 감소시키고 클럭을 내장하여, 고속직렬인터페이스에서의 데이터전송효율을 높일 수 있다. 또한 복호화에 필요한 OM 코드에 오류 정정기능을 추가하여 채널 잡음에 의한 오류를 정정할 수 있다. 이러한 장점들로 기존 디스플레이포트, HDMI, 화면 내부 인터페이스 등에 사용되는 블록코딩을 대체할 수 있으며, 같은 속도의 데이터전송에서 더 많은 데이터를 송수신 할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 입력되는 데이터의 모든 패킷에 대하여 XOR연산을 수행했을 때, 모든 패킷의 XOR연산 결과에 대해 한 패킷당 적어도 한번의 상태 천이를 보장하도록 하는 오버헤드 코드 워드를 찾아 오버헤드 최소화 코드를 선택하는 단계;
    오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위해 오버헤드 코드 워드 중 오버헤드최소화 코드에 대한 리드-솔로몬(Reed-Solomon) 부호화 단계; 및
    적어도 한번의 상태 천이가 보장되고, 오버헤드최소화 코드에 대해 리드-솔로몬 부호화가 수행된 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 단계
    를 포함하는 오버헤드최소화 코딩 방법.
  2. 제1항에 있어서,
    모든 패킷과 XOR연산을 했을 때 적어도 한번의 상태 천이를 보장하도록 하는 오버헤드 코드 워드를 찾는 단계는,
    N-bits의 입력(
    Figure 112020004769710-pat00106
    )이 들어올 경우, MSB 1bit로 반전 여부를 판단하여, MSB가 1이면, (N-1)-bits의 반전된 값을, 0이면 (N-1)-bits값을
    Figure 112020004769710-pat00107
    라고 하면,
    Figure 112020004769710-pat00108
    Figure 112020004769710-pat00109
    -bits 크기의
    Figure 112020004769710-pat00110
    를 생성하고, 상기
    Figure 112020004769710-pat00111
    Figure 112020004769710-pat00112
    -bits 크기
    Figure 112020004769710-pat00113
    에 저장하고, 상기
    Figure 112020004769710-pat00114
    을 생성하여
    Figure 112020004769710-pat00115
    에 저장하는 단계를
    Figure 112020004769710-pat00116
    번 반복하는
    오버헤드최소화 코딩 방법.
  3. 제2항에 있어서,
    Figure 112020004769710-pat00117
    의 LSB bit부터 MSB bit까지 0인 bit가 적어도 하나 이상 존재하고, 0의 위치의 값이
    Figure 112020004769710-pat00118
    인 경우
    Figure 112020004769710-pat00119
    는 1번째부터
    Figure 112020004769710-pat00120
    까지의 모든 데이터
    Figure 112020004769710-pat00121
    에 대해
    Figure 112020004769710-pat00122
    Figure 112020004769710-pat00123
    이고,
    Figure 112020004769710-pat00124
    로 적어도 한번의 상태 천이를 보장하는
    Figure 112020004769710-pat00125
    를 얻고, 사용 가능한
    Figure 112020004769710-pat00126
    의 값 중 하나를 오버헤드 최소화 코드로 선택하는
    오버헤드최소화 코딩 방법.
  4. 제2항에 있어서,
    오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위한 리드-솔로몬(Reed-Solomon) 부호화 단계는,
    채널에서 오버헤드 코드 워드에 잡음오류가 생길 때, N-bits 크기의
    Figure 112020004769710-pat00127
    개의 데이터 모두 손실됨을 방지하고(여기서, N은 비트의 크기를 나타냄), 리드-솔로몬 코드(n, k)는 총 n개의 심볼(Symbol)로 k개의 메시지 심볼(Message Symbol)과 n-k개의 패리티 심볼(Parity Symbol)을 가지며, (n-k)/2개 심볼의 오류 정정능력을 갖는
    오버헤드최소화 코딩 방법.
  5. 입력되는 데이터의 모든 패킷에 대하여 XOR연산을 수행했을 때, 모든 패킷의 XOR연산 결과에 대해 한 패킷당 적어도 한번의 상태 천이를 보장하도록 하는 오버헤드 코드 워드를 찾아 오버헤드 최소화 코드를 선택하는 오버헤드 최소화 코드 생성부;
    오버헤드 코드 워드 전송 시에 삽입될 수 있는 오류를 정정하기 위해 오버헤드 코드 워드 중 오버헤드최소화 코드에 대한 리드-솔로몬 부호화하는 오류 정정부; 및
    적어도 한번의 상태 천이가 보장되고, 오버헤드최소화 코드에 대해 리드-솔로몬 부호화가 수행된 오버헤드 코드 워드를 이용하여 데이터를 부호화 하는 데이터 처리부
    를 포함하는 오버헤드최소화 코딩 장치.
  6. 제5항에 있어서,
    오버헤드 최소화 코드 생성부는,
    N-bits의 입력(
    Figure 112020004769710-pat00128
    )이 들어올 경우, MSB 1bit로 반전 여부를 판단하여, MSB가 1이면, (N-1)-bits의 반전된 값을, 0이면 (N-1)-bits값을
    Figure 112020004769710-pat00129
    라고 하면,
    Figure 112020004769710-pat00130
    Figure 112020004769710-pat00131
    -bits 크기의
    Figure 112020004769710-pat00132
    를 생성하고, 상기
    Figure 112020004769710-pat00133
    Figure 112020004769710-pat00134
    -bits 크기
    Figure 112020004769710-pat00135
    에 저장하고, 상기
    Figure 112020004769710-pat00136
    을 생성하여
    Figure 112020004769710-pat00137
    에 저장하는 과정을
    Figure 112020004769710-pat00138
    번 반복하고,
    Figure 112020004769710-pat00139
    의 LSB bit부터 MSB bit까지 0인 bit가 적어도 하나 이상 존재하고, 0의 위치의 값이
    Figure 112020004769710-pat00140
    인 경우
    Figure 112020004769710-pat00141
    는 1번째부터
    Figure 112020004769710-pat00142
    까지의 모든 데이터
    Figure 112020004769710-pat00143
    에 대해
    Figure 112020004769710-pat00144
    Figure 112020004769710-pat00145
    이고,
    Figure 112020004769710-pat00146
    로 적어도 한번의 상태 천이를 보장하는
    Figure 112020004769710-pat00147
    를 얻고, 사용 가능한
    Figure 112020004769710-pat00148
    의 값 중 하나를 오버헤드 최소화 코드로 선택하며,
    N-bits 크기의
    Figure 112020004769710-pat00149
    개의 데이터로부터(여기서, N은 비트의 크기를 나타냄) 적어도 한번의 상태 천이를 보장하는 오버헤드 최소화 코드를 생성하는
    오버헤드최소화 코딩 장치.
  7. 제5항에 있어서,
    오류 정정부는,
    오류정정이 가능하도록 오버헤드 코드 워드 중 오버헤드최소화 코드에 대한 리드-솔로몬 부호화를 수행하고, 부호화된 오버헤드 최소화 코드의 오류를 정정 및 복호화 하는
    오버헤드최소화 코딩 장치.
KR1020180128772A 2018-10-26 2018-10-26 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법 KR102109589B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180128772A KR102109589B1 (ko) 2018-10-26 2018-10-26 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180128772A KR102109589B1 (ko) 2018-10-26 2018-10-26 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법

Publications (2)

Publication Number Publication Date
KR20200046938A KR20200046938A (ko) 2020-05-07
KR102109589B1 true KR102109589B1 (ko) 2020-05-12

Family

ID=70679343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180128772A KR102109589B1 (ko) 2018-10-26 2018-10-26 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법

Country Status (1)

Country Link
KR (1) KR102109589B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102401812B1 (ko) 2020-12-21 2022-05-25 넥스트랩주식회사 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767018B1 (ko) 2013-09-27 2017-08-09 인텔 코포레이션 비휘발성 메모리에서의 오류 정정
US20180181324A1 (en) 2016-12-26 2018-06-28 EMC IP Holding Company LLC Data protection with erasure coding and xor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767018B1 (ko) 2013-09-27 2017-08-09 인텔 코포레이션 비휘발성 메모리에서의 오류 정정
US20180181324A1 (en) 2016-12-26 2018-06-28 EMC IP Holding Company LLC Data protection with erasure coding and xor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102401812B1 (ko) 2020-12-21 2022-05-25 넥스트랩주식회사 로봇제어를 위한 고속 시리얼 인터페이스 장치 및 그 인터페이스 방법

Also Published As

Publication number Publication date
KR20200046938A (ko) 2020-05-07

Similar Documents

Publication Publication Date Title
US9985658B2 (en) Decoding of product codes
US9088300B1 (en) Cyclic redundancy check for out-of-order codewords
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
KR101451338B1 (ko) 인코딩 및 디코딩 프로세스들을 위해 심볼들의 영속적 비활성화에 의한 fec 코드들을 활용하는 방법 및 장치
JP6415557B2 (ja) 積符号のための誤りおよび消失組合せ復号のためのシステム、方法、およびコンピュータ・プログラム
US9542265B2 (en) Unequal error protection scheme for headerized sub data sets
JP2006135980A (ja) 連結された反復型と代数型の符号化
WO2008003094A2 (en) Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
CN101779379B (zh) 使用通用级联码(gcc)进行编码和解码
JP2013523043A (ja) ソースデータセットの完全性を識別及び保護する方法
JP2008005419A (ja) 情報処理装置および情報処理方法
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
US8365053B2 (en) Encoding and decoding data using store and exclusive or operations
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
KR102109589B1 (ko) 고속직렬인터페이스용 송수신 오류 정정기법이 포함된 오버헤드최소화 코딩 기법과 하드웨어 구현 방법
US9252815B2 (en) Extension of product codes with applications to tape and parallel channels
KR101874537B1 (ko) 극 부호의 병렬 복호화 방법 및 장치
US20210175908A1 (en) Method and device for decoding staircase code, and storage medium
EP1497926B1 (en) Diversity scheme for error control coding in a system with prioritized data
JP2010033181A (ja) エラー訂正回路、および半導体メモリシステム
KR102370903B1 (ko) 인터리빙 깊이를 조절하기 위한 장치 및 방법
KR101728567B1 (ko) 병렬 처리 복호화 장치 및 방법
JP2009152781A (ja) エラー訂正回路
JP2011078115A (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant