KR20200140419A - 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법 - Google Patents

크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법 Download PDF

Info

Publication number
KR20200140419A
KR20200140419A KR1020190066425A KR20190066425A KR20200140419A KR 20200140419 A KR20200140419 A KR 20200140419A KR 1020190066425 A KR1020190066425 A KR 1020190066425A KR 20190066425 A KR20190066425 A KR 20190066425A KR 20200140419 A KR20200140419 A KR 20200140419A
Authority
KR
South Korea
Prior art keywords
data
transmission
data transmission
divided
state
Prior art date
Application number
KR1020190066425A
Other languages
English (en)
Inventor
홍도선
정승규
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190066425A priority Critical patent/KR20200140419A/ko
Priority to CN201911395452.3A priority patent/CN112054882B/zh
Priority to US16/731,461 priority patent/US11005599B2/en
Publication of KR20200140419A publication Critical patent/KR20200140419A/ko

Links

Images

Classifications

    • 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/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/32Reducing cross-talk, e.g. by compensating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1822Automatic repetition systems, e.g. Van Duuren systems involving configuration of automatic repeat request [ARQ] with parallel processes
    • 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
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for 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/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)

Abstract

데이터 전송 시스템은, 데이터 송신부로부터의 N(N은 2 이상의 자연수)비트의 전송 데이터를 N개의 데이터 전송라인들을 통해 병렬로 데이터 수신부로 전송하는 데이터 전송 시스템으로서, 데이터 수신부는 수신된 전송 데이터에 에러가 발생된 경우 데이터 송신부로 재전송 요청 신호를 전송하도록 구성되고, 데이터 송신부는 재전송 요청 신호에 응답하여 전송 데이터를 분할하여 분할된 전송 데이터가 제1 그라운드 데이터와 함께 재전송되는 1차 데이터 재전송 모드로 동작하도록 구성된다.

Description

