KR101346293B1 - 디시리얼라이저 및 데이터 복원 방법 - Google Patents

디시리얼라이저 및 데이터 복원 방법 Download PDF

Info

Publication number
KR101346293B1
KR101346293B1 KR1020070053403A KR20070053403A KR101346293B1 KR 101346293 B1 KR101346293 B1 KR 101346293B1 KR 1020070053403 A KR1020070053403 A KR 1020070053403A KR 20070053403 A KR20070053403 A KR 20070053403A KR 101346293 B1 KR101346293 B1 KR 101346293B1
Authority
KR
South Korea
Prior art keywords
sync
data packet
data
register
signal
Prior art date
Application number
KR1020070053403A
Other languages
English (en)
Other versions
KR20080078508A (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/034,157 priority Critical patent/US8045667B2/en
Publication of KR20080078508A publication Critical patent/KR20080078508A/ko
Application granted granted Critical
Publication of KR101346293B1 publication Critical patent/KR101346293B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

디시리얼라이저가 제공된다. 이 디시리얼라이저는 복수의 레지스터, 싱크 검출부 및 손실비트 저장부를 구비한다. 외부로부터 입력되는 데이터 패킷과 이 데이터 패킷과 함께 전송되는 복원클럭 간의 위상오차가 발생한 경우, 상기 싱크 검출부는 활성화된 싱크 검출신호를 생성한다. 손실비트 저장부는 상기 싱크 검출신호가 활성화된 시점에 대응하는 상기 데이터 패킷의 데이터 비트를 검출한다. 디시리얼라이저는 상기 검출된 데이터 비트를 상기 데이터 패킷과 조합함으로써, 상기 데이터 패킷을 복원한다.

Description

디시리얼라이저 및 데이터 복원 방법{DESERIALIZER AND DATA RECOVERY METHOD}
본 발명의 상세한 설명에서 사용되는 도면을 보다 충분히 이해하기 위하여, 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 디시리얼라이저를 포함된 전체 시스템의 구성을 나타낸 도면이다.
도 2는 도 1에 도시된 디시리얼라이저의 구성을 나타내는 도면이다.
도 3은 도 2에 도시된 제 1 레지스터의 구성을 나타내는 도면이다.
도 4는 도 2에 도시된 제 1 레지스터로 입력되는 데이터 비트들의 저장순서를 설명하기 위한 도면이다.
도 5는 시리얼 데이터 패킷과 복원 클럭 간에 위상 오차가 발생한 경우, 제 1 레지스터에 로딩되는 데이터 비트들의 저장순서를 설명하기 위한 도면이다.
도 6은 도 2에 도시된 싱크 검출부의 구성을 나타낸 도면이다.
도 7는 도 2에 도시된 손실비트 저장부의 구성을 나타낸 도면이다.
도 8은 도 2에 도시된 패킷 조합부의 구성을 개략적으로 나타낸 도면이다.
도 9는 도 8에 도시된 선택신호 생성기의 구성을 개략적으로 나타낸 도면이다.
도 10는 복원 클럭과 시리얼 데이터 패킷 간의 위상오차가 발생한 경우, 본 발명에 따른 디시리얼라이저의 동작과정을 설명하기 위한 타이밍도이다.
도 11은 복원 클럭과 시리얼 데이터 패킷 간의 위상오차가 발생하지 않은 경우, 본 발명에 따른 디시리얼라이저의 동작과정을 설명하기 위한 타이밍도이다.
도 12는 본 발명에 따른 데이터 복원 방법을 설명하기 위한 순서도이다.
본 발명은 디시리얼라이저에 관한 것으로서, 보다 상세하게는 외부로부터 입력되는 데이터 패킷과 이 데이터 패킷을 복원하기 위한 클럭 신호 간의 위상오차로 인하여 입력되는 데이터 패킷의 데이터 비트의 손실을 방지할 수 있는 디시리얼라이저에 관한 것이다.
전자회로 시스템들 간의 데이터 통신방식은 크게 패러럴 통신방식과 시리얼 통신방식으로 나눌 수 있다. 패러럴 통신방식은 데이터 비트를 바이트 단위로 송수신하는 통신방식이다. 시리얼 통신방식은 데이터 비트를 비트단위로 송수신하는 통신방식이다.
일반적으로 전자회로 시스템은 내부적으로 고속의 데이터 처리속도에 촛점을 맞추어 설계된다. 이로 인하여 한번에 많은 양의 데이터를 처리할수 있는 패러럴 통신방식이 주로 이용된다. 이 패러럴 통신방식은 데이터 전송거리의 제한성, 하드웨어 구성의 어려움 및 하드웨어 구성에 따른 많은 비용 등이 소요된다. 또한, 많 은 양의 데이터 전송이 요구되지 않는 부분에서 패러럴 통신은 비효율적이다.
이러한 이유로 하나의 전자회로 시스템과 다른 하나의 전자회로 시스템 간의 통신방식은 주로 시리얼 통신방식을 이용한다. 이 시리얼 통신방식은 패러럴 통신에 비해 채널의 수가 적고, 또한 채널을 통해 전송되는 신호들 간의 간섭이 적어 데이터의 통신속도를 늘릴수 있는 장점이 있다.
이처럼 고속의 시리얼 통신방식을 이용하는 경우, 데이터를 수신하는 수신부는 송신부로부터의 시리얼 데이터를 입력받으며 이 시리얼 데이터를 패러럴 데이터로 다시 복원하기 위하여 디시리얼라이저를 구비한다. 이때, 수신부측에 구비된 디시리얼라이저는 시리얼 데이터 및 이 시리얼 데이터를 다시 패러럴 데이터로 복원하기 위한 클럭 신호를 함께 수신한다.
한편, 시리얼 데이터로부터 패러럴 데이터로의 정확한 데이터 복원을 위해서는 송신부로부터 수신된 시리얼 데이터 신호의 위상과 클럭 신호의 위상이 정확히 동기되어야 한다. 그러나, 신호라인에 의한 전송 지연 등과 같은 외부요인에 의해 데이터 신호와 클럭 신호 간의 스큐(skew)가 발생한다. 이 경우, 시리얼 데이터가 패러럴 데이터로 복원되는 과정에 있어서, 시리얼 데이터의 일부 데이터 비트가 손실되는 경우가 발생한다.
따라서, 본 발명의 목적은 외부로부터 입력되는 데이터 패킷과 이 데이터 패킷을 복원하기 위한 클럭신호 간의 위상오차로 인하여 발생하는 상기 데이터 패킷에 포함된 데이터 비트의 손실을 복원할 수 있는 디시리얼라이저를 제공하는데 있 다.
본 발명의 다른 목적은 데이터 복원 방법을 제공하는데 있다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명은 디시리얼라이저에 관한 것이다. 본 발명의 디시리얼라이저는 제 1 레지스터, 싱크 검출부, 손실비트 저장부, 제 2 레지스터, 패킷 조합부 및 제 3 레지스터를 포함한다.
상기 제 1 레지스터는 복원클럭신호에 응답하여 외부로부터의 싱크 데이터 패킷 및 시리얼 데이터 패킷을 순차적으로 로딩한다. 상기 싱크 검출부는 상기 싱크 데이터 패킷과 상기 복원클럭신호 간의 동기 여부에 근거하여 싱크 검출신호를 출력한다. 상기 손실비트 저장부는 상기 싱크 검출부로부터의 싱크 검출신호가 활성화시점에 대응하는 상기 싱크 데이터 패킷의 데이터 비트를 출력하고, 상기 출력된 데이터 비트를 손실비트로서 출력한다. 상기 제 2 레지스터는 상기 제 1 레지스터로부터의 시리얼 데이터 패킷을 로딩한다. 상기 패킷 조합부는 상기 활성화된 싱크 검출신호에 응답하여 상기 제 2 레지스터로부터의 시리얼 데이터 패킷과 상기 손실비트를 조합한 데이터 패킷을 출력한다. 상기 제 3 레지스터는 상기 조합된 데이터 패킷을 입력받고, 상기 조합된 데이터 패킷을 병렬로 출력한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 각 도면을 이해함에 있어서, 동일한 부재는 가능한 한 동일한 참조부호로 도시하고자 함에 유의해야 한다.
또한, 아래의 설명에서, 구체적인 처리 흐름과 같은 많은 특정 상세들은 본 발명의 보다 전반적인 이해를 제공하기 위해 기술된다. 그러나, 이들 특정 상세들 없이도, 본 발명이 실시될 수 있다는 것은 당해 기술분야에서 통상의 지식을 가진 자에게는 자명한 사실이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 기술은 생략된다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명에 따른 디시리얼라이저(200)가 포함된 전체 시스템(1000)의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 디시리얼라이저(200)를 포함한 전체 시스템(1000)은 제 1 시스템, 제 1 시스템과 시리얼 통신방식에 근거하여 데이터 통신을 하는 제 2 시스템 및 제 1 시스템과 제 2 시스템간의 시리얼 통신을 위한 통신선로(L1, L2)를 포함한다.
제 1 시스템은 제 1 데이터 처리유닛(10) 및 송신부(TX)를 포함한다.
제 1 데이터 처리유닛(10)은 시리얼 클럭(SCLK), 싱크 데이터 패킷(sync-PDATA) 및 복수의 패러럴 데이터 패킷(PDATA1~PDATAn)을 송신부(TX)로 출력한다.
송신부(TX)는 클럭 발생기(110) 및 시리얼라이저(130)를 포함한다.
클럭 발생기(110)는 시리얼 클럭(SCLK)을 입력받아 송신클럭(DDR-ICLK) 및 송신클럭(DDR-ICLK)과 90도의 위상차를 갖는 복원클럭(DDR-QCLK)을 생성한다. 생성된 송신클럭(DDR-ICLK)은 시리얼 라이저(130)로 입력되고, 복원클럭(DDR-QCLK)은 제 1 통신선로(L1) 통하여 제 2 시스템에 구비된 수신부(RX)로 전송된다.
시리얼 라이저(130)는 제 1 데이터 처리유닛(10)으로부터 1 바이트로 정의되는 싱크 데이터 패킷(sync-PDATA)과 복수의 패러럴 데이터 패킷(PDATA1~PDATAn)을 병렬로 입력받아 직렬로 출력한다.
구체적으로, 각 데이터 패킷들(sync-PDATA, PDATA1~PDATAn)은 복수의 데이터 비트로 구성되며, 시리얼 데이터 통신방식에 근거하여 1비트씩 제2 통신선로(L2)로 출력된다. 본 실시예에서는, 각 데이터 패킷들이 8비트의 데이터 비트로 구성된 것으로 한정하여 설명한다.
제 2 시스템은 수신부(RX)와 제2 데이터 처리유닛(20)을 포함한다.
수신부(RX)는 통신선로(L2)를 통하여 비트단위로 입력되는 데이터 패킷들(sync-SDATA, SDATA1~SDATAn)을 바이트단위로 복원하여 제 2 데이터 처리유닛(20)으로 출력한다. 제 2 데이터 처리유닛(20)은 바이트 단위로 복원된 데이터 패킷들을 입력받아 소정의 데이터 처리작업을 수행한다.
구체적으로, 수신부(RX)는 본 발명에 따른 디시리얼라이저(200)를 포함한다.
디시리얼라이저(200)는 제 1 통신선로(L1)를 통해 복원 클럭(DDR-QCLK)과 제 2 통신선로(L2)를 통해 시리얼 데이터 패킷들(sync-SDATA, SDATA1 ~ SDATAn)을 입력받는다.
디시리얼라이저(200)는 입력된 시리얼 데이터 패킷들(sync-SDATA, SDATA1~SDATAn)을 패러럴 데이터 형태로 복원하여 제 2 데이터 처리유닛(20)으로 출력한다. 이때, 각 시리얼 데이터 패킷들(sync-SDATA, SDATA1~SDATAn)은 송신클 럭(DDR-ICLK)과 90도의 위상차를 갖는 복원 클럭(DDR-QCLK)에 동기되어 복원된다.
구체적으로, 디시리얼라이저(200)로 수신된 데이터 패킷들(sync-SDATA, SDATA1~SDATAn)은 복원 클럭(DDR-QCLK)의 한 주기에 포함된 상승에지와 하강에지에 동기되어 복원된다. 이러한 데이터 복원방식을 더블 데이터 레이트 방식(Double Data Rate; DDR)이라고도 칭한다. 이 더블 데이터 레이트 방식은 데이터 복원에만 이용되지 않고, 데이터의 읽기와 쓰기 등 다양한 분야에서 데이터의 처리성능을 향상시키기 위한 기술로 널리 이용된다.
도 2는 도 1에 도시된 디시리얼라이저(200)의 구성을 나타낸 프레임도이다.
도 2를 참조하면, 본 발명에 따른 디시리얼라이저(200)는 제 1 내지 제 3 레지스터(210, 220, 230), 싱크 검출부(240), 손실비트 저장부(250), 클럭 변환부(260) 및 패킷 조합부(270)를 포함한다.
제 1 레지스터(210)는 송신부(TX)로부터 복원 클럭(DDR-QCLK), 시리얼 싱크 데이터 패킷(sync_SDATA[8:1]) 및 시리얼 데이터 패킷(SDATA[8:1])를 입력받는다. 제 1 레지스터(210)는 복원 클럭(DDR-QCLK)을 이용하여 시리얼 싱크 데이터 패킷(sync_SDATA)과 복수의 시리얼 데이터 패킷들(SDATA1~SDATAn)을 순차적으로 로딩한다. 여기서, 상기 시리얼 싱크 데이터 패킷(sync_SDATA)은 복수의 시리얼 데이터 패킷들(SDATA1~SDATAn)이 제 1 레지스터(210)에 로딩되기에 앞서 로딩되는 데이터 패킷으로서, 데이터 패킷들과 복원 클럭(DDR-QCLK) 간의 위상 오차 여부를 판별하는데 이용된다. 이에 대한 구체적인 설명은 하기에서 설명하기로 한다.
도 3은 도 2에 도시된 제 1 레지스터(210)의 구성을 나타내는 도면이다.
도 3을 참조하면, 제 1 레지스터(210)는 제 1 플립플롭 그룹(210A)과 제 2 플립플롭 그룹(210B)을 포함한다.
제 1 플립플롭 그룹(210A)은 서로 종속적으로 연결된 4개의 플립플롭(FF0, FF2, FF4, FF6)으로 구성된다. 각 플립 플롭(FF1, FF3, FF5, FF7)은 입력단자(D), 출력단자(Q) 및 클럭단자(CK)를 구비한다. 각 플립플롭의 입력단자(D)들은 이전 스테이지의 플립플롭의 출력단자(Q)에 각각 연결되며, 각 플립 플롭의 클럭단자(CK)들은 복원 클럭(DDR-QCLK)을 공통으로 입력받는다.
제 2 플립플롭 그룹(210B)은 제 1 플립플롭 그룹(210A)과 동일한 구성 및 기능을 갖는다. 다만, 제 2 플립플롭 그룹(210B)에 포함된 각 플립플롭들(FF2, FF4, FF6, FF8)은 반전된 복원클럭(DDR-QCLKB)을 공통으로 입력받는다. 따라서, 제 1 플립플롭 그룹(210A)은 복원 클럭(DDR-QCLK)의 상승에지에 동기된 데이터 비트들을 로딩하고, 제 2 플립플롭 그룹(210B)은 복원 클럭(DDR-QCLK)의 하강에지에 동기된 데이터 비트들을 로딩한다.
결과적으로, 첫 번째로 입력되는 데이터 비트는 최종적으로 FF1에 로딩되고, 두 번째로 입력되는 데이터 비트는 최종적으로 FF2에 입력된다.
도 4는 도 2에 도시된 제 1 레지스터(210)로 입력되는 데이터 비트들의 저장순서를 설명하기 위한 도면이다.
도 4를 참조한 설명에 앞서, 'a8 a7 a6 a5 a4 a3 a2 a1'로 구성된 시리얼 데이터 패킷이 제 1 레지스터(210)에 입력된다고 가정한다. 각 알파벳 소문자는 '1' 또는 '0' 중 어느 하나의 이진값을 갖는 데이터 비트이며, 최하위 데이터 비트(a1) 가 먼저 입력되는 것으로 가정한다. 물론 MSB(a8)가 먼저 입력되어도 무방하며, 이 경우 각 플립 플롭의 순서만 바꾸어주면 된다.
도 4를 참조하면, 입력되는 데이터 비트들은 총 8비트이고, 각 데이터 비트들은 복원 클럭(DDR-QCLK)의 한 클럭 사이클에 포함된 상승에지와 하강에지에 각각 동기되어 로딩된다. 따라서, 4 클럭 사이클(Ⅰ, Ⅱ, Ⅲ, Ⅳ) 동안 모든 데이터 비트들이 로딩된다. 즉, 입력되는 데이터 비트들의 홀수 번째 데이터 비트들(a1, a3, a5, a7)은 네 클럭 사이클(Ⅰ, Ⅱ, Ⅲ, Ⅳ)의 상승에지에 동기되어 제 1 플립플롭 그룹(210A)에 순차적으로 로딩된다. 그리고, 입력되는 데이터 비트들의 짝수 번째 데이터 비트들(a2, a4, a6, a8)은 네 클럭 사이클(Ⅰ, Ⅱ, Ⅲ, Ⅳ)의 하강에지에 각각 동기되어 제 2 플립플롭 그룹(210B)에 순차적으로 로딩된다.
따라서, 첫 번째로 입력되는 데이터 비트(a1)가 복원 클럭(DDR-QCLK)의 상승에지에 동기되는 경우, 데이터 비트(a1)는 FF1에 로딩되고, 두 번째로 입력되는 데이터 비트 'a2'는 FF2에 로딩된다. 그리고, 마지막 데이터 비트(a8)은 FF8에 로딩된다.
한편, 첫 번째로 입력되는 데이터 비트(a1)가 복원클럭(DDR-QCLK)의 하강에지에 동기되는 경우(시리얼 데이터 패킷(SDATA)과 복원 클럭(DDR-QCLK) 간의 위상 오차가 발생된 경우), 제 1 레지스터(210)에 로딩되는 데이터 패킷은 뒤이어 입력되는 데이터 패킷의 첫 번째 데이터 비트를 포함하게 된다. 이에 대한 구체적인 설명은 도 5를 참조하여 설명하기로 한다.
도 5는 시리얼 데이터 패킷(SDATA[8:1])과 복원 클럭(DDR-QCLK) 간에 위상 오차가 발생한 경우, 제 1 레지스터(210)에 로딩되는 데이터 비트들의 저장순서를 설명하기 위한 도면이다.
도 5에는 제 1 레지스터(210)로 연속적으로 입력되는 두 개의 시리얼 데이터 패킷이 나타난다. 먼저 입력되는 제 1 데이터 패킷을 'a8 a7 a6 a5 a4 a3 a2 a1'로 가정하고 뒤이어 입력되는 제 2 데이터 패킷을 'A8 A7 A6 A5 A4 A3 A2 A1'로 가정한다.
먼저 입력되는 제 1 데이터 패킷의 첫 번째 데이터 비트(a1)가 복원 클럭(DDR-QCLK)의 하강에지에 동기되는 경우, 제 1 레지스터(210)는 제 1 데이터 패킷의 두 번째 데이터 비트(a2)부터 로딩을 시작하여 제 2 데이터 패킷의 첫 번째 데이터 비트(A2)까지의 첫 번째 로딩작업을 완료하게 된다. 즉, FF1에 데이터 비트(a2)가 로딩되고, FF8에 상기 제 2 데이터 패킷의 데이터 비트(A1)가 로딩된다.
만약, 제 1 데이터 패킷이 시리얼 싱크 데이터 패킷이고, 제 2 데이터 패킷이 시리얼 데이터 패킷이라 가정한다면, 수신부측에 해당하는 제 2 시스템은 시리얼 데이터 패킷에 포함된 데이터 비트(A1)가 싱크 데이터 패킷에 포함되어 잘못된 첫 번째 시리얼 데이터 패킷을 입력받게 된다.
본 발명에 따른 디시리얼라이저(200)는 이러한 손실된 데이터 비트를 검출할 수 있는 싱크 검출부(240)를 포함한다.
다시 도 2를 참조하면, 싱크 검출부(240)는 상기 제 1 레지스터(210)에 로딩된 싱크 데이터 패킷(sync-IData[8:1])을 입력받으며, 입력된 싱크 데이터 패킷(sync-IData[8:1])의 정상 여부를 판별하고, 판별된 결과에 근거하여 싱크 검출 신호를 출력한다. 여기서, 싱크 검출신호(RXCOMP[1:0])는 제 1 싱크 검출신호(RXCOMP[0])와 제 2 싱크 검출신호(RXCOMP[1])를 포함한다.
싱크 검출부(240)는 상기 싱크 검출신호(RXCOMP[2:1])에 포함된 제 2 싱크 검출신호(RXCOMP[1])의 논리 상태에 따라서 입력되는 데이터 패킷과 이 데이터 패킷과 함께 전송되는 복원 클럭(DDR-QCLK) 간의 위상 오차 여부를 판별한다. 이하, 도면을 참조하여 상기 싱크 검출부(240)에 대하여 보다 구체적으로 설명하기로 한다.
도 6은 도 2에 도시된 싱크 검출부(240)의 구성을 나타내는 도면이다.
도 6을 참조하면, 싱크 검출부(240)는 데이터 오류 검출기(242), 제 1 래치부(244A), 제 2 래치부(244B), 및 OR 게이트(246)를 포함한다.
데이터 오류 검출기(242)는 제 1 레지스터(210)에 로딩된 싱크 데이터 패킷(sync-IDATA[8:1])을 입력받으며, 입력된 싱크 데이터 패킷(sync-IDATA[8:1])의 정상 여부를 판별하고, 판별된 결과에 근거하여 정상 싱크신호(N-sync) 및 비정상 싱크신호(A-sync)를 출력한다.
구체적으로, 데이터 오류 검출기(242)는 송신측과 미리 약속된 싱크 데이터 패킷과 제 1 레지스터(210)로부터 입력되는 싱크 데이터 패킷(sync-IDATA[8:1])을 비교한다.
제 1 레지스터(210)로부터 입력된 싱크 데이터 패킷(sync-IData[8:1])과 기설정된 싱크 데이터 패킷이 일치하면, 데이터 오류 검출기(242)는 정상 싱크신호(N-sync)를 논리 'H'로 활성화하여 출력하고, 비정상 싱크신호(A-sync)를 논리 'L'로 비활성하여 출력한다.
반면, 제 1 레지스터(210)로부터 입력된 싱크 데이터 패킷(sync-IDATA[8:1])과 기설정된 싱크 데이터 패킷이 서로 일치하지 않으면, 데이터 오류 검출기(242)는 정상 싱크신호(N-sync)를 논리 'L'로 비활성화하여 출력하고, 비정상 싱크신호(A-sync)를 논리 'H'로 활성화하여 출력한다.
결과적으로, 제 1 레지스터(210)로 입력되는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 첫 번째 데이터 비트가 복원 클럭(DDR-QCLK)의 하강에지에 동기하는 경우, 싱크 검출부(240)는 논리 'L'인 정상 싱크신호(N-SYNC) 및 논리 'H'인 비정상 싱크 신호(A-SYNC)를 출력한다.
제 1 래치부(244A)는 복원 클럭(DDR-QCLK) 및 정상 싱크신호(N-SYNC)를 입력받아 복원 클럭(DDR-QCLK)의 상승에지에 응답하여 정상 싱크신호(N-SYNC)의 논리 상태를 래치한다. 이하, 제 1 래치부(244A)에 래치된 정상 싱크신호(N-SYNC)의 논리 상태를 제 1 싱크 검출신호(RXCOMP[1])라 정의한다.
제 2 래치부(244B)는 복원클럭(DDR-QCLK) 및 비정상 싱크신호(A-SYNC)를 입력받아 복원 클럭(DDR-QCLK)의 상승에지에 응답하여 상기 비정상 싱크신호(A-SYNC)의 논리 상태를 래치한다. 이하, 제 2 래치부(244B)에 래치된 비정상 싱크신호(A-SYNC)의 논리 상태를 제 2 싱크 검출신호(RXCOMP[2])라 정의한다. 상기 제 2 싱크 검출신호는 손실비트 저장부(250)로 출력된다.
OR 게이트(246)는 상기 제 1 싱크 검출신호(RXCOMP[1])와 상기 제 2 싱크 검출신호(RXCOMP[2])를 입력받아 OR 연산하여 제 3 싱크 검출신호(RXCOMP[3])를 출력 한다. 상기 출력된 제 3 싱크 검출신호(RXCOMP[3])는 클럭 변환부(260)로부터의 바이트 클럭신호(BYTECLK)을 생성하기 위한 신호로서 이용된다.
결과적으로, 기설정된 싱크 데이터 패킷과 제 1 레지스터(210)에 로딩된 싱크 데이터 패킷(sync-IDATA[8:1]) 간의 동일여부를 비교하고, 동일하지 않으면, 상기 싱크 검출부(240)는 최종적으로 논리 'H'인 활성화된 제 2 싱크 검출신호(RXCOMP[2])를 출력한다.
다시 도 2를 참조하면, 손실비트 저장부(250)는 상기 제 2 싱크 검출신호(RXCOMP[2])가 활성화되는 시점에 대응하는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 데이터 비트를 유지(홀딩)한다. 여기서, 유지된 데이터 비트는 첫 번째 시리얼 데이터 패킷(SDATA[8:1])의 첫 번째 데이터 비트인 점을 주목하여야 한다.
구체적으로, 손실비트 저장부(250)는 먹스(252) 및 비트 래치부(254)를 포함한다.
먹스(252)는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1]) 및 비트 래치부(254)에 래치된 데이터 비트를 1비트씩 입력받으며, 제 2 싱크 검출신호(RXCOMP[2])의 활성화 상태에 따라서 상기 시리얼 싱크 데이터 패킷(sync-SDATA[8:1]) 및 상기 비트 래치부(254)에 저장된 데이터 비트를 선택적으로 출력한다. 즉, 상기 제 2 싱크 검출신호(RXCOMP[2])가 논리 'L'일때, 먹스(252)는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 데이터 비트들을 1비트씩 순차적으로 출력한다. 반면, 상기 제 2 싱크 검출신호(RXCOMP[2])가 논리 'H'일때, 상기 먹스는 상기 싱크 검출신호(RXCOMP[2])가 논리'L'에서 논리'H'로 천이되는 시점에 대응하는 비트래치부(254)에 래치된 데이터 비트를 피드백받아 출력한다.
비트 래치부(254)는 복원클럭(DDR-QCLKB)의 하강에지 동기되어 먹스(252)를 통과하는 데이터 비트들을 1비트씩 순차적으로 래치한다.
요약하면 손실비트 저장부(250)는 비활성화된 제 2 싱크 검출신호(RXCOMP[2])에 응답하여 복원클럭(DDR-QCLK)의 하강에지에 동기되는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 데이터 비트들을 순차적으로 래치한다. 이후, 제 2 싱크 검출신호(RXCOMP[1])가 활성화되면, 상기 제 2 싱크 검출신호(RXCOMP[1])가 활성화된 시점에 대응하는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 데이터 비트(RXBIT)를 유지한다. 이하, 상기 제 2 싱크 검출신호(RXCOMP[1])가 활성화된 시점에 대응하는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 데이터 비트를 '손실비트(RXBIT)'라 칭한다.
계속해서, 다시 도 2를 참조하면, 클럭 변환부(260)는 논리 'H'로 활성화된 제 3 싱크 검출신호(RXCOMP[3])에 응답하여 복원 클럭(DDR-QCLK)을 바이트 클럭(BYTECLK)으로 변환하여 출력한다.
상기 출력된 바이트 클럭은 제 2 및 제 3 레지스터(220, 230)로 각각 제공된다. 이때, 제 2 레지스터(220)는 인버터(INV2)에 의해 반전된 바이트 클럭(BYTECLK)을 입력받는다. 즉, 제 2 레지스터(220)는 바이트 클럭(BYTECLK)의 하강에지에 응답하여 데이터 패킷의 로딩을 시작한다. 여기서, 바이트 클럭(BYTECLK)의 주파수는 복원 클럭(DDR-QCLK) 주파수의 1/4로 설정된다.
제 2 레지스터(220)는 바이트 클럭(BYTECLK)의 하강에지에 응답하여 제 1 패러럴 데이터 패킷(IDATA[8:1])을 로딩한다.
패킷 조합부(270)는 제 2 싱크 검출신호(RXCOMP[2])에 응답하여 상기 제 2 패러럴 데이터 패킷(QDATA[8:1])을 제 3 패러럴 데이터 패킷(JDATA[8:1])으로 변환하여 출력한다.
제 2 싱크 검출신호(RXCOMP[2])가 비활성화 상태(본 실시예에서는, 논리 'L')를 유지하는 동안, 패킷 조합부(270)는 제 2 패러럴 데이터 패킷(QDATA[8:1])을 그대로 출력한다. 반면, 제 2 싱크 검출신호(RXCOMP[2])가 비활성화 상태에서 활성화 상태로 천이되면(예컨대, 논리 'H'), 패킷 조합부(270)는 상기 제 2 패러럴 데이터 패킷(QDATA[8:1])의 패킷 조합을 시작한다. 이하, 도면을 참조하여 상기 패킷 조합부(270)에 대해 구체적으로 설명하기로 한다.
도 8은 도 2에 도시된 패킷 조합부(270)의 구성을 개략적으로 나타낸 도면이다.
도 8을 참조하면, 패킷 조합부(270)는 선택기(270A), 제 3 래치부(270B), 멀티플랙서(270C) 및 선택신호 생성기(270D)를 포함한다.
상기 선택기(270A)는 선택 신호 생성기(270D)로부터의 선택신호(SE)의 논리 상태에 따라서 손실비트 저장부(250)로부터의 손실비트(RXBIT) 및 제 2 레지스터(220)로부터의 데이터 비트(QDATA[8]) 중에서 어느 하나의 데이터 비트를 출력한다. 구체적으로, 상기 선택기(270A)는 비활성화 상태의 논리 'L'인 선택신호(SE)에 응답하여 손실비트 저장부(250)로부터의 손실비트(RXBIT)를 출력한다. 반면, 상기 선택기(270A)는 활성화 상태의 논리 'H'인 선택신호(SE)에 응답하여 상기 제 2 레지스터(220)로부터의 8번째 데이터 비트(QDATA[8])를 출력한다.
상기 제 3 래치부(270B)는 바이트 클록(BYTECLK)의 상승에지에 응답하여 선택기(270A)로부터 출력되는 손실비트(RXBIT) 내지 제 2 레지스터(220)로부터의 데이터 비트(QDATA[8]) 중 어느 하나의 데이터 비트를 제 3 레지스터(230)의 첫번째 데이터 비트(JDATA[1])로 입력한다.
상기 멀티 플랙서(270C)는 상기 제 2 싱크 검출신호(RXCOMP[2])의 논리상태에 따라서 제 2 레지스터(220)에 로딩된 데이터 패킷(QDATA[8:1])의 제 3 레지스터(230)로의 입력경로를 결정한다. 즉, 제 2 싱크 검출신호(RXCOMP[2])가 논리 'L'이면, 제 2 레지스터(220)로부터 출력되는 데이터 비트들(QDATA[8:1])은 그대로 제 3 레지스터(230)로 입력된다.
반면, 제 2 싱크 검출신호(RXCOMP[2])가 논리 'H'이면, 제 2 레지스터(220)로부터의 데이터 비트(QDATA[1])의 출력단자는 제 3 레지스터(230)의 데이터 비트(JDATA[2])의 입력단자에 연결되며, 제 2 레지스터(220)로부터의 데이터 비트(QDATA[2])는 제 3 레지스터(230)의 데이터 비트(JDATA[3])의 입력단자에 연결되며, 제 2 레지스터(220)로부터의 데이터 비트(QDATA[3])의 출력단자는 제 3 레지스터(230)의 데이터 비트(JDATA[4])의 입력단자에 연결되며, ..., 제 2 레지스터(220)의 데이터 비트(QDATA[7])는 데이터 비트(JDATA[8])로서 각각 제 3 레지스터(230)로 입력된다. 그리고, 제 3 래치부(270B)에 래치된 데이터 비트(QDATA[8])가 제 3 레지스터(230)의 데이터 비트(JDATA[1])의 입력단자에 연결된다.
상기 선택신호 생성기(270D)는 상기 제 2 싱크 검출신호(RXCOMP[2]) 및 상기 바이트 클럭(BYTECLK)에 응답하여 상기 선택신호(SE)를 출력한다.
도 9는 도 8에 도시된 선택신호 생성기(270D)의 구성을 나타내는 도면이다.
도 9에 도시된 바와 같이, 상기 선택신호 생성기(270D)는 간단한 플립플롭(272D)으로 구성될수 있으며, 제 2 싱크 검출신호(RXCOMP[2])의 논리 상태의 천이시점을 상기 바이트 클럭(BYTECLK)에 동기시킨다. 즉, 상기 선택신호 생성기(270D)는 논리 'L'에서 논리 'H'로의 제 2 싱크 검출신호(RXCOMP[2])의 천이시점을 상기 바이트 클럭(BYTECLK)의 첫 번째 상승에지에 동기시킨다.
결과적으로, 상기 바이트 클럭(BYTECLK)의 첫 번째 클럭의 발생이전에서는, 상기 선택신호 생성기(270D)는 논리 상태 'L'인 선택신호(SE)를 출력하고, 상기 바이트 클럭(BYTECLK)의 첫 번째 클럭의 발생이후에서는 논리 상태 'H'인 선택신호(SE)를 출력한다.
계속해서, 제 3 레지스터(230)는 바이트 클록(BYTECLK)의 상승에지에 응답하여 패킷 조합부(270)를 통해 조합된 데이터 패킷을 로딩한다.
이후, 제 3 레지스터(230)에 로딩된 데이터 패킷은 최종 패러럴 데이터 패킷(PDATA[8:1])으로 복원되어 제 2 데이터 처리유닛(도 1의 20)으로 출력된다.
이하, 타이밍도를 이용하여 본 발명에 따른 디시리얼라이저(200)의 동작과정을 설명하기로 한다.
도 10은 복원 클럭(DDR-QCLK)과 시리얼 데이터 패킷(SDATA[8:1]) 간의 위상오차가 발생한 경우, 본 발명에 따른 디시리얼라이저(200)의 동작과정을 설명하기 위한 타이밍도이다. 여기서, 도 10에 도시된 'AOUT'은 선택기(270A)로부터 출력되는 데이터 비트를 나타내는 신호이다.
도 10을 참조하면, 제 1 레지스터(210)로 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])이 입력된다. 이때, 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 첫 번째 데이터 비트(a)가 복원 클럭(DDR-QCLK)의 하강에지에 동기된다(①). 따라서, 제 1 레지스터(210)는 시리얼 싱크 데이터 패킷(sync-SDATA)의 두번째 데이터 비트(a2)부터 첫 번째 시리얼 데이터 패킷(SDATA11)의 첫 번째 데이터 비트(A1)까지 로딩한다(②).
이후, 싱크 검출부(240)에 구비된 데이터 오류 검출기(242)는 제 1 레지스터(210)에 로딩된 싱크 데이터 패킷(sync-IDATA; a2 a3 a4 a5 a6 a7 A1)에 따라서 논리 'H'인 비정상 싱크 신호(A-SYNC)를 출력한다(③). 따라서, 상기 싱크 검출부(240)는 논리 'H'로 활성화된 제 2 싱크 검출신호(RXCOMP[2])를 출력한다(④).
손실비트 저장부(250)는 제 2 싱크 검출신호(RXCOMP[2])가 논리 'L'의 비활성화 상태를 유지하는 동안 복원 클록(DDR-QCLK)의 하강에지에 대응하는 데이터 비트들(a1, a3, a5, a7)을 1 비트씩 래치한다. 이때, 손실비트 저장부(250)는 싱크 검출신호(RXCOMP)가 논리'H'로 활성되는 시점에 대응하는 데이터 비트(A1)를 손실비트(RXBIT)로서 유지한다(⑤).
한편, 제 1 레지스터(210)로부터 입력되는 첫 번째 데이터 패킷(IDATA1)은 바이트 클럭(BYTECLK)의 하강에지에 동기되어 제 2 레지스터(220)에 로딩된다(⑥).
이후, 패킷 조합부(270)는 첫 번째 데이터 패킷(QDATA1)의 데이터 비트 들(QDATA1[8:2])과 손실비트 저장부(250)로부터 출력되는 손실비트(RXBIT; A1)를 조합한 데이터 패킷(JDATA[8:1])을 생성하여 제 3 레지스터(230)로 출력한다.
구체적으로, 패킷 조합부(270)에 구비된 선택기(270A)는 선택신호 생성기(270D)로부터의 논리 'L'인 선택신호(SE)에 응답하여 손실비트(AOUT; A1)를 출력하고(⑦), 이 출력된 손실비트(AOUT; A1)는 바이트 클럭(BYTECLK)의 상승에지 동기되어 제 3 래치부(270B)에 래치된다(⑧). 상기 제 3 래치부(270B)는 손실비트(AOUT; A1)를 제 3 레지스터(230)로 입력되는 첫 번째 데이터 비트(JDATA[1])의 입력단자로 출력한다. 상기 제 3 래치부(270B)를 통하여 출력된 손실비트(A1)는 제 2 레지스터(220)에 로딩된 첫 번째 데이터 패킷의 데이터 비트들(QDATA1[8:2])과 조합되어 제 3 레지스터(230)로 출력된다. 결과적으로, 제 3 레지스터(230)는 손실된 데이터 비트(A1)가 복원된 첫 번째 패러럴 데이터 패킷(PDATA1)을 출력한다(⑨).
이후, 두 번째 데이터 패킷(QDATA2)의 복원과정은 다음과 같다.
상기 패킷 조합부(270)에 구비된 선택기(270A)는 선택신호 생성기(270D)로부터의 논리 'H'인 선택신호(SE)에 응답하여 제 2 레지스터에 로딩된 첫 번째 데이터 패킷에 포함된 8번째 데이터 비트(QDATA1[8]; B1)를 출력하고(⑩), 상기 출력된 (QDATA1[8]; B1)는 바이트 클럭(BYTECLK)의 상승에지 동기되어 제 3 래치부(270B)에 래치된다(⑪). 상기 제 3 래치부(270B)를 통하여 출력된 8번째 데이터 비트(QDATA1[8]; B1)는 제 2 레지스터(220)에 로딩된 두 번째 데이터 패킷의 데이터 비트들(QDATA2[8:2])과 조합되어 제 3 레지스터(230)로 출력된다. 최종적으로, 제 3 레지스터(230)는 복원된 두 번째 패러럴 데이터 패킷(PDATA2)을 출력한다(⑫).
이하, 나머지 데이터 패킷의 복원과정은 상기 두 번째 데이터 패킷의 복원과정과 동일한 방식으로 진행된다. 따라서 이에 대한 구체적인 설명은 생략하기로 한다.
도 11은 복원 클럭(DDR-QCLK)과 시리얼 데이터 패킷(SDATA[8:1]) 간의 위상오차가 발생하지 않은 경우, 본 발명에 따른 디시리얼라이저(200)의 동작과정을 설명하기 위한 타이밍도이다.
도 11을 참조하면, 제 1 레지스터(210)로 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])이 입력된다. 이때, 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 첫 번째 데이터 비트(a)가 복원 클럭(DDR-QCLK)의 상승에지에 동기된다(①). 따라서, 제 1 레지스터(210)는 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])의 첫 번째 데이터 비트(a1)부터 로딩을 시작하여 마지막 데이터 비트(a8)까지 로딩한다(②). 즉, 제 1 레지스터(210)는 정상의 시리얼 싱크 데이터 패킷(sync-SDATA[8:1])을 로딩한다.
이후, 싱크 검출부(240)에 포함된 데이터 오류 검출기(242)는 제 1 레지스터(210)에 로딩된 싱크 데이터 패킷(sync-IDATA[8:1]; a1 a2 a3 a4 a5 a6 a7 A1)을 입력받아 논리 'L'인 비정상 싱크 신호(A-SYNC)를 출력한다(③). 따라서, 상기 싱크 검출부(240)는 논리 'L'의 비활성화된 제 2 싱크 검출신호(RXCOMP[2])를 유지한다(④).
제 1 레지스터(210)로부터 입력되는 첫 번째 데이터 패킷(IDATA1)은 바이트 클럭(BYTECLK)의 하강에지에 동기되어 제 2 레지스터(220)에 로딩된다(⑤).
이후, 패킷 조합부(270)는 제 2 레지스터(220)에 로딩된 첫 번째 데이터 패킷(QDATA1)을 입력받아 그대로 제 3 레지스터(230)로 출력한다. 제 3 레지스터(230)는 로딩된 첫 번째 데이터 패킷을 첫 번째 패러럴 데이터 패킷(PDATA1)으로서 출력한다(⑥).
한편, 첫 번째 시리얼 데이터 패킷(SDATA1)에 뒤이어 입력되는 나머지 데이터 패킷들(SDATA2~SDATAn)은 상술한 동작과정과 동일한 과정을 거쳐 제 3 레지스터(230)를 통해 각각 패러럴 데이터 패킷(PDATA2~PDATAn)으로서 출력된다(⑦).
도 12는 본 발명에 따른 데이터 복원 방법을 설명하기위한 순서도이다.
도 12를 참조하면, 복원클럭신호(DDRQ-CLK)에 응답하여 외부로부터의 싱크 데이터 패킷(sync-SDATA[8:1])과 시리얼 데이터 패킷(SDATA[8:1])이 순차적으로 로딩된다(S100). 상기 싱크 데이터 패킷(sync-SDATA[8:1])과 상기 복원클럭신호(DDRQ-CLK) 간의 동기여부를 검출하고, 상기 검출결과에 근거하여 싱크 검출신호(RXCOMP[2])를 출력한다(S200). 여기서, 상기 싱크 검출신호(RXCOMP[2])의 활성화시점에 대응하는 상기 싱크 데이터 패킷의 데이터 비트가 검출되고, 상기 검출된 데이터 비트가 손실비트로서 출력된다(S300). 상기 싱크 검출신호에 응답하여 시리얼 데이터 패킷과 상기 손실비트가 선택적으로 조합된다(S400). 이후, 상기 조합된 데이터 패킷이 병렬로 출력된다(S500).
상술한 바와 같이, 본 발명에 따른 디시리얼라이저는 외부로부터 입력되는 데이터 패킷과 이 데이터 패킷을 복원하기 위한 클럭 신호 간의 위상오차로 인하여 발생한 상기 데이터 패킷의 데이터 비트의 손실을 복원할 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (19)

  1. 복원클럭신호에 응답하여 외부로부터의 싱크 데이터 패킷 및 시리얼 데이터 패킷을 순차적으로 로딩하는 제 1 레지스터;
    상기 싱크 데이터 패킷과 상기 복원클럭신호 간의 동기여부에 근거하여 싱크 검출신호를 출력하는 싱크 검출부;
    상기 싱크 검출부로부터의 싱크 검출신호의 활성화시점에 대응하는 상기 싱크 데이터 패킷의 데이터 비트를 검출하고, 상기 검출된 데이터 비트를 손실비트로서 출력하는 손실비트 저장부;
    상기 제 1 레지스터로부터의 시리얼 데이터 패킷을 로딩하는 제 2 레지스터;
    상기 싱크 검출신호에 응답하여 상기 제 2 레지스터로부터의 시리얼 데이터 패킷과 상기 손실비트를 선택적으로 조합하는 패킷 조합부; 및
    상기 패킷 조합부로부터 출력되는 데이터 패킷을 병렬로 출력하는 제 3 레지스터를 포함하는 것을 특징으로 하는 디시리얼라이저.
  2. 제 1 항에 있어서,
    상기 제 1 레지스터는 상기 복원클럭신호의 한 주기에 포함된 상승에지 및 하강에지에 응답하여 상기 싱크 데이터 패킷 및 상기 시리얼 데이터 패킷을 비트 단위로 로딩하는 것을 특징으로 하는 디시리얼라이저.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 제 1 레지스터는,
    서로 종속적으로 연결된 복수의 플립플롭을 포함하고, 상기 복원클럭신호의 상승에지에 응답하여 홀수번째로 입력되는 상기 싱크 데이터 패킷의 데이터 비트들을 저장하는 제 1 플립플롭 그룹; 및
    서로 종속적으로 연결된 복수의 플립플롭을 포함하며 상기 제 1 플립플롭 그룹과 병렬로 연결되고, 상기 복원 클록신호의 하강에지에 응답하여 짝수번째로 입력되는 상기 싱크 데이터 패킷의 데이터 비트들을 저장하는 제 2 플립플롭 그룹을 포함하는 것을 특징으로 하는 디시리얼라이저.
  5. 제 4 항에 있어서,
    상기 싱크 데이터 패킷의 첫 번째 데이터 비트가 상기 복원클럭신호의 상승에지에 동기되어, 상기 제 1 레지스터는 첫 번째 데이터 패킷의 첫 번째 데이터 비트부터 상기 첫 번째 데이터 패킷의 마지막 데이터 비트까지 로딩하고,
    상기 싱크 데이터 패킷의 첫 번째 데이터 비트가 상기 복원클럭신호의 하강에지에 동기되어, 상기 제 1 레지스터는 상기 싱크 데이터 패킷의 두 번째 데이터 비트부터 상기 시리얼 데이터 패킷의 첫 번째 데이터 비트까지 로딩하는 것을 특징으로 하는 디시리얼라이저.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 싱크 검출부는,
    상기 제 1 레지스터로부터의 싱크 데이터 패킷과 기준 데이터 패킷을 비교하고, 상기 비교결과에 근거하여 정상 싱크 신호 및 비정상 싱크 신호를 출력하는 데이터 오류 검출기;
    상기 정상 싱크 신호를 입력받으며, 상기 정상 싱크 신호의 논리 상태를 래치하는 제 1 래치부;
    상기 비정상 싱크 신호를 입력받으며, 상기 비정상 싱크 신호의 논리 상태를 래치하고, 상기 래치된 논리 상태를 싱크 검출신호로서 출력하는 제 2 래치부; 및
    상기 정상 싱크 신호의 논리 상태와 상기 비정상 싱크 신호의 논리 상태를 오아연산하고, 상기 오아연산된 결과치를 출력하는 오아게이트를 포함하고,
    상기 제 1 레지스터로부터의 첫 번째 데이터 패킷과 상기 기설정된 데이터 패킷이 서로 다르면, 상기 데이터 오류 검출기는 제 1 논리 상태의 정상 싱크 신호 및 상기 제 1 논리상태의 반전된 논리상태를 갖는 제 2 논리 상태의 비정상 싱크 신호를 출력하는 것을 특징으로 하는 디시리얼라이저.
  8. 삭제
  9. 제 7 항에 있어서,
    상기 손실비트 검출부는,
    상기 제 2 래치부로부터의 싱크 검출신호에 따라서 상기 싱크 데이터 패킷의 데이터 비트 및 피드백된 데이터 비트를 선택적으로 출력하는 먹스; 및
    상기 복원클럭신호의 하강에지에 동기하여 상기 먹스로부터 선택적으로 출력된 데이터 비트를 순차적으로 래치하며, 상기 래치된 데이터 비트를 상기 피드백된 데이터 비트로서 상기 먹스로 출력하는 비트래치부를 포함하고,
    상기 먹스는 상기 활성화된 싱크 검출신호에 응답하여 상기 피드백된 데이터 비트를 선택하여 출력하는 것을 특징으로 하는 디시리얼라이저.
  10. 삭제
  11. 제 1 항에 있어서,
    클럭 변환부를 더 포함하며,
    상기 클럭 변환부는 상기 복원클럭신호를 입력받으며 상기 복원클럭신호의 주파수의 1/4을 갖는 바이트 클럭신호로 변환하여 출력하고,
    상기 제 2 레지스터는 상기 바이트 클럭신호의 하강에지에 응답하여 상기 제 1 레지스터로부터의 데이터 패킷을 로딩하고,
    상기 제 3 레지스터는 상기 바이트 클럭신호의 상승에지에 응답하여 상기 제 2 레지스터로부터의 데이터 패킷을 로딩하는 것을 특징으로 하는 디시리얼라이저.
  12. 삭제
  13. 제 1 항에 있어서,
    상기 패킷 조합부는
    상기 싱크 검출부에서 상기 싱크 데이터 패킷과 상기 복원클럭신호가 동기되어, 비활성화된 싱크 검출신호를 출력하면 상기 비활성화된 싱크 검출신호에 응답하여 상기 제 2 레지스터에 로딩된 시리얼 데이터 패킷을 그대로 출력하고,
    상기 싱크 검출부에서 상기 싱크 데이터 패킷과 상기 복원클럭신호가 비동기되어, 활성화된 싱크 검출신호를 출력하면, 상기 활성화된 싱크 검출신호에 응답하여 상기 시리얼 데이터 패킷과 상기 손실 비트를 조합하여 출력하는 것을 특징으로 하는 디시리얼라이저.
  14. 삭제
  15. 삭제
  16. 복원클럭신호에 응답하여 외부로부터의 싱크 데이터 패킷과 시리얼 데이터 패킷을 순차적으로 로딩하는 단계;
    상기 싱크 데이터 패킷과 상기 복원클럭신호 간의 동기여부를 검출하고, 상기 검출결과에 근거하여 싱크 검출신호를 출력하는 단계;
    상기 싱크 검출신호의 활성화시점에 대응하는 상기 싱크 데이터 패킷의 데이터 비트를 검출하는 단계;
    상기 싱크 검출신호에 응답하여 상기 시리얼 데이터 패킷과 상기 검출된 데이터 비트를 선택적으로 조합하여 병렬로 출력하는 단계를 포함하며,
    상기 시리얼 데이터 패킷은 상기 싱크 검출신호에 응답하여 상기 검출된 데이터 비트와 선택적으로 조합되는 것을 특징으로 하는 데이터 복원 방법.
  17. 제 16항에 있어서,
    상기 싱크 데이터 패킷과 상기 복원클럭신호가 동기되면, 상기 싱크 검출신호가 비활성화되고, 상기 비활성화된 싱크 검출신호에 따라서 상기 시리얼 데이터 패킷은 병렬로 출력되고,
    상기 싱크 데이터 패킷과 상기 복원클럭신호가 비동기되면, 상기 싱크 검출신호가 활성화되고, 상기 활성화된 싱크 검출 신호에 따라서 상기 검출된 데이터 비트와 조합되어 상기 시리얼 데이터 패킷은 병렬로 출력되는 것을 특징으로 하는 데이터 복원 방법.
  18. 삭제
  19. 삭제
