상기 기술적 과제를 달성하기 위한 본 발명에 따른 병렬 데이터 인터페이스를 사용하는 반도체 장치는 기준 클럭 송신 블록, N개의 송수신 블록들, 퍼 핀 디스큐 블록을 구비한다.
상기 기준 클럭 송신 블록은 기준 클럭 신호를 수신측 반도체 장치로 송신한다. 상기 N개의 송수신 블록들은 각각이 N비트의 병렬데이터를 송수신하기 위하여 대응하는 송신 샘플링 클럭 신호에 동기하여 대응하는 데이터를 송신한다.
상기 퍼 핀 디스큐 블록은 제1 모드에서 N비트의 훈련 데이터의 각 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐에 기초하여 상기 N개의 송수신 블록들 각각에 대응하는 송신 샘플링 클럭 신호의 위상을 개별적으로 제어한다.
상기 N개의 송수신 블록들 각각에 대응하는 상기 송신 샘플링 클럭은 제2 모드에서는 상기 수신측 반도체 장치로 송신된 상기 N비트의 병렬데이터 중 어느 하나의 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐 정보에 기초하여, 위상이 제어된다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 병렬인터페이스 시스템은 제1반도체 장치, 제2반도체 장치 및 상기 제1반도체 장치와 상기 제2반도체 장치 사이에 접속된 데이터 라인들을 구비한다. 상기 제1반도체 장치는 송신측 반도체 장치이고 상기 제2반도체 장치는 수신측 반도체 장치일 수 있다.
상기 제1반도체 장치는 기준 클럭 송신 블록, N개의 제1송수신 블록들, 및 퍼 핀 디스큐 블록을 구비한다.
상기 기준 클럭 송신 블록은 기준 클럭 신호를 상기 제2반도체 장치로 송신한다. 상기 N개의 제1송수신 블록들은 각각이 N비트의 병렬데이터를 송신하기 위하여 대응하는 송신 샘플링 클럭 신호에 동기하여 대응하는 데이터를 송신한다.
상기 퍼 핀 디스큐 블록은 제1 모드에서 N비트의 훈련 데이터의 각 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐에 기초하여, 상기 N개의 제1송수신 블록들 각각에 대응하는 송신 샘플링 클럭 신호의 위상을 개별적으로 제어한다.
상기 N개의 제1송수신 블록들 각각에 대응하는 송신 샘플링 클럭 신호의 위상은 제2 모드에서는 상기 제2반도체 장치로부터 수신된 위상 스큐 정보에 기초하여 제어된다.
상기 제2 반도체 장치는 기준 클럭 수신 블록, N개의 제2송수신 블록들, 및 위상 검출기를 구비한다.
상기 기준 클럭 수신 블록은 상기 기준 클럭 신호를 수신하고, 수신된 기준 클럭 신호에 기초하여 적어도 하나의 서로 다른 위상을 갖는 제1수신 샘플링 클럭 신호를 출력한다.
상기 N개의 제2송수신 블록들은 각각이 상기 대응하는 N개의 제1송수신 블록들과 N비트의 병렬데이터를 송수신한다.
상기 위상 검출기는 상기 제1반도체 장치로부터 수신된 N비트의 병렬데이터 중 어느 하나의 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐 정보를 검출한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 병렬인터페이스를 사용하는 시스템의 병렬데이터 신호와 상기 기준 클럭 신호 간의 스큐 보상 방법은 기준 클럭 신호 송신 단계, 훈련데이터를 이용한 퍼 핀 디스큐 단계, 및 CDR(Clock Data Recovery)방식을 이용한 디스큐 단계를 구비한다.
상기 시스템은 제1반도체장치와 제2반도체장치를 구비한다. 상기 제1반도체 장치와 상기 제2 반도체 장치 사이에 기준 클럭 신호와 N비트 병렬 데이터 신호가 제1송신 또는 제1수신 샘플링 클럭 신호에 동기되어 송수신된다.
상기 기준 클럭 신호 송신 단계는 상기 기준 클럭 신호를 상기 제2반도체 장치로 송신한다.
상기 훈련데이터를 이용한 퍼 핀 디스큐 단계는 제1 모드에서 N비트의 훈련 데이터의 각 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐에 기초하여 상기 N비트의 병렬데이터 각각에 대응하는 상기 제1송신 샘플링 클럭 신호의 위상을 개별적으로 제어한다.
상기 CDR방식을 이용한 디스큐 단계는 제2 모드에서는 상기 제2 반도체 장치로 송신된 상기 N비트의 병렬데이터 중 어느 하나의 비트 데이터와 상기 기준 클럭 신호 간의 위상 스큐 정보에 기초하여, 상기 N비트의 병렬데이터 각각에 대응하는 제1송신 샘플링 클럭 신호의 위상을 일괄적으로 제어한다.
상기 기술적 과제를 달성하기 위한 본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 8비트 병렬인터페이스 시스템(400)의 구성도이다. 도 4를 참조하면, 상기 시스템(400)은 제1반도체 장치(410), 제2반도체(450), 및 전송라인들(Line0 내지 Line 8)을 구비한다. 예컨대 상기 제1반도체 장치(410)는 메모리 컨트롤러(Memory controller)가 될 수 있고, 상기 제2반도체 장치(450)는 디램(DRAM)이 될 수 있다. 또한, 상기 제1반도체 장치(410)는 송신측 반도체 장치일 수 있고 상기 제2반도체 장치(450)는 수신측 반도체 장치일 수 있다.
상기 제1반도체 장치(410)는 기준 클럭 송신 블록(411), 제1송수신블록들(421 내지 428), 퍼 핀 디스큐 블록(430), 및 제1선택기들(Multiplexer, 441 내지 448)을 구비한다.
상기 기준 클럭 송신 블록(411)은 기준 클럭 신호(CLKref)를 상기 전송라인(Line0)을 통하여 상기 제2반도체 장치(450)로 송신한다. 상기 기준 클럭 송신 블록(411)은 PLL(Phase locked loop) 또는 DLL(Delay Locked Loop)로 구현될 수 있다. 상기 기준 클럭 송신 블록(411)은 송신 샘플링 클럭 신호(TXCLK)를 발생시킨다. 상기 기준 클럭 신호(CLKref)는 상기 송신 샘플링 클럭 신호(TXCLK)에 동기되어 상기 제2반도체 장치(450)로 송신된다.
상기 제1송수신 블록들(421 내지 428)은 각각이 상기 송신 샘플링 클럭 신호(TXCLK)에 동기하여 상기 제1송수신 블록들(421 내지 428)에 대응하는 데이터(DQ1 내지 DQ8)를 상기 제2반도체 장치(450)로 송신한다.
도 5는 도 4에 도시된 제1반도체 장치(410)의 제1송수신 블록(425)에 대한 구성도이다. 도 4 및 도 5를 참조하면, 상기 제1송수신 블록(425)은 DLL(Delay Locked Loop) 블록(510), 제1송신 드라이버(520), 및 CDR(Clock Data Recovery) 수신 블록(530)을 구비한다. 상기 제1송수신 블록들(421 내지 428) 각각은 상술한 제1송수신 블록(425)와 동일하게 구현될 수 있다. 다만, 본 실시 예에서는 위상 스큐 정보(PI)를 수신하는 기능은 하나의 송수신 블록(425)에만 구현되고, 나머지 송수신 블록들(421 내지 424, 426 내지 428)에는 구현되지 않는다.
상기 DLL 블록(510)은 상기 위상 제어신호들(P1 내지 P8) 중에서 대응하는 위상 제어신호(P5) 또는 상기 위상 스큐 정보(PI)에 기초하여, 상기 송신 샘플링 클럭 신호(TXCLK)의 위상을 제어하고, 위상 제어된 송신 샘플링 클럭 신호(CLKtx)를 출력한다.
상기 DLL 블록(510)은 상기 CDR수신 블록(530)으로부터 추출된 위상 정보에 기초하여 상기 송신 샘플링 클럭 신호(TXCLK)의 위상을 제어하고, 위상 제어된 수신 샘플링 클럭 신호(CLKre)를 출력한다.
상기 송신 드라이버(520)는 상기 위상 제어된 송신 샘플링 클럭 신호(CLKtx)에 동기하여 데이터(DQ5)를 송신한다.
상기 CDR 수신 블록(530)은 상기 제2반도체 장치(420)의 제2송수신 블록(465)으로부터 수신된 데이터(DQ5) 또는 위상 스큐 정보(PI)를 수신한다. 즉 상기 CDR 수신 블록(530)은 노멀(Normal) 데이터 송수신 동작에서는 데이터 라인(Line5)를 통하여 데이터(DQ5)를 수신하고, 상기 위상 스큐 정보를 수신하기 위한 동작에서는 상기 데이터 라인(Line5)을 통하여 상기 위상 스큐 정보(PI)를 수신한다.
상기 CDR 수신 블록(530)은 상기 제2송수신블록(465)으로부터 수신된 데이터(DQ5)로부터 상기 수신 샘플링 클럭 신호(CLKre)의 위상을 제어하기 위한 위상 정보를 추출한다.
상기 퍼 핀 디스큐 블록(430)은 제1 모드에서 8비트의 훈련 데이터의 각 비트 데이터와 상기 기준 클럭 신호(CLKref) 간의 위상 스큐에 기초하여, 상기 송수신 블록들(421 내지 428) 각각에 대응하는 송신 샘플링 클럭 신호(TXCLK)의 위상을 개별적으로 제어한다.
상기 퍼 핀 디스큐 블록(430)은 상기 대응하는 송신 샘플링 클럭 신호(TXCLK)의 위상을 개별적으로 제어하는 위상 제어 신호들(P1 내지 P8)을 출력한다.
상기 제1모드는 상기 시스템(400)이 파워 업(poewr up) 모드인 때일 수 있다. 즉, 상기 제1 모드는 시스템의 초기 모드일 수 있다. 상기 퍼 핀 디스큐 블록(430)은 상기 초기 모드에서 상기 시스템의 물리적 또는 구조적 디스매칭(dismatching)에 의한 상기 각각의 데이터(예컨대, DQ5)와 기준 클럭 신호(CLKref) 간의 스큐(이를 "정적 스큐(Static Skew)"라 한다)를 보상한다.
상기 퍼 핀 디스큐 블록(430)은 다수의 서로 다른 위상 값들 갖는 제1반도체 장치(410)의 송신 샘플링 클럭 신호(TXCLK)에 동기하여 상기 8비트 훈련데이터를 상기 제2반도체 장치(450)로 송신하고, 상기 송신된 훈련데이터를 상기 제2반도체 장치(450)로부터 다시 수신한다.
상기 퍼 핀 디스큐 블록(430)은 상기 다시 수신한 8비트 훈련데이터의 각 비트 데이터의 에러 여부를 판별한다. 상기 각 비트 데이터에 대하여 에러가 발생하지 않는 송신측 송신 샘플링 클럭 신호의 위상 값들을 개별적으로 구한다.
상기 퍼 핀 디스큐 블록(430)은 각 비트 데이터에 대응하는 상기 구한 위상 값들의 평균 위상 값을 구한다.
상기 퍼 핀 디스큐 블록(430)은 위상 제어 신호들(P1 내지 P8)을 출력한다. 상기 각 위상 제어 신호(예컨대, P1)에 의해 상기 위상 제어 신호에 대응하는 송신측 송신 샘플링 클럭 신호(TXCLK)의 위상이 상기 평균 위상 값을 갖도록 제어된다.
상기 제1 선택기들(441 내지 448)은 각각이 상기 위상 제어 신호들(P1 내지 P8) 중에서 대응하는 위상 제어 신호(P1 내지 P8)와 상기 위상 스큐 정보(PI)를 수신한다.
상기 제1 선택기들(441 내지 448) 각각은 모드 제어 신호(T1)에 기초하여 상기 대응하는 위상 제어 신호(예컨대, P5)와 상기 위상 스큐 정보(PI) 중에서 어느 하나를 상기 제1송수신 블록들(421 내지 428) 중에서 대응하는 제1송수신 블록(425)으로 출력한다.
상기 제1송수신 블록들(421 내지 428) 각각에 대응하는 송신 샘플링 클럭 신호(CLKtx)의 위상은 제2 모드에서 상기 제2반도체 장치(450)로부터 수신된 위상 스큐 정보(PI)에 기초하여 일괄적으로 제어된다.
상기 제 2모드는 상기 시스템(400)의 동작 중 모드일 수 있다. 상기 훈련데이터를 이용한 상기 정적 스큐가 보상되더라도 상기 시스템이 동작에 의한 온도 변화나 전압 변화 등으로 인한 데이터와 클럭 간의 스큐가 발생한다. 이를 동적 스큐(Dynamic Skew)라 한다. 상기 제2 모드는 상기 동적 스큐를 보상하기 위한 것이다.
상기 위상 스큐 정보(PI)는 상기 제1반도체 장치(410)로부터 상기 제2반도체 장치(450)로 송신된 상기 8비트의 데이터(DQ1 내지 DQ8) 중에서 어느 하나의 비트 데이터(본 발명의 실시 예에서는 DQ5이다)로부터 추출된 상기 송신측 송신 샘플링 클럭 신호(TXCLK)의 위치(또는 위상)에 관한 정보이다.
본 발명의 일 실시 예에서는 상기 데이터(DQ5)에 대해 검출된 위상 정보에 기초하여 상기 송신측 송신 샘플링 클럭 신호가 일괄적으로 제어된다. 그러나 본 발명은 이에 한정되는 것이 아니다.
예컨대, 상기 8비트의 데이터(DQ1 내지 DQ8) 중에서 적어도 하나 이상의 데이터(예컨대, DQ3 및 DQ7)로부터 추출된 위상 스큐 정보들에 기초하여 상기 송신측 송신 샘플링 클럭 신호의 위상이 제어될 수 있다. 상기 DQ3로부터 추출된 위상 스큐 정보에 기초하여 상기 데이터(DQ1 내지 DQ5)의 송신 샘플링 클럭 신호의 위상이 제어될 수 있고, 상기 DQ7로부터 추출된 위상 스큐 정보에 기초하여 상기 데이터(DQ6 내지 DQ8)의 송신 샘플링 클럭 신호의 위상이 제어될 수 있다.
이 때 상기 위상 스큐 정보들은 상기 데이터 라인들(Line 3 및 Line 7)을 통하여 전송된다.
상기 제2반도체 장치(450)는 기준 클럭 수신 블록(451), 제2송수신 블록들(461 내지 468), 데이터 저장부(470), 위상 검출기(481), 위상 통계부(483), 제2선택기(485)를 구비한다.
상기 제2송수신 블록(465), 상기 위상 검출기(481), 상기 위상 통계부(483), 및 상기 제2선택기(485)는 상기 데이터(DQ5)와 상기 기준 클럭 신호(CLKref) 간의 위상 스큐를 검출하기 위한 위상 검출 블록(480)이다.
상기 기준 클럭 수신 블록(451)은 상기 기준 클럭 송신 블록(411)으로부터 상기 기준 클럭 신호(CLKref)를 수신한다. 상기 기준 클럭 수신 블록(451)은 상기 기준 클럭 신호(CLKref)에 기초하여, 데이터 샘플링 클럭 신호(CLKda) 및 에지 샘플링 클럭 신호(CLKed)를 발생시킨다.
상기 에지 샘플링 클럭 신호(CLKed)는 전송된 데이터 신호(DQ5)의 에지(edge) 정보를 추출하기 위한 것이고, 상기 데이터 샘플링 클럭 신호(CLKda)는 전송된 데이터 신호(DQ5)를 판별하기 위한 것이다. 상기 에지 샘플링 클럭(CLKed)는 상기 데이터 샘플링 클럭 신호와 반 주기 위상 차를 갖는다.
상기 제2송수신 블록들(461 내지 468)은 각각이 상기 대응하는 제1 송수신 블록들(421 내지 428)과 8비트의 병렬데이터(DQ1 내지 DQ8)를 송수신한다. 상기 제2 송수신 블록들(461 내지 468) 각각은 상기 데이터 샘플링 클럭 신호(CLKda)에 동기하여 대응하는 상기 병렬데이터(DQ1 내지 DQ8)를 수신한다.
상기 데이터 저장부(471)는 상기 수신된 병렬데이터(DQ1 내지 DQ8)를 저장한다.
상기 위상 검출 블록(480)은 상기 제2송수신 블록(465), 상기 위상 검출기(481), 상기 위상 통계부(483), 및 상기 제2선택기(485)를 구비한다.
도 6은 도 4에 도시된 위상 검출 블록(480)의 구성도이다. 도 4 및 도 6을 참조하면, 상기 제2송수신 블록(465)은 제2송신 드라이버(610) 및 수신기(620)를 구비한다. 다른 제2송수신 블록들(461 내지 464, 466 내지 468)의 구성은 상기 제2송수신 블록(465)의 구성과 동일하다.
상기 위상 검출기(481)는 상기 제1송수신 블록(425)으로부터 수신된 데이터(DQ5)로부터 상기 제1송수신 블록(425)의 송신 샘플링 클럭 신호(TXCLK)의 위상을 제어하기 위한 위상 스큐 정보(PI)를 추출한다.
상기 위상 통계부(483)는 소정의 데이터 주기 동안 상기 위상 검출기(481)로부터 검출된 위상 스큐 정보들에 기초하여 상기 검출된 위상 스큐 정보들에 대한 통계 값을 구한다. 예컨대, 상기 위상 통계부(483)는 소정의 데이터 주기 동안 검출된 위상 스큐 정보들의 평균을 산출하고, 산출된 평균을 출력한다.
상기 제2선택기(485)는 상기 제1반도체 장치(410)로부터의 제어 명령(COM)에 기초하여 상기 위상 통계부(483)의 출력과 상기 데이터 저장부(470)의 출력 중 어느 하나를 선택하여 상기 제2송수신 블록(465)으로 출력한다. 이 때 상기 위상 통계부(483)의 출력을 선택하여 출력하는 시기는 상기 제1반도체 장치(410)에서 상기 시스템(400)의 환경에 맞게 조절될 수 있다.
따라서 상기 제2송수신 블록(465)은 노멀(normal) 데이터 송수신 동작에서는 상기 데이터 라인(Line5)을 통하여 상기 데이터(DQ5)를 송신하고, 위상 스큐 정보를 송신하기 위한 동작에서는 상기 위상통계부(483)로부터 출력된 위상 스큐 정보(PI)를 상기 전송라인(Line5)을 통하여 상기 제1송수신 블록(425)으로 송신한다.
도 7은 본 발명의 다른 실시 예에 따른 병렬인터페이스 시스템(700)의 구성도이다. 도 4 및 도 7을 참조하면, 상기 시스템(700)은 제1반도체 장치(710)와 제2반도체 장치(720)를 구비한다. 상기 제1반도체 장치(710)는 기준 클럭 송신 블록(411), 제1송수신 블록들(421 내지 428), 퍼 핀 디스큐 블록(430), 제1선택기들(441 내지 448), 및 위상 정보 수신기(611)를 구비한다. 이하 설명의 중복을 피하기 위하여 도 4에서 설명한 부분(441, 421 내지 428, 430, 및 441 내지 448)은 설명을 생략한다.
상기 위상 정보 수신기(611)는 상기 제2반도체 장치(720)로부터 위상 스큐 정보(PI)를 수신하여 상기 제1선택기들(441 내지 448) 각각으로 출력한다.
상기 제2반도체 장치(720)는 기준 클럭 수신 블록(451), 제2송수신 블록들(461 내지 468), 데이터 저장부(470), 위상 검출기(481), 위상 통계부(483), 위상 정보 수신기(730)를 구비한다. 이하 설명의 중복을 피하기 위하여 도 4에서 설명한 부분(451,461 내지 468,470,481,483)은 설명을 생략한다.
상기 위상 정보 송신기(730)는 상기 위상 통계부(483)로부터 상기 데이터(DQ5)의 위상 스큐 정보에 대한 통계 값을 수신하여 실시간으로 상기 위상 정보 수신기(611)로 송신한다.
도 7에 도시된 상기 시스템(700)은 도 4에 도시된 시스템(400)과 달리 상기 위상 스큐 정보(PI)가 별도의 위상정보 송신 라인(Line9)을 통하여 상기 제2반도체 장치(720)로부터 상기 제1반도체 장치(710)로 전송된다.
상기 검출된 위상 스큐 정보(PI)를 별도의 위상정보 송신 라인(Line9)을 통하여 전송하면 데이터에 영향을 주지 않고 실시간으로 상기 위상 스큐 정보(PI)를 제1반도체 장치(710)로 전송할 수 있으므로 높은 대역폭의 CDR(clock data recovery)을 구현할 수 있는 장점이 있다. 상술한 본 발명의 실시 예에서는 설명의 편의상 8비트 병렬데이터 인터페이스를 중심으로 기술하였으나, 이에 한정되지 않는다. 병렬로 인터페이스되는 비트 수(M)는 예컨대, 16 및 32 등으로 확장 가능하다. 이 경우 N(예컨대, 8비트) 단위로 그룹화하여 위상 스큐가 보정될 수 있다.
도 8은 본 발명의 일 실시 예에 따른 병렬인터페이스 시스템의 N비트 병렬데이터 신호와 기준 클럭 신호 간의 스큐 보상 방법에 관한 플로챠트이다. 도 8을 참조하면, 수신측 반도체 장치로 기준 클럭 신호를 송신한다(S810).
상기 스큐 보상 방법은 제1모드에서는 훈련데이터 신호를 이용하여 퍼 핀 디스큐한다(S820). 상기 훈련데이터 신호를 이용하는 퍼 핀 디스큐는 송신측 반도체 장치의 송신 샘플링 클럭 신호의 위상 값을 변화시켜가면서 상기 훈련데이터 신호를 수신측 반도체 장치로 송신하고, 상기 훈련데이터 신호와 상기 송신된 훈련데이터 신호를 비교하고 비교결과에 기초하여 상기 N비트 병렬데이터 각 비트 데이터에 대응하는 상기 송신 샘플링 클럭의 위상을 개별적으로 조정하는 방법이다.
상기 스큐 보상 방법은 제2모드에서는 CDR방식을 이용하여 디스큐한다(S830). 상기 CDR방식을 이용한 디스큐는 상기 수신측 반도체 장치로 수신되는 N비트 병렬데이터 중에서 어느 하나의 비트 데이터로부터 위상 정보를 검출하고, 검출된 위상 정보를 상기 송신측 반도체 장치로 송신하여 상기 송신측 송신 샘플링 클럭의 위상을 상기 위상 정보에 기초하여 일괄적으로 조정하는 방법이다.
상기 제1모드는 상기 병렬 인터페이스 시스템이 파워 업(poewr up)된 때이며, 시스템의 초기 모드라 한다. 상기 제 2모드는 상기 시스템이 상기 훈련 데이터를 이용한 퍼 핀 디스큐를 수행하고, 수행된 결과에 기초하여 상기 시스템이 동작 중인 때를 말한다.
도 9는 도 8에 도시된 훈련데이터 신호를 이용한 퍼 핀 디스큐 방법에 대한 플로챠트이다. 도 9를 참조하면, 송신측 반도체 장치는 제1위상 값을 갖는 송신 샘플링 클럭 신호에 동기하여 N비트의 훈련데이터 신호를 수신측 반도체 장치로 송신한다(S910).
상기 수신측 반도체 장치는 소정의 수신측 수신 샘플링 클럭 신호에 동기하여 상기 송신된 훈련데이터 신호를 수신한다(S920). 상기 소정의 수신측 수신 샘플링 클럭 신호는 상기 송신측 송신 샘플링 클럭 신호에 동기되어 상기 송신측 반도체 장치로부터 전송되는 기준 클럭 신호에 기초하여 발생된다. 예컨대, 상기 소정의 수신측 수신 샘플링 클럭 신호는 상기 기준 클럭 신호와 반 주기 위상 차를 갖도록 할 수 있다.
상기 수신측으로 전송된 기준 클럭 신호와 상기 N비트의 훈련데이터의 각 비트 데이터 간에는 도 1에서 나타난 바와 같이 타이밍에러, 즉 위상 스큐가 발생될 수 있다.
상기 수신된 훈련데이터 신호는 상기 수신측 반도체 장치에 저장된다(S920).
상기 송신측 반도체 장치는 상기 송신 샘플링 클럭 신호의 위상 값이 기준 위상 값과 동일한지 여부를 판단한다(S930). 상기 송신 샘플링 클럭 신호의 위상 값이 상기 기준 위상 값(예컨대, 상기 훈련데이터 한 주기 위상 값)과 동일하지 않으면 상기 위상 값을 소정의 값만큼 증가하고(S935), 상기 단계들(S910 및 S920)을 반복한다. 예컨대, 상기 송신측 반도체 장치는 상기 훈련데이터 신호의 한 주기 동안 상기 송신 샘플링 클럭 신호의 위상을 소정의 위상 값만큼 증가시키면서 상기 훈련데이터 신호를 수신측 반도체 장치로 송신한다.
상기 송신측 반도체 장치는 상기 수신측 반도체 장치에 저장된 훈련데이터 신호를 소정의 송신측 수신 샘플링 클럭 신호에 동기하여 수신한다. 이 때 상기 소정의 송신측 수신 샘플링 클럭 신호는 최대의 시간 마진을 갖는 위치에 있다고 가정한다. 상기 송신측 수신 샘플링 클럭 신호에 대한 퍼 핀 디스큐는 후에 설명한다.
상기 다수의 서로 다른 위상 값들 갖는 송신측 송신 샘플링 클럭 신호에 상응하는 상기 N비트 훈련데이터의 각 비트 데이터의 에러 여부를 판별한다(S940). 상기 각 비트 데이터에 대하여 에러가 발생하지 않는 송신측 송신 샘플링 클럭 신호의 위상 값들을 개별적으로 구하고 상기 구한 위상 값들의 평균 위상 값을 구한다(S950). 상기 N비트 훈련데이터의 각 비트 데이터에 대응하여 상기 평균 위상 값이 구해진다. 상기 각 비트 데이터에 대응하는 평균 위상 값은 각 비트 데이터를 송신하기 위한 송신측 송신 샘플링 클럭 신호의 위상 값으로 한다(S960).
따라서 상기 수신측 반도체 장치에서 발생하는 기준 클럭 신호와 데이터 간의 스큐를 상기 송신측 반도체 장치의 송신 클럭 신호의 위상을 제어함으로써 보정할 수 있다.
상기 송신측 반도체 장치의 수신 샘플링 클럭 신호의 훈련데이터를 이용한 퍼 핀 디스큐는 다음과 같다. 먼저 소정의 낮은 주파수를 갖는 송신측 송신 샘플링 클럭 신호에 동기하여 상기 훈련데이터 신호를 수신측 반도체 장치로 전송하고 상기 수신측 반도체 장치는 이를 저장한다. 이 때 송신된 훈련데이터 신호에는 에러가 발생하지 않는다고 가정한다.
상기 송신측 반도체 장치는 다수의 서로 다른 위상 값을 갖는 송신측 수신 샘플링 클럭 신호에 응답하여, 상기 수신측 반도체 장치에 저장된 훈련데이터 신호를 수신한다.
상기 다수의 서로 다른 위상 값들 갖는 송신측 수신 샘플링 클럭 신호에 상응하는 상기 N비트 훈련데이터의 각 비트 데이터의 에러 여부를 판별한다.
상기 각 비트 데이터에 대하여 에러가 발생하지 않는 송신측 수신 샘플링 클럭 신호의 위상 값들을 개별적으로 구하고 상기 구한 위상 값들의 평균 위상 값을 구한다. 상기 각 비트 데이터에 대응하는 평균 위상 값을 각 비트 데이터를 수신하기 위한 송신측 수신 샘플링 클럭 신호의 위상 값으로 한다.
따라서 상기 훈련데이터를 사용하는 퍼 핀 디스큐는 상기 수신측 반도체 장치에 별도의 스큐 보정 회로가 필요하지 않으므로 상기 수신측의 전력 소모를 감소시킬 수 있다.
도 10은 도 9는 도 8에 도시된 CDR방식을 이용한 디스큐 방법에 대한 플로챠트이다. 도 10을 참조하면, 송신측 반도체 장치는 송신측 송신 샘플링 클럭 신호에 동기하여 기준 클럭 신호와 N비트의 병렬데이터 신호들을 수신측 반도체 장치로 송신한다(S1010).
상기 수신측 반도체 장치는 상기 기준 클럭 신호에 기초하여 적어도 2개의 서로 다른 위상을 갖는 수신측 수신 샘플링 클럭 신호를 생성한다(1020). 예컨대, 상기 기준 클럭 신호와 동상인 에지 샘플링 클럭 신호 및 상기 기준 클럭 신호와 반 주기 위상 차를 갖는 데이터 샘플링 클럭 신호가 생성될 수 있다.
상기 서로 다른 위상을 갖는 수신측 수신 샘플링 클럭 신호에 동기하여 상기 수신된 N비트의 병렬데이터 중에서 적어도 어느 하나의 비트의 데이터 신호를 샘플링한다(S1030). 상기 샘플링된 데이터 신호 값들에 기초하여, 상기 송신측 송신 샘플링 클럭 신호에 대한 위상 스큐 정보를 검출한다(S1040).
예컨대, 8비트의 병렬데이터(DQ1 내지 DQ8) 중에서 어느 한 비트 데이터(DQ5)의 신호를 상기 수신측 반도체 장치의 상기 에지 샘플링 클럭 신호와 상기 데이터 샘플링 클럭 신호로 샘플링한다.
일반적으로 수신측에서 DQ1과 DQ8의 지연(delay)차가 가장 크다고 할 수 있으므로 상기 DQ5가 중간 지연 값을 가진다고 가정할 수 있다. 따라서 상기 DQ5를 상기 병렬데이터(DQ1 내지 DQ8) 중에서 대표로 하여 상기 DQ5의 위상 스큐 정보를 검출한다. 상기 검출된 위상 스큐 정보를 상기 송신측 반도체 장치로 송신하여 상기 DQ5를 송신하기 위한 상기 송신측 반도체 장치의 송신 샘플링 클럭 신호의 위상을 제어한다.
만약 수신측 반도체 장치에서 검출된 상기 DQ5의 위상 스큐 정보가 도 2b와 같다면 상기 데이터 신호(DQ5)의 시간지연이 기준 클럭 신호의 시간지연보다 작은 경우이다. 반면에 도 2c의 경우에는 상기 데이터 신호(DQ5)의 시간지연이 기준 클럭 신호의 시간지연보다 큰 경우이다.
상기 수신측 반도체 장치는 상기 검출된 위상 스큐 정보를 데이터 라인을 통하여 상기 송신측 반도체 장치로 송신하거나 별도의 위상 정보 송신 라인을 통하여 상기 송신측 반도체 장치로 송신한다.
상기 검출된 위상 스큐 정보를 데이터 라인을 통하여 상기 송신측 반도체 장치로 송신하는 주기와 시기는 상기 송신측 반도체 장치에 의해 상기 시스템의 환경에 맞게 조절된다.
상기 검출된 위상 스큐 정보를 별도의 위상 정보 송신 라인을 통하여 전송하면 데이터에 영향을 주지 않고 실시간으로 상기 위상 스큐 정보를 송신측 반도체 장치로 전송할 수 있으므로 높은 대역폭의 CDR(clock data recovery)을 구현할 수 있는 장점이 있다(S1050).
상기 송신된 위상 스큐 정보에 기초하여 상기 N비트의 병렬데이터 신호들 각각에 대응하는 상기 송신측 송신 샘플링 클럭 신호의 위상 값을 결정한다(S1060).
만약 수신측 반도체 장치에서 검출된 상기 DQ5의 위상 스큐 정보가 도 2b와 같다면 상기 데이터 샘플링 클럭 신호(CLKda)의 위치를 최대 시간 마진을 갖는 위치로 이동하기 위해서는 상기 송신측 반도체 장치에서 상기 데이터 신호(DQ5)를 상기 기준 클럭 신호보다 늦게 송신하면 된다. 따라서 상기 데이터 신호(DQ5)를 송신하기 위한 상기 송신측 송신 샘플링 클럭 신호를 전보다 더 늦은 위상(late phase)을 갖도록 제어한다.
반면에, 수신측 반도체 장치에서 검출된 상기 DQ5의 위상 스큐 정보가 도 2c와 같다면 상기 데이터 샘플링 클럭 신호(CLKda)의 위치를 최대 시간 마진을 갖는 위치로 이동하기 위해서는 상기 데이터 신호(DQ5)를 송신하기 위한 상기 송신측 송신 샘플링 클럭 신호를 전보다 더 이른 위상(early phase)을 갖도록 제어한다.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.