크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법{Data transmission system and data transmission method of supressing data error by crosstalk}
본 개시의 여러 실시예들은 데이터 전송 시스템 및 데이터 전송 방법에 관한 것으로서, 보다 상세하게는 크로스토크(crosstalk)로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법이다.
전자장치는 많은 전자 구성요소를 포함하고 있고, 그 중 반도체로 구성된 많은 전자 구성요소들을 포함할 수 있다. 전자장치를 구성하는 반도체 장치들 사이로의 데이터 전송은 데이터 전송 시스템을 통해 이루어질 수 있다. 최근 전자장치의 동작 속도가 현저하게 증가함에 따라, 데이터 전송 시스템을 통한 데이터 전송 과정에서의 에러 발생 빈도도 증가하고 있다. 이와 같은 데이터 전송 에러는 여러 가지 원인들에 의해 발생할 수 있는데, 그 중 하나는 데이터 전송 라인들 사이의 크로스토크(crosstalk)이다. 즉 어느 한 데이터 전송 라인을 통해 전송되는 데이터가 물리적으로 인접하는 다른 데이터 전송 라인으로부터 발생되는 전자기 에너지(electromagnetic energy)에 영향을 받아 데이터 전송 과정에서의 에러가 발생될 수 있다.
본 출원이 해결하고자 하는 과제는, 물리적으로 인접한 데이터 전송 라인들 사이의 크로스토크에 의한 데이터 에러 발생을 억제할 수 있도록 하는 데이터 전송 시스템 및 데이터 전송 방법을 제공하는 것이다.
본 개시의 일 예에 따른 데이터 전송 시스템은, 데이터 송신부로부터의 N(N은 2 이상의 자연수)비트의 전송 데이터를 N개의 데이터 전송라인들을 통해 병렬로 데이터 수신부로 전송한다. 상기 데이터 수신부는, 수신된 전송 데이터에 에러가 발생된 경우 데이터 송신부로 재전송 요청 신호를 전송하도록 구성된다. 그리고 상기 데이터 송신부는, 재전송 요청 신호에 응답하여 전송 데이터를 분할하여 분할된 전송 데이터가 제1 그라운드 데이터와 함께 재전송되는 제1 데이터 재전송 모드로 동작하도록 구성된다.
본 개시의 일 예에 따른 데이터 전송 방법은, 데이터 송신부로부터의 N(N은 2 이상의 자연수)비트의 전송 데이터를 N개의 데이터 전송라인들을 통해 병렬로 데이터 수신부로 전송하는 단계와, 데이터 수신부로 수신된 전송 데이터에 에러가 발생된 경우 재전송 요청 신호를 데이터 송신부로 전송하는 단계와, 그리고 재전송 요청 신호에 응답하여 데이터 송신부로부터 전송 데이터를 분할하여 분할된 전송 데이터가 제1 그라운드 데이터와 함께 데이터 수신부로 재전송되는 제1 데이터 재전송 동작을 수행하는 단계를 포함한다.
여러 실시예들에 따르면, 전송된 데이터의 에러 발생 여부에 따라 전송 데이터를 분할하여, 그라운드 데이터와 분할된 전송 데이터를 함께 전송함으로써, 크로스토크에 의한 데이터 에러 발생을 억제할 수 있다는 이점이 제공된다.
도 1은 본 개시에 따른 데이터 전송 시스템의 일 예를 나타내 보인 블록도이다.
도 2는 도 1의 데이터 전송 시스템의 데이터 송신부를 구성하는 제1 FSM 컨트롤러의 동작의 일 예를 설명하기 위해 나타내 보인 상태도이다.
도 3은 도 1의 데이터 전송 시스템의 데이터 수신부를 구성하는 제2 FSM 컨트롤러의 동작의 일 예를 설명하기 위해 나타내 보인 상태도이다.
도 4는 본 개시에 따른 데이터 전송 방법의 일 예를 설명하기 위해 나타내 보인 플로챠트이다.
도 5 내지 도 7은 본 개시에 따른 데이터 전송 시스템의 정상 전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다.
도 8은 본 개시에 따른 데이터 전송 시스템의 정상 전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다.
도 9 내지 도 12는 본 개시에 따른 데이터 전송 시스템의 1차 데이터 재전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다.
도 13은 본 개시에 따른 데이터 전송 시스템의 1차 데이터 재전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다.
도 14 내지 도 18은 본 개시에 따른 데이터 전송 시스템의 2차 데이터 재전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다.
도 19는 본 개시에 따른 데이터 전송 시스템의 2차 데이터 재전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다.
본 출원의 예의 기재에서 "제1" 및 "제2"와 같은 기재는 부재를 구분하기 위한 것이며, 부재 자체를 한정하거나 특정한 순서를 의미하는 것으로 사용된 것은 아니다. 또한, 어느 부재의 "상"에 위치하거나 "상부", "하부", 또는 "측면"에 위치한다는 기재는 상대적인 위치 관계를 의미하는 것이지 그 부재에 직접 접촉하거나 또는 사이 계면에 다른 부재가 더 도입되는 특정한 경우를 한정하는 것은 아니다. 또한, 어느 한 구성 요소가 다른 구성 요소에 "연결되어 있다"거나 "접속되어 있다"의 기재는, 다른 구성 요소에 전기적 또는 기계적으로 직접 연결되어 있거나 또는 접속되어 있을 수 있으며, 또는, 중간에 다른 별도의 구성 요소들이 개재되어 연결 관계 또는 접속 관계를 구성할 수도 있다.
도 1은 본 개시에 따른 데이터 전송 시스템(10)의 일 예를 나타내 보인 블록도이다. 도 1을 참조하면, 데이터 전송 시스템(10)은, 데이터 송신부(100)와, 데이터 수신부(200)와, 그리고 N(N은 2 이상의 자연수)개, 예컨대 8개의 데이터 전송 라인들(311-318)을 포함하여 구성될 수 있다. 데이터 전송 시스템(10)은, 유효 신호 전송 라인(321)과, 수신 완료 신호 전송 라인(331)과, 그리고 재전송 요청 신호 전송 라인(332)을 더 포함하여 구성될 수 있다. 데이터 송신부(100)로부터 데이터 수신부(200)로의 데이터 전송은, 정상 전송 모드로 수행된 후에 일정 조건에서 데이터 재전송 모드, 예컨대 1차 데이터 재전송 모드 및 2차 데이터 재전송 모드로 수행될 수 있다. 정상 전송 모드는, 초기(initial) 데이터 전송이 수행되는 모드로 정의될 수 있다. 1차 데이터 재전송 모드는, 정상 전송 모드에서 전송된 전송 데이터에 에러가 발생되어 전송 데이터의 1차 재전송이 수행되는 모드로 정의될 수 있다. 그리고 2차 데이터 재전송 모드는, 1차 데이터 재전송 모드에서 재전송된 재전송 데이터에 에러가 발생되어 전송 데이터의 2차 재전송이 수행되는 모드로 정의될 수 있다. 본 예에서는 데이터 재전송 모드로서 1차 및 2차 데이터 재전송 모드만을 포함하고 있지만, 이는 단지 하나의 예로서 더 많은 데이터 재전송 모드들을 포함할 수도 있다.
데이터 전송 라인들(311-318) 각각을 통해 전송 데이터 각각의 비트값이 전송되거나, 또는 전송 데이터로부터 복수개로 분할된 전송 데이터들 각각의 비트값 및 그라운드 데이터가 전송된다. 구체적으로 정상 전송 모드에서, 전송 데이터의 각각의 비트값이 데이터 전송 라인들(311-318) 각각을 통해 전송된다. 1차 데이터 재전송 모드에서, 전송 데이터는 제1 및 제2 분할 전송 데이터로 분할된다. 제1 및 제2 분할 전송 데이터의 각각의 비트값은 제1 그라운드 데이터와 함께 데이터 전송 라인들(311-318) 각각을 통해 전송된다. 이때 제1 그라운드 데이터는, 제1 및 제2 분할 전송 데이터의 각각의 비트값이 전송되는 전송 라인들 사이의 전송 라인을 통해 전송된다. 2차 데이터 재전송 모드에서, 전송 데이터는 제1 내지 제4 추가 분할 전송 데이터로 분할된다. 제1 내지 제4 추가 분할 데이터의 각각의 비트값은 제2 그라운드 데이터들과 함께 데이터 전송 라인들(311-318) 각각을 통해 전송된다. 이때 제2 그라운드 데이터들은, 제1 및 제2 추가 분할 전송 데이터의 각각의 비트값이 전송되는 전송 라인들 사이의 전송 라인들을 통해 전송된다.
유효 신호 전송 라인(321)은, 전송 데이터의 전송 상태를 데이터 수신부(200)에 알려주는 유효 신호(V)가 전송되는 신호 라인이다. 일 예에서 데이터 송신부(100)로부터 데이터 전송 라인들(311-318)을 통해 데이터 전송이 이루어지지 않는 동안, 제1 레벨, 예컨대 "0"의 바이너리 비트값을 갖는 유효 신호(V)가 유효 신호 전송 라인(321)을 통해 데이터 수신부(200)로 전송된다. 반면에 데이터 송신부(100)로부터 데이터 전송 라인들(311-318)을 통해 전송 데이터가 전송되는 동안, 제2 레벨, 예컨대 "1"의 바이너리 비트값을 갖는 유효 신호(V)가 유효 신호 전송 라인(321)을 통해 데이터 수신부(200)로 전송된다. 1차 데이터 재전송 모드에서는, 제1 및 제2 분할 전송 데이터와 제1 그라운드 데이터가 데이터 전송 라인들(311-318)을 통해 전송되는 동안, "1"의 바이너리 비트값을 갖는 유효 신호(V)가 유효 신호 전송 라인(321)을 통해 전송될 수 있다. 2차 데이터 재전송 모드에서는, 제1 내지 제4 추가 분할 전송 데이터와 제2 그라운드 데이터가 데이터 전송 라인들(311-318)을 통해 전송되는 동안, "1"의 바이너리 비트값을 갖는 유효 신호(V)가 유효 신호 전송 라인(321)을 통해 전송될 수 있다.
수신 완료 신호 전송 라인(331)은, 데이터 수신부(200)로부터 수신 완료 신호(Y)를 데이터 송신부(100)로 전송하는데 사용되는 신호 라인이다. 일 예에서 데이터 수신부(200)로 전송된 전송 데이터에 에러가 발생되지 않는 경우 일정 레벨, 예컨대 "1"의 바이너리 비트값을 갖는 수신 완료 신호(Y)가 수신 완료 신호 전송 라인(331)을 통해 데이터 송신부(100)로 전송된다. 데이터 수신부(200)로 전송된 전송 데이터에 에러가 발생된 경우, "0"의 바이너리 비트값을 갖는 수신 완료 신호(Y)가 수신 완료 신호 전송 라인(331)을 통해 데이터 송신부(100)로 전송된다. "1"의 바이너리 비트값을 갖는 수신 완료 신호(Y)를 수신한 데이터 수신부(100)는 데이터 전송 과정이 완료된 것으로 판단할 수 있다. "0"의 바이너리 비트값을 갖는 수신 완료 신호(Y)를 수신한 데이터 수신부(100)는 데이터 전송 과정이 완료되지 않은 것으로 판단할 수 있다.
재전송 요청 신호 전송 라인(332)은, 데이터 수신부(200)로부터 재전송 요청 신호(Z)를 데이터 송신부(100)로 전송하는데 사용되는 신호 라인이다. 일 예에서 데이터 수신부(200)로 전송된 전송 데이터에 에러가 발생되는 경우 일정 레벨, 예컨대 "1"의 바이너리 비트값을 갖는 재전송 요청 신호(Z)가 재전송 요청 신호 전송 라인(332)을 통해 데이터 송신부(100)로 전송된다. 데이터 수신부(200)로 전송된 전송 데이터에 에러가 발생되지 않는 경우, "0"의 바이너리 비트값을 갖는 재전송 요청 신호(Z)가 재전송 요청 신호 전송 라인(332)을 통해 데이터 송신부(100)로 전송된다. "1"의 바이너리 비트값을 갖는 재전송 요청 신호(Z)를 수신한 데이터 송신부(100)는 1차 데이터 재전송 모드 또는 2차 데이터 재전송 모드로의 재전송 과정을 수행한다.
데이터 송신부(100)는, 제1 유한 상태 머신(Finite State Machine; 이하 FSM) 컨트롤러(110) 및 데이터 송신 처리부(120)를 포함하여 구성될 수 있다. 제1 FSM 컨트롤러(110)는, 데이터 송신부(100) 내에서의 데이터 송신 동작을 제어한다. 이를 위해 제1 FSM 컨트롤러(110)는, 일정 조건에서 복수개의 상태들(states) 각각의 동작이 수행되도록 하는 제어 신호들을 발생시킬 수 있다. 일 예에서 제1 FSM 컨트롤러(110)는, 데이터 전송 대기 상태의 제1 상태와, 정상 전송 모드 상태의 제2 상태와, 1차 데이터 재전송 모드 상태의 제3 상태와, 그리고 2차 데이터 재전송 모드 상태의 제4 상태를 포함할 수 있다. 제1 FSM 컨트롤러(110) 내에서의 상태 천이(state transistion)는, 데이터 전송 개시 신호, 수신 완료 신호(Y), 재전송 요청 신호(Z)의 입력에 의해 이루어질 수 있다. 제1 FSM 컨트롤러(110) 내에서의 상태 천이가 이루어지는 경우, 제1 FSM 컨트롤러(110)는 데이터 전송 모드 제어 신호(TM)를 구성하는 바이너리 비트값들을 데이터 송신 처리부(120)로 입력시킨다. 제1 FSM 컨트롤러(110)의 동작에 대해서는 아래에서 보다 상세하게 설명하기로 한다.
데이터 송신 처리부(120)는, 제1 FSM 컨트롤러(110)로부터의 제어 신호에 대응되는 전송 모드로의 데이터 전송 동작을 수행한다. 데이터 송신 처리부(120)는, 에러 정정 코드(Error Correction Code; 이하 ECC) 인코더(122) 및 데이터 송신 로직(124)을 포함할 수 있다. 일 예에서 ECC 인코더(122)는, 전송될 오리지널 데이터에 대한 에러 정정 코드(ECC) 인코딩을 수행하여 에러 검출을 위한 패리티 데이터(parity data)를 생성한다. 데이터 송신부(100)로부터 전송되는 전송 데이터는 오리지널 데이터에 패리티 데이터가 포함되어 구성될 수 있다. ECC 인코더(122)에 의해 생성된 전송 데이터는 데이터 송신 로직(124)로 입력된다. 데이터 송신 로직(124)은, 제1 FSM 컨트롤러(110)로부터의 데이터 전송 모드 제어 신호(TM)에 의해 지정되는 전송 모드로 전송 데이터를 전송시킨다.
데이터 수신부(200)는, 제2 FSM 컨트롤러(210) 및 데이터 수신 처리부(220)를 포함하여 구성될 수 있다. 제2 FSM 컨트롤러(210)는, 데이터 수신부(200) 내에서의 데이터 수신 동작 및 데이터 재전송 요청 동작을 제어한다. 이를 위해 제2 FSM 컨트롤러(210)는, 일정 조건에서 복수개의 상태들 각각의 동작이 수행되도록 할 수 있다. 일 예에서 제2 FSM 컨트롤러(210)는, 데이터 수신 대기 상태의 제1 상태와, 데이터 수신 상태의 제2 상태와, ECC 디코딩 상태의 제3 상태와, 수신 완료 상태의 제4 상태와, 그리고 재전송 요청 상태의 제5 상태의 동작들 각각이 수행되도록 할 수 있다. 제2 FSM 컨트롤러(210) 내에서의 상태 천이는, 유효 신호(V) 및 에러 신호(E)의 입력에 의해 이루어질 수 있다. 제2 FSM 컨트롤러(210) 내에서의 상태 천이가 이루어지는 경우, 제2 FSM 컨트롤러(210)는 ECC 디코딩 제어 신호(D)를 데이터 수신 처리부(220)로 입력시키거나, 수신 완료 신호(Y) 및 재전송 요청 신호(Z)를 데이터 송신부(100)로 입력시킨다. 제2 FSM 컨트롤러(210)의 동작에 대해서는 아래에서 보다 상세하게 설명하기로 한다.
데이터 수신 처리부(220)는, 제2 FSM 컨트롤러(210)로부터의 제어에 의해 데이터 수신 동작 및 ECC 디코딩 동작을 수행한다. 데이터 수신 처리부(220)는, ECC 디코더(222) 및 데이터 수신 로직(224)을 포함할 수 있다. 데이터 수신 로직(224)은 데이터 송신부(100)로부터 수신받은 전송 데이터를 ECC 디코더(222)에 입력시킨다. 데이터 송신부(100)로부터 분할된 전송 데이터가 전송되는 경우, 데이터 수신 로직(224)은 분할된 전송 데이터를 병합하는 동작을 수행할 수도 있다. 일 예에서 ECC 디코더(222)는, 데이터 수신 로직(224)로부터 입력되는 전송 데이터에 대한 ECC 디코딩을 수행하여 전송 데이터에 에러가 존재하는지의 여부를 판단한다. 에러 존재 여부의 판단은, 전송 데이터에 포함된 패리티 데이터를 이용하여 수행될 수 있다. 일 예에서 ECC 디코딩 결과 전송 데이터에 에러가 존재하는 것으로 판정되는 경우, ECC 디코더(222)는 일정 레벨, 예컨대 "1"의 바이너리 비트값을 갖는 에러 신호(E)를 제2 FSM 컨트롤러(210)로 입력시킨다. 반면에 ECC 디코딩 결과 전송 데이터에 에러가 존재하지 않는 것으로 판정되는 경우, ECC 디코더(222)는, "0"의 바이너리 비트값을 갖는 에러 신호(E)를 제2 FSM 컨트롤러(210)로 입력시킨다.
도 2는 도 1의 데이터 전송 시스템(10)의 데이터 송신부(100)를 구성하는 제1 FSM 컨트롤러(110) 동작의 일 예를 설명하기 위해 나타내 보인 상태도(state diagram)이다. 도 2를 도 1과 함께 참조하면, 제1 FSM 컨트롤러(110)는, 제1 상태(ST00), 제2 상태(ST01), 제3 상태(ST02), 및 제4 상태(ST03)에 따른 동작을 수행할 수 있도록 구성된다. 제1 상태(ST00)는, 초기화된 상태(initialized state)로 정의될 수 있다. 즉 제1 상태(ST00)는, 데이터 전송 대기중인 상태를 의미할 수 있다. 제1 상태(ST00)에서 제1 FSM 컨트롤러(110)는, 데이터 전송 모드 제어 신호(TM)로서 값 "00"을 데이터 송신 처리부(120)로 출력시킨다. 본 예에서 "00"의 데이터 전송 모드 제어 신호(TM)는 데이터 송신 대기 동작이 수행되도록 하는 제어 신호로 정의된다. "00"의 데이터 전송 모드 제어 신호(TM)를 입력받은 데이터 송신 처리부(120)는, 데이터 송신 대기 상태를 유지한다. 제1 상태(ST00)에서 제2 상태(ST01)로의 천이는, 제1 FSM 컨트롤러(110)에 입력되는 입력제어신호(X)가 갖는 값에 의해 이루어질 수 있다. 입력제어신호(X)는, 데이터 송신 동작의 수행 여부를 제어하는 신호일 수 있다. 일 예에서 입력제어신호(X)가 일정 레벨, 예컨대 로우 레벨인 "0"의 값을 유지하는 동안 제1 FSM 컨트롤러(110)는 제1 상태(ST00)를 유지한다. 입력제어신호(X)가 하이 레벨인 "1"의 값으로 변동되면, 제1 FSM 컨트롤러(110)는 제1 상태(ST00)에서 제2 상태(ST01)로 천이된다.
제1 FSM 컨트롤러(110)의 제2 상태(ST01)는, 데이터의 정상 전송 상태로 정의될 수 있다. 제2 상태(ST01)에서 제1 FSM 컨트롤러(110)는 데이터 전송 모드 제어 신호(TM)로서 값 "01"을 데이터 송신 처리부(120)로 출력시킨다. 본 예에서 "01"의 데이터 전송 모드 제어 신호(TM)는 데이터 송신 동작이 수행되도록 하는 제어 신호로 정의된다. "01"의 데이터 전송 모드 제어 신호(TM)를 입력받은 데이터 송신 처리부(120)는, ECC 인코딩을 수행하여 패리티 데이터가 포함된 전송 데이터를 생성하고, 생성된 전송 데이터를 데이터 수신부(200)로 전송한다. 제2 상태(ST01)는, 데이터 수신부(200)로부터 입력되는 수신 완료 신호(Y) 및 재전송 요청 신호(Z)가 모두 "0"의 값을 유지하는 동안 계속 유지된다. 수신 완료 신호(Y)가 "1"의 값으로 변경되면, 제1 FSM 컨트롤러(110)는 제2 상태(ST01)에서 제1 상태(ST00)로 천이된다. "1"의 값을 갖는 수신 완료 신호(Y)는, 에러 발생 없이 데이터 수신이 정상적으로 이루어졌다는 것을 나타낸다. 따라서 이 경우 제1 FSM 컨트롤러(110)는 데이터 송신 대기 상태인 제1 상태(ST00)로 돌아간다. 반면에 재전송 요청 신호(Z)가 "1"의 값으로 변경되면, 즉 정상 전송 모드로의 데이터 전송 과정에서 에러가 발생되면, 제1 FSM 컨트롤러(110)는 제2 상태(ST01)에서 제3 상태(ST02)로 천이된다.
제1 FSM 컨트롤러(110)의 제3 상태(ST02)는, 1차 데이터 재전송 상태로 정의될 수 있다. 제3 상태(ST02)에서 제1 FSM 컨트롤러(110)는 데이터 전송 모드 제어 신호(TM)로서 값 "10"을 데이터 송신 처리부(120)로 출력시킨다. 본 예에서 "10"의 데이터 전송 모드 제어 신호(TM)는 1차 데이터 재전송 동작이 수행되도록 하는 제어 신호로 정의된다. "10"의 데이터 전송 모드 제어 신호(TM)를 입력받은 데이터 송신 처리부(120)는, 전송 데이터를 분할하고, 분할된 전송 데이터를 제1 그라운드 데이터와 함께 데이터 수신부(200)로 전송한다. 여기서 제1 그라운드 데이터는, 전송 데이터에 포함되지 않는 가상의 데이터로서, 제1 데이터 재전송 모드로의 데이터 전송 과정에서 크로스토크를 억제하기 위한 바이너리 비트값으로 구성될 수 있다. 제3 상태(ST02)는, 데이터 수신부(200)로부터 입력되는 수신 완료 신호(Y) 및 재전송 요청 신호(Z)가 모두 "0"의 값을 유지하는 동안 계속 유지된다. 수신 완료 신호(Y)가 "1"의 값으로 변경되면, 제1 FSM 컨트롤러(110)는 제3 상태(ST02)에서 제1 상태(ST00)로 천이된다. "1"의 값을 갖는 수신 완료 신호(Y)는, 재전송된 전송 데이터에 에러가 발생하지 않았다는 것을 나타낸다. 따라서 이 경우 제1 FSM 컨트롤러(110)는 데이터 송신 대기 상태인 제1 상태(ST00)로 돌아간다. 반면에 재전송 요청 신호(Z)가 "1"의 값으로 변경되면, 즉 데이터 재전송 과정에서도 에러가 발생되는 경우, 제1 FSM 컨트롤러(110)는 제3 상태(ST02)에서 제4 상태(ST03)로 천이된다.
제1 FSM 컨트롤러(110)의 제4 상태(ST04)는, 2차 데이터 재전송 상태로 정의될 수 있다. 제4 상태(ST03)에서 제1 FSM 컨트롤러(110)는 데이터 전송 모드 제어 신호(TM)로서 값 "11"을 데이터 송신 처리부(120)로 출력시킨다. 본 예에서 "11"의 데이터 전송 모드 제어 신호(TM)는 2차 데이터 재전송 동작이 수행되도록 하는 제어 신호로 정의된다. "11"의 데이터 전송 모드 제어 신호(TM)를 입력받은 데이터 송신 처리부(120)는, 전송 데이터를 추가 분할하고, 추가 분할된 전송 데이터를 제2 그라운드 데이터와 함께 데이터 수신부(200)로 전송한다. 여기서 제2 그라운드 데이터는, 전송 데이터에 포함되지 않는 가상의 데이터로서, 제2 데이터 재전송 모드로의 데이터 전송 과정에서의 크로스토크를 억제하기 위한 바이너리 비트값으로 구성될 수 있다. 일 예에서 제2 그라운드 데이터는 제1 그라운드 데이터와 동일한 바이너리 비트값으로 구성될 수 있다. 다른 예에서 제2 그라운드 데이터는 제1 그라운드 데이터와 다른 바이너리 비트값으로 구성될 수 있다.
제4 상태(ST03)는, 데이터 수신부(200)로부터 입력되는 수신 완료 신호(Y) 및 재전송 요청 신호(Z)가 모두 "0"의 값을 유지하는 동안 계속 유지된다. 수신 완료 신호(Y)가 "1"의 값으로 변경되면, 즉 추가 분할된 전송 데이터에 에러가 발생되지 않은 경우, 제1 FSM 컨트롤러(110)는 제4 상태(ST03)에서 제1 상태(ST00)로 천이된다. 재전송 요청 신호(Z)가 "1"의 값으로 변경되는 경우에도, 즉 추가 분할된 전송 데이터의 재전송 과정에서도 에러가 발생되는 경우에도, 더 이상의 추가적인 재전송 과정이 없으므로 제1 FSM 컨트롤러(110)는 제4 상태(ST03)에서 제1 상태(ST00)로 천이된다.
도 3은 도 1의 데이터 전송 시스템(10)의 데이터 수신부(200)를 구성하는 제2 FSM 컨트롤러(210)의 동작의 일 예를 설명하기 위해 나타내 보인 상태도이다. 도 3을 도 1과 함께 참조하면, 제2 FSM 컨트롤러(210)는, 제1 상태(ST10), 제2 상태(ST11), 제3 상태(ST12), 제4 상태(ST13), 및 제5 상태(ST14)에 따른 제어 동작을 수행한다. 제1 상태(ST10)는, 초기화된 상태로 정의될 수 있다. 즉 제1 상태(ST10)는, 데이터 수신 대기중인 상태를 의미할 수 있다. 제1 상태(ST10)에서 제2 FSM 컨트롤러(210)는, ECC 디코딩 제어 신호(D)로서 값 "0"을 데이터 수신 처리부(220)로 출력시킨다. 본 예에서 "0"의 ECC 디코딩 제어 신호(D)는, ECC 디코딩 동작을 디스에이블(disable)시키는 제어 신호로 정의된다. 제1 상태(ST10)에서 제2 상태(ST11)로의 천이는, 데이터 송신부(100)로부터 제2 FSM 컨트롤러(210)에 입력되는 유효 신호(V)가 갖는 값에 의해 이루어질 수 있다. 일 예에서 유효 신호(V)가 일정 레벨, 예컨대 로우 레벨인 "0"의 값을 유지하는 동안 제2 FSM 컨트롤러(210)는 제1 상태(ST10)를 유지한다. 유효 신호(V)가 하이 레벨인 "1"의 값으로 변동되면, 제2 FSM 컨트롤러(210)는 제1 상태(ST10)에서 제2 상태(ST11)로 천이된다.
제2 FSM 컨트롤러(210)의 제2 상태(ST11)는, 데이터 수신 상태로 정의될 수 있다. 제2 상태(ST11)에서 제2 FSM 컨트롤러(210)는 ECC 디코딩 제어 신호(D)로서 값 "0"을 데이터 수신 처리부(220)로 출력시킨다. 유효 신호(V)가 "1"의 값을 유지하는 동안 제2 FSM 컨트롤러(210)는 제2 상태(ST11)를 유지한다. 유효 신호(V)가 "1"을 유지하는 시간은 데이터 송신부(100)로부터의 데이터 수신이 이루어지고 있는 시간이므로, 데이터 수신 처리부(220)에서의 ECC 디코딩은 아직 수행되지 않는다. 유효 신호(V)가 다시 "0"의 값으로 변경되면, 즉 데이터 송신부(100)로부터의 데이터 전송이 완료되면, 제2 FSM 컨트롤러(210)는 제2 상태(ST11)에서 제3 상태(ST12)로 천이된다.
제2 FSM 컨트롤러(210)의 제3 상태(ST12)는, ECC 디코딩 수행 상태로 정의될 수 있다. 제3 상태(ST12)에서 제2 FSM 컨트롤러(210)는 ECC 디코딩 제어 신호(D)로서 값 "1"을 데이터 수신 처리부(220)로 출력시킨다. "1"의 값을 갖는 ECC 디코딩 제어 신호(D)를 입력받은 데이터 수신 처리부(220)는, 전송 데이터에 대한 ECC 디코딩을 수행하여 에러 발생 유무를 판정하고, 그 결과에 따라 에러 신호(E)를 출력시킨다. 일 예에서 전송 데이터에 에러가 발생되지 않은 경우 에러 신호(E)로서 "0"의 값을 출력할 수 있다. 반면에 전송 데이터에 에러가 발생되는 경우 에러 신호(E)로서 "1"의 값을 출력할 수 있다. 데이터 수신 처리부(220)로부터 발생된 에러 신호(E)는 제2 FSM 컨트롤러(210)로 입력된다. 제2 FSM 컨트롤러(210)는 에러 신호(E)가 갖는 값에 따라서 제4 상태(ST13)로 천이되거나, 또는 제5 상태(ST14)로 천이된다.
제2 FSM 컨트롤러(210)의 제4 상태(ST13)는 수신 완료 상태로 정의되고, 제5 상태(ST14)는 재전송 요청 상태로 정의될 수 있다. 에러 신호(E)가 "0"의 값으로 제2 FSM 컨트롤러(210)에 입력되면, 제2 FSM 컨트롤러(210)는 제3 상태(ST12)에서 제4 상태(ST13)로 천이된다. 제4 상태(ST13)에서, 제2 FSM 컨트롤러(210)는 수신 완료 신호(Y)로서 "1"의 값을 출력하고, 재전송 요청 신호(Z)로서 "0"의 값을 출력한다. 반면에 에러 신호(E)가 "1"의 값으로 제2 FSM 컨트롤러(210)에 입력되면, 제2 FSM 컨트롤러(210)는 제3 상태(ST12)에서 제5 상태(ST14)로 천이된다. 제5 상태(ST14)에서, 제2 FSM 컨트롤러(210)는 수신 완료 신호(Y)로서 "0"의 값을 출력하고, 재전송 요청 신호(Z)로서 "1"의 값을 출력한다. 제4 상태(ST13) 또는 제5 상태(ST14)에서 유효 신호(V)가 다시 "1"로 전환되면, 제2 FSM 컨트롤러(210)는 제4 상태(ST13) 또는 제5 상태(ST14)에서 데이터 수신 상태인 제2 상태(ST11)로 전환된다.
도 4는 본 개시에 따른 데이터 전송 방법의 일 예를 설명하기 위해 나타내 보인 플로챠트이다. 도 4를 참조하면, 단계 410에서 정상 전송 모드로 N비트의 전송 데이터를 N개의 전송 라인들을 통해 전송한다. 일 예에서 전송 데이터에는 ECC 인코딩에 의해 생성된 패리티 데이터가 포함될 수 있다. 정상 전송 모드에서, N비트의 전송 데이터 각각의 비트값은 N개의 전송 라인들 각각을 통해 전송된다. 단계 420에서 전송 데이터에 대한 에러 발생 여부를 판정한다. 단계 420의 판정에서, 전송 데이터에 에러가 발생되지 않는 경우 단계 430의 데이터 전송 모드를 종료시킨다. 단계 420의 판정에서, 전송 데이터에 애러가 발생되는 경우, 단계 440에서 1차 데이터 재전송 모드로의 데이터 재전송을 수행한다. 1차 데이터 재전송 모드는, N비트의 전송 데이터를 (N/2)비트로 분할한 후, 분할된 전송 데이터를 제1 그라운드 데이터와 함께 전송함으로써 수행될 수 있다. 일 예에서 제1 그라운드 데이터는 값 "0"의 바이너리 비트값일 수 있다. 단계 440에서 N비트의 전송 데이터는 (N/2)비트의 제1 및 제2 분할 전송 데이터로 분할된다. (N/2)비트의 제1 분할 전송 데이터는 첫번째 데이터 전송 클럭 주기동안, (N/2)개의 제1 그라운드 데이터와 함께 전송된다. 이어서 두번째 데이터 전송 클럭 주기동안, (N/2)비트의 제2 분할 전송 데이터가 (N/2)개의 제1 그라운드 데이터와 함께 전송된다. 데이터 전송은, (N/2)비트의 제1 및 제2 분할 전송 데이터 각각의 비트값과 (N/2)개의 제1 그라운드 데이터가, 복수개의 전송 라인들 중 인접한 두 개의 전송 라인들 각각을 통해 전송되도록 수행하여 크로스토크에 의한 데이터 전송 에러가 억제되도록 한다.
단계 450에서 전송 데이터에 대한 에러 발생 여부를 판정한다. 이를 위해 (N/2)비트로 분할되어 전송된 제1 분할 전송 데이터와 제2 분할 전송 데이터를 병합할 수 있다. 단계 450의 판정에서, 전송 데이터에 에러가 발생되지 않는 경우 단계 430의 데이터 전송 모드를 종료시킨다. 단계 450의 판정에서, 전송 데이터에 애러가 발생되는 경우, 단계 460에서 2차 데이터 재전송 모드로의 데이터 재전송을 수행한다. 2차 데이터 재전송 모드는, N비트의 전송 데이터를 (N/4)비트로 추가 분할한 후, 추가 분할된 전송 데이터를 제2 그라운드 데이터와 함께 전송함으로써 수행될 수 있다. 일 예에서 제2 그라운드 데이터는 값 "0"의 바이너리 비트값일 수 있다. 단계 460에서 N비트의 전송 데이터는 (N/4)비트의 제1 내지 제4 추가 분할 전송 데이터로 분할된다. (N/4)비트의 제1 추가 분할 전송 데이터는 첫번째 데이터 전송 클럭 주기동안, (3N/4)개의 제2 그라운드 데이터와 함께 전송된다. 이어서 두번째 데이터 전송 클럭 주기동안, (N/4)비트의 제2 추가 분할 전송 데이터가 (3N/4)개의 제2 그라운드 데이터와 함께 전송된다. 이어서 세번째 데이터 전송 클럭 주기동안, (N/4)비트의 제3 추가 분할 전송 데이터가 (3N/4)개의 제2 그라운드 데이터와 함께 전송된다. 이어서 네번째 데이터 전송 클럭 주기동안, (N/4)비트의 제4 추가 분할 전송 데이터가 (3N/4)개의 제2 그라운드 데이터와 함께 전송된다. (N/4)비트의 제1 내지 제4 분할 전송 데이터 각각의 비트값과 (3N/4)개의 제2 그라운드 데이터의 각각은, 복수개의 전송 라인들 중 인접한 네 개의 전송 라인들을 통해 전송되도록 하여 크로스토크에 의한 데이터 전송 에러가 억제되도록 한다. 단계 460의 제2 데이터 재전송 모드로의 동작을 수행한 후에는 단계 430의 데이터 전송 모드를 종료시킨다.
도 5 내지 도 7은 본 개시에 따른 데이터 전송 시스템(10)의 정상 전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다. 그리고 도 8은 본 개시에 따른 데이터 전송 시스템(10)의 정상 전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다. 도 5 내지 도 7에서 도 1과 동일한 참조부호는 동일한 구성요소를 나타낸다. 먼저 도 5를 참조하면, 데이터 송신 모드에서 데이터 송신부(100)의 제1 FSM 컨트롤러(110)는, 데이터 전송 모드 제어 신호(TM)로서 정상 전송 모드를 나타내는 값 "01"을 데이터 송신 처리부(120)로 입력시킨다. 데이터 송신 처리부(120)의 ECC 인코더(122)는, 전송 데이터에 대한 ECC 인코딩을 수행하여 패리티 데이터가 포함된 전송 데이터를 생성하여 데이터 송신 로직(124)에 입력시킨다. 데이터 송신 로직(124)은, 데이터 전송 모드 제어 신호(TM)의 값 "01"에 따라 정상 전송 모드로 ECC 인코더(122)로부터 입력된 전송 데이터를 데이터 수신부(200)로 전송한다.
데이터 전송 모드 제어 신호(TM)의 값 "01"은 정상 전송 모드를 의미하므로, N비트, 예컨대 8비트의 전송 데이터 각각의 비트값(DATA[0:7])은 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송된다. 이에 따라 전송 데이터의 첫번째 비트값(DATA[0])은 첫번째 데이터 전송 라인(311)을 통해 전송되고, 두번째 비트값(DATA[1])은 두번째 데이터 전송 라인(312)을 통해 전송되고, 세번째 비트값(DATA[2])은 세번째 데이터 전송 라인(313)을 통해 전송되고, 네번째 비트값(DATA[3])은 네번째 데이터 전송 라인(314)을 통해 전송되고, 다섯번째 비트값(DATA[4])은 다섯번째 데이터 전송 라인(315)을 통해 전송되고, 여섯번째 비트값(DATA[5])은 여섯번째 데이터 전송 라인(316)을 통해 전송되고, 일곱번째 비트값(DATA[6])은 일곱번째 데이터 전송 라인(317)을 통해 전송되며, 그리고 여덟번째 비트값(DATA[7])은 여덟번째 데이터 전송 라인(318)을 통해 전송된다.
도 8에 나타낸 바와 같이, 정상 전송 모드에서의 전송 데이터(D0) 전송은, 모든 전송 라인들(311-318)을 통해 하나의 데이터 전송 클럭 주기동안 수행된다. 따라서 8비트의 전송 데이터(D0) 각각의 비트값은, 인접한 전송 라인을 통해 전송되는 비트값과의 크로스토크로 인해 변형될 수 있으며, 이는 데이터 전송 에러의 원인이 될 수 있다. 전송 데이터(D0)의 전송이 이루어지는 동안 유효 신호(V)는 하이 레벨, 즉 "1"의 값을 유지한다. 즉 전송 데이터(D0) 전송이 이루어지기 전까지 유효 신호(V)는 값 "0"을 유지하며, 전송 데이터(D0) 전송이 시작되면 값 "1"로 전환된다. 전송 데이터(D0) 전송이 이루어지는 동안 유효 신호(V)는 값 "1"을 유지한다. 그리고 전송 데이터(D0) 전송이 끝나면, 다시 값 "0"으로 전환된다. 따라서 데이터 수신부(200)는 데이터 송신부(100)로부터 입력되는 유효 신호(V)의 값의 변경을 통해 전송 데이터의 전송 개시 시점과 전송 종료 시점을 알 수 있다.
도 6 및 도 7을 참조하면, 정상 전송 모드에서의 전송 데이터(D0) 전송이 완료되어 유효신호(V)가 값 "1"에서 "0"으로 변경되면,데이터 수신부(200)의 제2 FSM 컨트롤러(210)는, ECC 디코딩 제어 신호(D)로서 값 "1"을 데이터 수신 처리부(220)로 입력시킨다. 데이터 수신 처리부(220)의 ECC 디코더(222)는, 데이터 수신 로직(224)으로부터 전송 데이터를 입력받고 ECC 디코딩을 수행하여 에러 발생 여부를 판정한다. 전송 데이터에 에러가 발생되지 않은 경우, 도 6에 나타낸 바와 같이, ECC 디코더(222)는 에러 신호(E)로서 "0"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "0"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "1"의 값과 재전송 요청 신호(Z)로서 "0"의 값을 전송한다. 반면에 전송 데이터에 에러가 발생된 경우, 도 7에 나타낸 바와 같이, ECC 디코더(222)는 에러 신호(E)로서 "1"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "1"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "0"의 값과 재전송 요청 신호(Z)로서 "1"의 값을 전송한다.
도 9 내지 도 12는 본 개시에 따른 데이터 전송 시스템(10)의 1차 데이터 재전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다. 그리고 도 13은 본 개시에 따른 데이터 전송 시스템(10)의 1차 데이터 재전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다. 도 9 내지 도 12에서 도 1과 동일한 참조부호는 동일한 구성요소를 나타낸다. 먼저 도 9를 참조하면, 도 7을 참조하여 설명한 바와 같이, 전송 데이터에 에러가 발생되어 데이터 수신부(200)로부터 재전송 요청 신호(Z)로서 값 "1"이 데이터 송신부(100)로 전송되는 경우, 데이터 송신부(100)의 제1 FSM 컨트롤러(110)는, 데이터 전송 모드 제어 신호(TM)로서 1차 데이터 재전송 모드를 나타내는 값 "10"을 데이터 송신 처리부(120)로 입력시킨다. 데이터 송신 처리부(120)의 데이터 송신 로직(124)은, 데이터 전송 모드 제어 신호(TM)의 값 "10"에 따라 1차 데이터 재전송 모드의 데이터 전송 동작을 수행한다.
데이터 전송 모드 제어 신호(TM)의 값 "10"은 1차 데이터 재전송 모드를 의미하므로, 데이터 송신 로직(124)은, N비트, 예컨대 8비트의 전송 데이터를 (N/2)비트인 4비트의 제1 분할 데이터(DATA[0:3]) 및 제2 분할 데이터(DATA(4:7])로 분할시킨다. 그리고 4비트의 제1 분할 데이터(DATA[0:3])를 4비트의 제1 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때, 인접한 전송 라인들 사이의 크로스토크를 억제시키기 위해, 상호 인접하는 첫번째 데이터 전송 라인(311, 313, 315, 317)을 통해 4비트의 제1 분할 데이터(DATA[0:3])를 전송시키고, 상호 인접하는 두번째 데이터 전송 라인(312, 314, 316, 318)을 통해 4비트의 제1 그라운드 데이터를 전송시킨다. 이에 따라 4비트의 제1 분할 데이터(DATA[0:3]) 각각의 비트값이 전송되는 전송 라인(311, 313, 315, 317)과 4비트의 제1 그라운드 데이터 각각의 비트값이 전송되는 전송 라인(312, 314, 316, 318)이 교대로 배치되도록 데이터 전송이 이루어진다.
구체적으로 본 예에서 제1 분할 데이터(DATA[0:3])의 첫번째 비트값(DATA[0])은 첫번째 데이터 전송 라인(311)을 통해 전송되고, 제1 그라운드 비트값 "0"이 두번째 데이터 전송 라인(312)을 통해 전송되고, 두번째 비트값(DATA[1])은 세번째 데이터 전송 라인(313)을 통해 전송되고, 제1 그라운드 비트값 "0"이 네번째 데이터 전송 라인(314)을 통해 전송되고, 세번째 비트값(DATA[2])은 다섯번째 데이터 전송 라인(315)을 통해 전송되고, 제1 그라운드 비트값 "0"이 여섯번째 데이터 전송 라인(316)을 통해 전송되고, 네번째 비트값(DATA[3])은 일곱번째 데이터 전송 라인(317)을 통해 전송되며, 그리고 제1 그라운드 비트값 "0"이 여덟번째 데이터 전송 라인(318)을 통해 전송된다.
도 10을 참조하면, 4비트의 제1 분할 데이터(DATA[0:3])를 4비트의 제1 그라운드 데이터와 함께 전송한 후에는, 4비트의 제2 분할 데이터(DATA[4:7])를 4비트의 제1 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때에도, 인접한 전송 라인들 사이의 크로스토크를 억제시키기 위해, 상호 인접하는 첫번째 데이터 전송 라인(311, 313, 315, 317)을 통해 4비트의 제2 분할 데이터(DATA[4:7])를 전송시키고, 상호 인접하는 두번째 데이터 전송 라인(312, 314, 316, 318)을 통해 4비트의 제1 그라운드 데이터를 전송시킨다. 이에 따라 4비트의 제2 분할 데이터(DATA[4:7]) 각각의 비트값이 전송되는 전송 라인(311, 313, 315, 317)과 4비트의 제1 그라운드 데이터 각각의 비트값이 전송되는 전송 라인(312, 314, 316, 318)이 교대로 배치되도록 데이터 전송이 이루어진다.
구체적으로 본 예에서 제2 분할 데이터(DATA[4:7])의 첫번째 비트값(DATA[4])은 첫번째 데이터 전송 라인(311)을 통해 전송되고, 제1 그라운드 비트값 "0"이 두번째 데이터 전송 라인(312)을 통해 전송되고, 두번째 비트값(DATA[5])은 세번째 데이터 전송 라인(313)을 통해 전송되고, 제1 그라운드 비트값 "0"이 네번째 데이터 전송 라인(314)을 통해 전송되고, 세번째 비트값(DATA[6])은 다섯번째 데이터 전송 라인(315)을 통해 전송되고, 제1 그라운드 비트값 "0"이 여섯번째 데이터 전송 라인(316)을 통해 전송되고, 네번째 비트값(DATA[7])은 일곱번째 데이터 전송 라인(317)을 통해 전송되며, 그리고 제1 그라운드 비트값 "0"이 여덟번째 데이터 전송 라인(318)을 통해 전송된다.
도 13에 나타낸 바와 같이, 1차 데이터 재전송 모드에서의 데이터(DATA) 전송은, 두 번의 데이터 전송 클럭 주기들 동안 수행된다. 첫번째 데이터 전송 클럭 주기 동안, 4비트의 제1 분할 데이터(D0)가 4비트의 제1 그라운드 데이터와 함께 전송된다. 두번째 데이터 전송 클럭 주기 동안, 4비트의 제2 분할 데이터(D1)가 4비트의 제1 그라운드 데이터와 함께 전송된다. 4비트의 제1 분할 데이터(D0)의 비트값들 중 상호 인접하는 비트값들이 전송되는 전송 라인(311, 313, 315, 317) 사이의 전송 라인(312, 314, 316, 318)을 통해 제1 그라운드 데이터인 "0"이 전송되므로, 4비트의 제1 분할 데이터(D0)의 전송 과정에서 크로스토크가 억제된다. 마찬가지로 4비트의 제2 분할 데이터(D1)의 비트값들 중 상호 인접하는 비트값들이 전송되는 전송 라인(311, 313, 315, 317) 사이의 전송 라인(312, 314, 316, 318)을 통해 제1 그라운드 데이터인 "0"이 전송되므로, 4비트의 제2 분할 데이터(D1)의 전송 과정에서도 크로스토크가 억제된다. 즉 1차 데이터 재전송 모드에서의 데이터 전송은, 정상 전송 모드에 비하여 크로스토크에 의한 에러 발생을 억제시킬 수 있다.
제1 분할 데이터(D0) 및 제2 분할 데이터(D1) 전송이 이루어지는 동안 유효 신호(V)는 하이 레벨, 즉 "1"의 값을 유지한다. 즉 제1 분할 데이터(D0) 전송이 시작되기 전까지 유효 신호(V)는 값 "0"을 유지하며, 제1 분할 데이터(D0) 전송이 시작되면 값 "1"로 전환된다. 그리고 제2 분할 데이터(D1) 전송이 끝나면, 다시 값 "0"으로 전환된다. 따라서 데이터 수신부(200)는 데이터 송신부(100)로부터 입력되는 유효 신호(V)의 값의 변경을 통해 제1 분할 데이터(D0)의 전송 개시 시점과 제2 분할 데이터(D1)의 전송 종료 시점을 알 수 있다. 유효 신호(V)가 값 "1"을 유지하는 동안, 데이터 수신부(200)의 제2 FSM 컨트롤러(210)는 ECC 디코딩 제어 신호(D)로서 "0"의 값을 데이터 수신 처리부(220)로 입력한다. 이에 따라 데이터 수신 처리부(220)는 전송되는 제1 분할 데이터(DATA[0:3]) 및 제2 분할 데이터(DATA[4:7])의 수신 동작을 수행할 뿐, ECC 디코딩 동작은 수행하지 않는다. ECC 디코딩 동작이 수행되지 않으므로 에러 신호(E)의 값 또한 제2 FSM 컨트롤러(210)로 입력되지 않는다. 그리고 제2 FSM 컨트롤러(220)로부터 출력되는 수신 완료 신호(Y) 및 재전송 요청 신호(Z)는 모두 "0"의 값을 유지한다.
도 11 및 도 12를 참조하면, 데이터 송신부(100)로부터 데이터 수신부(200)로 제1 분할 데이터(DATA[0:3]) 및 제2 분할 데이터(DATA[4:7])의 전송이 완료되면, 유효 신호(V)는 값 "1"에서 "0"으로 변경된다. 유효 신호(V)가 값 "1"에서 "0"으로 변경되면, 데이터 수신부(200)의 제2 FSM 컨트롤러(210)는, ECC 디코딩 제어 신호(D)로서 값 "1"을 데이터 수신 처리부(220)로 입력시킨다. 데이터 수신 처리부(220)의 데이터 수신 로직(224)은 전송된 제1 분할 데이터(DATA[0:3]) 및 제2 분할 데이터(DATA[4:7])를 병합하여 전송 데이터를 복원하고, 복원된 전송 데이터를 ECC 디코더(222)로 입력시킨다. 데이터 수신 처리부(220)의 ECC 디코더(222)는, 데이터 수신 로직(224)으로부터 전송 데이터를 입력받고 ECC 디코딩을 수행하여 에러 발생 여부를 판정한다. 도 11에 나타낸 바와 같이, 전송 데이터에 에러가 발생되지 않은 경우 ECC 디코더(222)는 에러 신호(E)로서 "0"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "0"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "1"의 값과 재전송 요청 신호(Z)로서 "0"의 값을 전송한다. 도 12에 나타낸 바와 같이, 전송 데이터에 에러가 발생된 경우 ECC 디코더(222)는 에러 신호(E)로서 "1"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "1"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "0"의 값과 재전송 요청 신호(Z)로서 "1"의 값을 전송한다.
도 14 내지 도 18은 본 개시에 따른 데이터 전송 시스템(10)의 2차 데이터 재전송 모드에서의 데이터 전송 과정을 설명하기 위해 나타내 보인 블록도들이다. 그리고 도 19는 본 개시에 따른 데이터 전송 시스템(10)의 2차 데이터 재전송 모드에서의 유효 신호 및 데이터의 전송을 나타내 보인 타이밍도이다. 도 14 내지 도 18에서 도 1과 동일한 참조부호는 동일한 구성요소를 나타낸다. 먼저 도 14를 참조하면, 도 12를 참조하여 설명한 바와 같이, 전송 데이터에 에러가 발생되어 데이터 수신부(200)로부터 재전송 요청 신호(Z)로서 값 "1"이 데이터 송신부(100)로 전송되는 경우, 데이터 송신부(100)의 제1 FSM 컨트롤러(110)는, 데이터 전송 모드 제어 신호(TM)로서 제2 데이터 재전송 모드를 나타내는 값 "11"을 데이터 송신 처리부(120)로 입력시킨다. 데이터 송신 처리부(120)의 데이터 송신 로직(124)은, 데이터 전송 모드 제어 신호(TM)의 값 "11"에 따라 제2 데이터 재전송 모드의 데이터 전송 동작을 수행한다.
도 14를 참조하면, 데이터 전송 모드 제어 신호(TM)의 값 "11"은 2차 데이터 재전송 모드를 의미하므로, 데이터 송신 로직(124)은, N비트, 예컨대 8비트의 전송 데이터를 (N/4)비트인 2비트의 제1 추가 분할 데이터(DATA[0:1]), 제1 추가 분할 데이터(DATA[2:3]), 제1 추가 분할 데이터(DATA[4:5]), 및 제2 추가 분할 데이터(DATA(6:7])로 분할시킨다. 그리고 2비트의 제1 추가 분할 데이터(DATA[0:1])를 (3N/4)비트, 즉 6비트의 제2 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때, 인접한 전송 라인들 사이의 크로스토크 억제를 보다 증가시키기 위해, 데이터 전송 라인들(311-318)을 (N/4)개, 즉 2개의 데이터 전송 라인 그룹들, 즉 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 및 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318)으로 구분한다. 그리고 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 및 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 각각의 첫번째 전송 라인(311, 315)을 통해 제1 추가 분할 데이터(DATA[0:1])의 각각의 비트값을 전송한다. 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 중 나머지 전송 라인들(312-314)과 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 중 나머지 전송 라인들(316-318)을 통해서는 제2 그라운드 데이터인 "0"의 바이너리 비트값을 전송시킨다.
제1 추가 분할 데이터(DATA[0:1])의 첫번째 비트값(DATA[0])이 전송되는 제1 데이터 전송 그룹의 전송 라인(311)과 두번째 비트값(DATA[1])이 전송되는 제2 데이터 전송 그룹의 전송 라인(315) 사이의 3개의 제1 데이터 전송 그룹의 전송 라인들(312-314)을 통해 제2 그라운드 데이터인 "0"의 바이너리 비트값이 전송되므로, 제1 데이터 재전송 모드에 비해, 크로스토크로 인한 에러 발생 가능성을 보다 억제시킬 수 있다.
도 15를 참조하면, 2비트의 제1 추가 분할 데이터(DATA[0:1])를 6비트의 제2 그라운드 데이터와 함께 전송한 후에는, 2비트의 제2 추가 분할 데이터(DATA[2:3])를 6비트의 제2 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때에도, 인접한 전송 라인들 사이의 크로스토크를 억제시키기 위해, 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 및 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 각각의 첫번째 전송 라인(311, 315)을 통해 제2 추가 분할 데이터(DATA[2:3])의 각각의 비트값을 전송한다. 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 중 나머지 전송 라인들(312-314)과 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 중 나머지 전송 라인들(316-318)을 통해서는 제2 그라운드 데이터인 "0"의 바이너리 비트값을 전송시킨다.
도 16을 참조하면, 2비트의 제2 추가 분할 데이터(DATA[2:3])를 6비트의 제2 그라운드 데이터와 함께 전송한 후에는, 2비트의 제3 추가 분할 데이터(DATA[4:5])를 6비트의 제2 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때에도, 인접한 전송 라인들 사이의 크로스토크를 억제시키기 위해, 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 및 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 각각의 첫번째 전송 라인(311, 315)을 통해 제3 추가 분할 데이터(DATA[4:5])의 각각의 비트값을 전송한다. 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 중 나머지 전송 라인들(312-314)과 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 중 나머지 전송 라인들(316-318)을 통해서는 제2 그라운드 데이터인 "0"의 바이너리 비트값을 전송시킨다.
도 17을 참조하면, 2비트의 제3 추가 분할 데이터(DATA[4:5])를 6비트의 제2 그라운드 데이터와 함께 전송한 후에는, 2비트의 제4 추가 분할 데이터(DATA[6:7])를 6비트의 제2 그라운드 데이터, 즉 "0"의 바이너리 비트값과 함께 8개의 데이터 전송 라인들(311-318) 각각을 통해 전송시킨다. 이 때에도, 인접한 전송 라인들 사이의 크로스토크를 억제시키기 위해, 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 및 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 각각의 첫번째 전송 라인(311, 315)을 통해 제4 추가 분할 데이터(DATA[6:7])의 각각의 비트값을 전송한다. 제1 데이터 전송 라인 그룹의 데이터 전송 라인들(311-314) 중 나머지 전송 라인들(312-314)과 제2 데이터 전송 라인 그룹의 데이터 전송 라인들(315-318) 중 나머지 전송 라인들(316-318)을 통해서는 제2 그라운드 데이터인 "0"의 바이너리 비트값을 전송시킨다.
도 19에 나타낸 바와 같이, 2차 데이터 재전송 모드에서의 데이터(DATA) 전송은, 네 번의 데이터 전송 클럭 주기들 동안 수행된다. 첫번째 데이터 전송 클럭 주기 동안, 2비트의 제1 추가 분할 데이터(D0)가 6비트의 제2 그라운드 데이터와 함께 전송된다. 두번째 데이터 전송 클럭 주기 동안, 2비트의 제2 추가 분할 데이터(D1)가 6비트의 제2 그라운드 데이터와 함께 전송된다. 세번째 데이터 전송 클럭 주기 동안, 2비트의 제3 추가 분할 데이터(D2)가 6비트의 제2 그라운드 데이터와 함께 전송된다. 그리고 네번째 데이터 전송 클럭 주기 동안, 2비트의 제4 추가 분할 데이터(D3)가 6비트의 제2 그라운드 데이터와 함께 전송된다. 제1 추가 분할 데이터(D0) 내지 제4 추가 분할 데이터(D3) 전송이 이루어지는 동안 유효 신호(V)는 하이 레벨, 즉 "1"의 값을 유지한다. 즉 제1 추가 분할 데이터(D0) 전송이 시작되기 전까지 유효 신호(V)는 값 "0"을 유지하며, 제1 추가 분할 데이터(D0) 전송이 시작되면 값 "1"로 전환된다. 그리고 제4 추가 분할 데이터(D3) 전송이 끝나면, 다시 값 "0"으로 전환된다. 따라서 데이터 수신부(200)는 데이터 송신부(100)로부터 입력되는 유효 신호(V)의 값의 변경을 통해 제1 내지 제4 추가 분할 데이터(D0-D3)의 전송 개시 시점과 제2 분할 데이터(D1)의 전송 종료 시점을 알 수 있다.
유효 신호(V)가 값 "1"을 유지하는 동안, 데이터 수신부(200)의 제2 FSM 컨트롤러(210)는 ECC 디코딩 제어 신호(D)로서 "0"의 값을 데이터 수신 처리부(220)로 입력한다. 이에 따라 데이터 수신 처리부(220)는 전송되는 제1 추가 분할 데이터(DATA[0:1]), 제2 추가 분할 데이터(DATA[2:3]), 제3 추가 분할 데이터(DATA[4:5]), 및 제4 추가 분할 데이터(DATA[6:7])의 수신 동작을 수행할 뿐, ECC 디코딩 동작은 수행하지 않는다. ECC 디코딩 동작이 수행되지 않으므로 에러 신호(E)의 값 또한 제2 FSM 컨트롤러(210)로 입력되지 않는다. 그리고 제2 FSM 컨트롤러(220)로부터 출력되는 수신 완료 신호(Y) 및 재전송 요청 신호(Z)는 모두 "0"의 값을 유지한다.
도 18을 참조하면, 데이터 송신부(100)로부터 데이터 수신부(200)로 제1 추가 분할 데이터(DATA[0:1]), 제2 추가 분할 데이터(DATA[2:3]), 제3 추가 분할 데이터(DATA[4:5]), 및 제4 추가 분할 데이터(DATA[6:7])의 전송이 완료되면, 유효 신호(V)는 값 "1"에서 "0"으로 변경된다. 데이터 수신부(200)의 제2 FSM 컨트롤러(210)는, 유효 신호(V)가 값 "1"에서 "0"으로 변경됨에 따라, ECC 디코딩 제어 신호(D)로서 값 "1"을 데이터 수신 처리부(220)로 입력시킨다. 데이터 수신 처리부(220)의 데이터 수신 로직(224)은 전송된 제1 추가 분할 데이터(DATA[0:1]), 제2 추가 분할 데이터(DATA[2:3]), 제3 추가 분할 데이터(DATA[4:5]), 및 제4 추가 분할 데이터(DATA[6:7])를 병합하여 전송 데이터를 복원하고, 복원된 전송 데이터를 ECC 디코더(222)로 입력시킨다. 데이터 수신 처리부(220)의 ECC 디코더(222)는, 데이터 수신 로직(224)으로부터 전송 데이터를 입력받고 ECC 디코딩을 수행하여 에러 발생 여부를 판정한다. 전송 데이터에 에러가 발생되지 않은 경우 ECC 디코더(222)는 에러 신호(E)로서 "0"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "0"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "1"의 값과 재전송 요청 신호(Z)로서 "0"의 값을 전송한다. 전송 데이터에 에러가 발생된 경우 ECC 디코더(222)는 에러 신호(E)로서 "1"의 값을 제2 FSM 컨트롤러(210)로 입력시킨다. "1"의 값을 갖는 에러 신호(E)를 입력받은 제2 FSM 컨트롤러(210)는, 데이터 송신부(100)로 수신 완료 신호(Y)로서 "0"의 값과 재전송 요청 신호(Z)로서 "1"의 값을 전송한다.
상술한 바와 같이 본 출원의 실시 형태들을 도면들을 예시하며 설명하지만, 이는 본 출원에서 제시하고자 하는 바를 설명하기 위한 것이며, 세밀하게 제시된 형상으로 본 출원에서 제시하고자 하는 바를 한정하고자 한 것은 아니다.
10...데이터 전송 시스템 100...데이터 송신부
110...데이터 송신부의 FSM 컨트롤러
120...데이터 송신 처리부 122...에러정정코드(ECC) 인코더
124...데이터 송신 로직 200...데이터 수신부
210...데이터 수신부의 FSM 컨트롤러
220...데이터 수신 처리부 222...에러정정코더(ECC) 디코더
224...데이터 수신 로직 311-318...데이터 전송 라인
321...유효 신호 전송 라인 331...수신 완료 신호 전송 라인
332...재전송 요청 신호 전송 라인

Claims (32)

  1. 데이터 송신부로부터의 N(N은 2 이상의 자연수)비트의 전송 데이터를 N개의 데이터 전송 라인들을 통해 병렬로 데이터 수신부로 전송하는 데이터 전송 시스템에 있어서,
    상기 데이터 수신부는, 수신된 상기 전송 데이터에 에러가 발생된 경우 상기 데이터 송신부로 재전송 요청 신호를 전송하도록 구성되고, 그리고
    상기 데이터 송신부는, 상기 재전송 요청 신호에 응답하여 상기 전송 데이터를 분할하여 분할된 전송 데이터가 제1 그라운드 데이터와 함께 재전송되는 1차 데이터 재전송 모드로 동작하도록 구성되는 데이터 전송 시스템.
  2. 제1항에 있어서,
    상기 1차 데이터 재전송 모드 동작은, 상기 N비트의 전송 데이터를 (N/2)비트의 제1 및 제2 분할 전송 데이터로 분할하고, 상기 제1 및 제2 분할 전송 데이터를 상기 제1 그라운드 데이터와 함께 재전송하여 수행되는 데이터 전송 시스템.
  3. 제2항에 있어서,
    상기 N개의 데이터 전송 라인들은, 각각이 상호 인접하는 첫번째 데이터 전송 라인 및 두번째 데이터 전송 라인으로 구성되는 (N/2)개의 데이터 전송 라인 그룹들을 포함하며,
    상기 1차 데이터 재전송 모드에서, 상기 제1 및 제2 분할 전송 데이터 각각의 비트값은 상기 (N/2)개의 데이터 전송 라인 그룹들 각각의 첫번째 데이터 전송 라인을 통해 전송되고, 상기 제1 그라운드 데이터는 두번째 데이터 전송 라인을 통해 전송되는 데이터 전송 시스템.
  4. 제2항에 있어서,
    상기 1차 데이터 재전송 모드에서, 첫번째 데이터 전송 클럭 주기 동안 상기 제1 분할 전송 데이터 및 제1 그라운드 데이터가 전송되고, 두번째 데이터 전송 클럭 주기 동안 상기 제2 분할 전송 데이터 및 제1 그라운드 데이터가 전송되는 데이터 전송 시스템.
  5. 제1항에 있어서,
    상기 제1 그라운드 데이터는 "0"의 바이너리 비트값으로 구성되는 데이터 전송 시스템.
  6. 제1항에 있어서,
    상기 데이터 수신부는, 상기 1차 데이터 재전송 모드에서 전송된 전송 데이터에 에러가 발생된 경우 상기 데이터 송신부로 2차 재전송 요청 신호를 전송하도록 구성되고, 그리고
    상기 데이터 송신부는, 상기 2차 재전송 요청 신호에 응답하여 상기 전송 데이터를 추가 분할하여 추가 분할된 전송 데이터가 제2 그라운드 데이터와 함께 재전송되는 2차 데이터 재전송 모드로 동작하도록 구성되는 데이터 전송 시스템.
  7. 제6항에 있어서,
    상기 2차 데이터 재전송 모드 동작은, 상기 N비트의 전송 데이터를 (N/4)비트의 제1 내지 제4 추가 분할 전송 데이터로 분할하고, 상기 제1 내지 제4 추가 분할 전송 데이터를 상기 제2 그라운드 데이터와 함께 재전송하여 수행하는 데이터 전송 시스템.
  8. 제7항에 있어서,
    상기 N개의 데이터 전송 라인들은, 각각이 상호 인접하는 첫번째 내지 네번째 데이터 전송 라인으로 구성되는 (N/4)개의 데이터 전송 라인 그룹들을 포함하며,
    상기 2차 데이터 재전송 모드에서, 상기 제1 내지 제4 추가 분할 전송 데이터 각각의 비트값은 상기 데이터 전송 라인 그룹들 각각의 첫번째 전송 라인을 통해 전송되고, 상기 제2 그라운드 데이터는, 상기 데이터 전송 라인 그룹들 각각의 두번째 내지 네번째 전송 라인들을 통해 전송되는 데이터 전송 시스템.
  9. 제7항에 있어서,
    상기 2차 데이터 재전송 모드에서, 첫번째 데이터 전송 클럭 주기 동안 상기 제1 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되고, 두번째 데이터 전송 클럭 주기 동안 상기 제2 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되고, 세번째 데이터 전송 클럭 주기 동안 상기 제3 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되며, 그리고 네번째 데이터 전송 클럭 주기 동안 상기 제4 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되는 데이터 전송 시스템.
  10. 제6항에 있어서,
    상기 제2 그라운드 데이터는 "0"의 바이너리 비트값으로 구성되는 데이터 전송 시스템.
  11. 제1항에 있어서, 상기 데이터 송신부는,
    데이터 송신 동작을 제어하는 제1 FSM 컨트롤러; 및
    상기 제1 FSM 컨트롤러의 제어에 의해 정상 전송 모드, 상기 1차 데이터 재전송 모드, 및 2차 데이터 재전송 모드로의 데이터 전송 동작을 수행하는 데이터 송신 처리부를 포함하는 데이터 전송 시스템.
  12. 제11항에 있어서, 상기 데이터 송신 처리부는,
    에러 정정 코드(ECC) 인코딩을 수행하여 에러 정정 코드가 포함된 전송 데이터를 생성하는 에러 정정 코드 인코더; 및
    상기 에러 정정 코드 인코더로부터의 전송 데이터를 상기 제1 FSM 컨트롤러로부터 입력되는 데이터 전송 모드 제어 신호가 지정하는 전송 모드로 전송시키는 데이터 송신 로직을 포함하는 데이터 전송 시스템.
  13. 제12항에 있어서,
    상기 제1 FSM 컨트롤러는, 복수개의 상태들 각각의 동작이 수행되도록 하되,
    상기 복수개의 상태들은, 데이터 전송 대기 상태의 제1 상태와, 상기 정상 전송 모드 상태의 제2 상태와, 상기 1차 데이터 재전송 모드 상태의 제3 상태와, 그리고 상기 2차 데이터 재전송 모드 상태의 제4 상태를 포함하는 데이터 전송 시스템.
  14. 제13항에 있어서, 상기 제1 FSM 컨트롤러는,
    데이터 전송 제어 신호에 응답하여 상기 제1 상태에서 상기 제2 상태로 천이하여 상기 정상 전송 모드에 대응하는 데이터 전송 모드 제어 신호를 발생시키고,
    상기 데이터 수신부로부터의 재전송 요청 신호에 응답하여 상기 제2 상태에서 상기 제3 상태로 천이하여 상기 1차 데이터 재전송 모드에 대응하는 데이터 전송 모드 제어 신호를 발생시키고,
    상기 데이터 수신부로부터의 2차 재전송 요청 신호에 응답하여 상기 제3 상태에서 상기 제4 상태로 천이하여 상기 2차 데이터 재전송 모드에 대응하는 데이터 전송 모드 제어 신호를 발생시키며, 그리고
    상기 데이터 수신부로부터의 수신 완료 신호에 응답하여 상기 제2 내지 제4 상태로부터 상기 제1 상태로 천이하는 데이터 전송 시스템.
  15. 제14항에 있어서, 상기 데이터 송신 로직은,
    상기 정상 전송 모드에 대응하는 데이터 전송 모드 제어 신호에 응답하여, 상기 N비트의 전송 데이터를 상기 N개의 전송 라인들을 통해 전송시키고,
    상기 1차 데이터 재전송 모드에 대응하는 데이터 전송 모드 제어 신호에 응답하여, 상기 N비트의 전송 데이터를 (N/2)비트의 제1 및 제2 분할 전송 데이터로 분할하고, 상기 제1 및 제2 분할 전송 데이터를 상기 제1 그라운드 데이터와 함께 재전송시키며, 그리고
    상기 2차 데이터 재전송 모드에 대응하는 데이터 전송 모드 제어 신호에 응답하여, 상기 N비트의 전송 데이터를 (N/4)비트의 제1 내지 제4 분할 전송 데이터로 분할하고, 상기 제1 내지 제4 분할 전송 데이터를 상기 제2 그라운드 데이터와 함께 재전송시키는 데이터 전송 시스템.
  16. 제1항에 있어서,
    상기 데이터 송신부 및 데이터 수신부 사이의 유효 신호 라인을 더 포함하고,
    상기 데이터 송신부는, 데이터 전송이 이루어지는 동안 일정 레벨을 유지하는 유효 신호를 상기 유효 신호 라인을 통해 상기 데이터 수신부로 전송하는 데이터 전송 시스템.
  17. 제16항에 있어서, 상기 데이터 수신부는,
    전송 데이터의 수신 동작 및 재전송 요청 동작을 제어하는 제2 FSM 컨트롤러; 및
    상기 제2 FSM 컨트롤러로의 제어에 의해 상기 데이터 송신부로부터 전송되는 전송 데이터에 대한 수신 동작 및 전송 데이터의 에러 체크 동작을 수행하는 데이터 수신 처리부를 포함하는 데이터 전송 시스템.
  18. 제17항에 있어서, 상기 데이터 수신 처리부는,
    상기 데이터 송신부로부터 전송되는 전송 데이터를 수신하고, 상기 분할된 전송 데이터를 병합시켜 전송 데이터를 복원하는 데이터 수신 로직; 및
    상기 데이터 수신 로직으로부터 입력되는 전송 데이터에 대한 에러 정정 코드(ECC) 디코딩을 수행하여 에러 발생 여부를 나타내는 에러 신호를 출력하는 에러 정정 코드 디코더를 포함하는 데이터 전송 시스템.
  19. 제18항에 있어서,
    상기 제2 FSM 컨트롤러는, 복수개의 상태들 각각의 동작이 수행되도록 하되,
    상기 복수개의 상태들은, 데이터 수신 대기 상태의 제1 상태와, 데이터 수신 상태의 제2 상태와, 에러 정정 모드 디코딩 상태의 제3 상태와, 수신 완료 상태의 제4 상태와, 그리고 재전송 요청 상태의 제5 상태를 포함하는 데이터 전송 시스템.
  20. 제19항에 있어서, 상기 제2 FSM 컨트롤러는,
    상기 데이터 송신부로부터의 유효 신호의 제1 레벨에서 제2 레벨로의 변동에 응답하여 상기 제1 상태에서 상기 제2 상태로 천이하여 전송 데이터를 수신하는 제어 신호를 발생시키고,
    상기 유효 신호의 상기 제2 레벨에서 상기 제1 레벨로의 변동에 응답하여 상기 제2 상태에서 상기 제3 상태로 천이하여 에러 정정 코드 디코딩이 수행되도록 하는 제어 신호를 발생시키며, 그리고
    상기 에러 신호에 응답하여 상기 제3 상태에서 상기 제4 상태 또는 제5 상태로 천이하여, 수신 완료 신호 및 재전송 요청 신호를 발생시키는 제어 신호를 발생시키는 데이터 전송 시스템.
  21. 데이터 송신부로부터의 N(N은 2 이상의 자연수)비트의 전송 데이터를 N개의 데이터 전송라인들을 통해 병렬로 데이터 수신부로 전송하는 단계;
    상기 데이터 수신부로 수신된 전송 데이터에 에러가 발생된 경우 재전송 요청 신호를 상기 데이터 송신부로 전송하는 단계; 및
    상기 재전송 요청 신호에 응답하여 상기 데이터 송신부로부터 상기 전송 데이터를 분할하여 분할된 전송 데이터가 제1 그라운드 데이터와 함께 상기 데이터 수신부로 재전송되는 1차 데이터 재전송 동작을 수행하는 단계를 포함하는 데이터 전송 방법.
  22. 제21항에 있어서,
    상기 1차 데이터 재전송 동작은, 상기 N비트의 전송 데이터를 (N/2)비트의 제1 및 제2 분할 전송 데이터로 분할하고, 상기 제1 및 제2 분할 전송 데이터를 상기 제1 그라운드 데이터와 함께 재전송하여 수행되는 데이터 전송 방법.
  23. 제22항에 있어서,
    상기 N개의 데이터 전송 라인들은, 각각이 상호 인접하는 첫번째 데이터 전송 라인 및 두번째 데이터 전송 라인으로 구성되는 (N/2)개의 데이터 전송 라인 그룹들을 포함하며,
    상기 1차 데이터 재전송 동작은, 상기 제1 및 제2 분할 전송 데이터 각각의 비트값은 상기 (N/2)개의 데이터 전송 라인 그룹들 각각의 첫번째 데이터 전송 라인을 통해 전송되고, 상기 제1 그라운드 데이터는 두번째 데이터 전송 라인을 통해 전송되도록 하여 수행하는 데이터 전송 방법.
  24. 제22항에 있어서,
    상기 1차 데이터 재전송 동작을 수행하는 단계는, 첫번째 데이터 전송 클럭 주기 동안 상기 제1 분할 전송 데이터 및 제1 그라운드 데이터가 전송되고, 두번째 데이터 전송 클럭 주기 동안 상기 제2 분할 전송 데이터 및 제1 그라운드 데이터가 전송되도록 하여 수행하는 데이터 전송 방법.
  25. 제24항에 있어서,
    상기 1차 데이터 재전송 동작이 수행되는 동안 일정 레벨의 유효 신호를 상기 데이터 수신부로 전송하는 단계를 더 포함하는 데이터 전송 방법.
  26. 제21항에 있어서,
    상기 제1 그라운드 데이터는 "0"의 바이너리 비트값으로 구성되도록 하는 데이터 전송 방법.
  27. 제21항에 있어서,
    상기 재전송된 전송 데이터에 에러가 발생된 경우 상기 데이터 송신부로 2차 재전송 요청 신호를 전송하는 단계; 및
    상기 2차 재전송 요청 신호에 응답하여 상기 데이터 송신부로부터 상기 전송 데이터를 추가 분할하여 추가 분할된 전송 데이터가 제2 그라운드 데이터와 함께 상기 데이터 수신부로 2차 재전송되는 2차 데이터 재전송 동작을 수행하는 단계를 더 포함하는 데이터 전송 방법.
  28. 제27항에 있어서,
    상기 2차 데이터 재전송 동작을 수행하는 단계는, 상기 N비트의 전송 데이터를 (N/4)비트의 제1 내지 제4 추가 분할 전송 데이터로 분할하고, 상기 제1 내지 제4 추가 분할 전송 데이터를 상기 제2 그라운드 데이터와 함께 재전송하여 수행하는 데이터 전송 방법.
  29. 제28항에 있어서,
    상기 N개의 데이터 전송 라인들은, 각각이 상호 인접하는 첫번째 내지 네번째 데이터 전송 라인으로 구성되는 (N/4)개의 데이터 전송 라인 그룹들을 포함하며,
    상기 2차 데이터 재전송 동작은, 상기 제1 내지 제4 추가 분할 전송 데이터 각각의 비트값은 상기 데이터 전송 라인 그룹들 각각의 첫번째 전송 라인을 통해 전송되고, 상기 제2 그라운드 데이터는, 상기 데이터 전송 라인 그룹들 각각의 두번째 내지 네번째 전송 라인들을 통해 전송하여 수행하는 데이터 전송 방법.
  30. 제28항에 있어서,
    상기 2차 데이터 재전송 동작을 수행하는 단계는, 첫번째 데이터 전송 클럭 주기 동안 상기 제1 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되고, 두번째 데이터 전송 클럭 주기 동안 상기 제2 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되고, 세번째 데이터 전송 클럭 주기 동안 상기 제3 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되며, 그리고 네번째 데이터 전송 클럭 주기 동안 상기 제4 추가 분할 전송 데이터 및 제2 그라운드 데이터들이 전송되도록 수행하는 데이터 전송 방법.
  31. 제20항에 있어서,
    상기 2차 데이터 재전송 동작이 수행되는 동안 일정 레벨의 유효 신호를 상기 데이터 수신부로 전송하는 단계를 더 포함하는 데이터 전송 방법.
  32. 제27항에 있어서,
    상기 제2 그라운드 데이터는 "0"의 바이너리 비트값으로 구성되는 데이터 전송 방법.
KR1020190066425A 2019-06-05 2019-06-05 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법 KR20200140419A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190066425A KR20200140419A (ko) 2019-06-05 2019-06-05 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법
CN201911395452.3A CN112054882B (zh) 2019-06-05 2019-12-30 抑制因串扰而导致数据错误发生的数据传输系统及方法
US16/731,461 US11005599B2 (en) 2019-06-05 2019-12-31 Data transmission systems and data transmission methods of suppressing data error occurrences due to crosstalk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190066425A KR20200140419A (ko) 2019-06-05 2019-06-05 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR20200140419A true KR20200140419A (ko) 2020-12-16

Family

ID=73609178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190066425A KR20200140419A (ko) 2019-06-05 2019-06-05 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법

Country Status (3)

Country Link
US (1) US11005599B2 (ko)
KR (1) KR20200140419A (ko)
CN (1) CN112054882B (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756976B2 (ja) * 1988-02-25 1995-06-14 富士通株式会社 情報分配方式とその送信局および端末装置
US6438178B1 (en) * 1999-08-11 2002-08-20 Intel Corporation Integrated circuit for receiving a data stream
WO2003058946A2 (en) * 2001-12-24 2003-07-17 Silicon Image, Inc. Method and system for video and auxiliary data transmission over a serial link
KR101076230B1 (ko) 2010-08-03 2011-10-26 삼성탈레스 주식회사 이동통신 시스템에서 데이터 병렬 송수신 장치 및 방법
JP5857568B2 (ja) * 2011-09-15 2016-02-10 富士通株式会社 情報処理システム、受信装置、及び情報処理方法
KR101502759B1 (ko) * 2012-03-30 2015-03-24 한국전자통신연구원 데이터 송신 장치, 데이터 수신 장치 및 데이터 전송 방법
KR20140065909A (ko) * 2012-11-22 2014-05-30 에스케이하이닉스 주식회사 송신회로, 수신회로 및 송/수신 시스템
US8781022B1 (en) * 2013-03-01 2014-07-15 Au Optronics Corporation Methods for multi-level data transmission
JP6180863B2 (ja) * 2013-09-18 2017-08-16 株式会社東芝 Icカード、携帯可能電子装置、及び、icカード処理装置
US9325449B2 (en) * 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9654251B1 (en) * 2015-12-03 2017-05-16 Qualcomm Incorporated Joint crosstalk-avoidance and error-correction coding for parallel data busses
KR102131834B1 (ko) * 2016-09-30 2020-07-08 엘지전자 주식회사 Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
KR20180106495A (ko) * 2017-03-20 2018-10-01 에스케이하이닉스 주식회사 반도체장치
JP6991784B2 (ja) * 2017-08-24 2022-01-13 株式会社モバイルテクノ 無線通信システム、再送パラメータ決定装置、および再送パラメータ通知方法
KR102365030B1 (ko) * 2017-10-20 2022-02-21 한국전자통신연구원 신뢰성을 높이기 위한 mptcp 경로 설정 방법

Also Published As

Publication number Publication date
US11005599B2 (en) 2021-05-11
CN112054882B (zh) 2023-06-13
US20200389252A1 (en) 2020-12-10
CN112054882A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
US8581755B2 (en) Multiple word data bus inversion
US9948507B2 (en) Backchannel communications for initialization of high-speed networks
US8436758B2 (en) Adaptive ternary A/D converter for use in an ultra-wideband communication system
US10372527B2 (en) Method of encoding data
EP2192715A2 (en) System including transmitter and receiver
US9647688B1 (en) System and method of encoding in a serializer/deserializer
KR20070006764A (ko) 폴트 허용한계 및 증가된 안정성을 제공하는 데이터 통신모듈
US9979566B2 (en) Hybrid forward error correction and replay technique for low latency
AU2014227460A1 (en) Maximal transition hamming codes
US8799545B2 (en) Restoring stability to an unstable bus
US8484546B2 (en) Information processing apparatus, information transmitting method, and information receiving method
KR20200140419A (ko) 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법
JP2010183196A (ja) データ転送システム、データ送信装置、データ受信装置及びデータ転送方法
US7366952B2 (en) Interconnect condition detection using test pattern in idle packets
JP4684185B2 (ja) 通信システム
US7812618B2 (en) Printed circuit board, and backplane data transmission method
CN110532127B (zh) 一种差错校验位协议转换器
CN108694100B (zh) 数据变换装置
US20110142165A1 (en) Flexible self-adaptive differential system to improve transmission efficiency
JPH0654017A (ja) スキュー変換点の訂正・検出方法及び通信システム
US10846085B2 (en) Multi-lane data processing circuit and system
US20190235947A1 (en) Transfer apparatus and transfer method
KR100574359B1 (ko) 직렬데이터의 송수신 장치 및 그 방법
JPH03159421A (ja) データ伝送システムにおける最適誤り訂正符号化選択方式
JPH0437342A (ja) データ伝送方法及びデータ伝送装置