KR1020070053403A 2007-02-02 2007-05-31 디시리얼라이저 및 데이터 복원 방법 KR101346293B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/034,157 US8045667B2 (en) 2007-02-02 2008-02-20 Deserializer and data recovery method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070017982 2007-02-22
KR20070017982 2007-02-22

Publications (2)

Publication Number Publication Date
KR20080078508A KR20080078508A (ko) 2008-08-27
KR101346293B1 true KR101346293B1 (ko) 2014-01-16

Family

ID=39884846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070053403A KR101346293B1 (ko) 2007-02-02 2007-05-31 디시리얼라이저 및 데이터 복원 방법

Country Status (1)

Country Link
KR (1) KR101346293B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160097871A (ko) * 2015-02-10 2016-08-18 한화테크윈 주식회사 고속직렬데이터수신장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999543B1 (en) 2001-12-03 2006-02-14 Lattice Semiconductor Corporation Clock data recovery deserializer with programmable SYNC detect logic
US7292667B1 (en) 1991-11-12 2007-11-06 Verizon Laboratories Inc. Method and system for transmitting synchronization information with data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292667B1 (en) 1991-11-12 2007-11-06 Verizon Laboratories Inc. Method and system for transmitting synchronization information with data
US6999543B1 (en) 2001-12-03 2006-02-14 Lattice Semiconductor Corporation Clock data recovery deserializer with programmable SYNC detect logic

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160097871A (ko) * 2015-02-10 2016-08-18 한화테크윈 주식회사 고속직렬데이터수신장치
KR102225619B1 (ko) 2015-02-10 2021-03-12 한화테크윈 주식회사 고속직렬데이터수신장치

Also Published As

Publication number Publication date
KR20080078508A (ko) 2008-08-27

Similar Documents

Publication Publication Date Title
US5648776A (en) Serial-to-parallel converter using alternating latches and interleaving techniques
US6917661B1 (en) Method, architecture and circuitry for controlling pulse width in a phase and/or frequency detector
US6260152B1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US8045667B2 (en) Deserializer and data recovery method
US6593863B2 (en) Serializer
US7979611B2 (en) Multi-protocol serial interface apparatus and system-on-chip apparatus including the same
EP0813153A2 (en) Serial-to-parallel converter in a data communication system
US6288656B1 (en) Receive deserializer for regenerating parallel data serially transmitted over multiple channels
JP2002007201A (ja) メモリシステム、メモリインターフェース及びメモリチップ
US20020027964A1 (en) Data recovery apparatus and method for minimizing errors due to clock skew
JP3645584B2 (ja) データ転送同期装置
US5610953A (en) Asynchronous low latency data recovery apparatus and method
US7796063B2 (en) Data transmission circuits and data transceiver systems
EP1575206B1 (en) Data synchronization arrangement
US20090096644A1 (en) Semiconductor integrated circuit device, pattern detection method and serial-parallel conversion method
JP4917901B2 (ja) 受信装置
CN113946526A (zh) 一种高速串行总线的多通道数据绑定系统及方法
KR101346293B1 (ko) 디시리얼라이저 및 데이터 복원 방법
US20080205448A1 (en) Serial interface circuit and serial receiver
US10536165B1 (en) Programmable bit alignment at serial-to-parallel stage of SerDes
US8122334B2 (en) Parity error detecting circuit and method
JP4011062B2 (ja) 信号伝送方法
US7336666B1 (en) Data transport for bit-interleaved streams supporting lane identification with invalid streams
US6359908B1 (en) Frame synchronous circuit contributing to SDH signal
US7899955B2 (en) Asynchronous data buffer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee