KR20170004954A - 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 - Google Patents
양방향 통신 방법 및 이를 이용한 양방향 통신 장치 Download PDFInfo
- Publication number
- KR20170004954A KR20170004954A KR1020167021745A KR20167021745A KR20170004954A KR 20170004954 A KR20170004954 A KR 20170004954A KR 1020167021745 A KR1020167021745 A KR 1020167021745A KR 20167021745 A KR20167021745 A KR 20167021745A KR 20170004954 A KR20170004954 A KR 20170004954A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- data
- phase
- clk
- packet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000007175 bidirectional communication Effects 0.000 title description 5
- 238000005070 sampling Methods 0.000 claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims abstract description 54
- 230000006854 communication Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 28
- 230000003111 delayed effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 34
- 239000000872 buffer Substances 0.000 description 32
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 28
- 238000010586 diagram Methods 0.000 description 16
- 230000000630 rising effect Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000013078 crystal Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/091—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector using a sampling device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
본 실시예에 따른 통신 방법은, 제1 측과 제1 측이 제공하는 클록으로 동작하는 제2 측 사이의 통신 방법으로, 위상 조정(phase calibration) 단계와, 제1 측이 제2 측으로 명령 패킷을 전송하는 단계와, 제1 측과 제2 측 사이에서 명령 패킷에 따른 데이터 패킷 들이 송수신 되는 데이터 송수신 단계를 포함하며, 위상 조정 단계는, 제1 측의 송신 샘플링 클록 및 제1 측의 수신 샘플링 클록의 위상을 조정하도록 수행된다.
Description
본 발명은 양방향 통신 방법과 이를 이용한 양방향 통신 장치에 관한 것이다.
종래의 양방향 통신 방법은 제1 측 및 제2 측 모두에 위상 고정 루프 또는 클록 데이터 복원 회로를 형성하여 어느 제1 측이 클록신호를 전송하면 제2 측이 클록 신호를 복원하고, 이어서 데이터를 전송하며, 반대 방향으로 전송이 이루어지는 경우에도 역시 클록을 복원한 후, 데이터를 송수신하였다.
종래 기술에 따르는 양방향 통신 방법에 의하면 클록을 복원하는 과정이 필수적으로, 전송측과 수신측이 전환될 때마다 매번 클록을 복원하는 과정을 수행하였다. 그러나, 클록 복원시 위상 고정 루프 또는 클록 데이터 복원 회로의 고정 시간(locking time)이 소모되며, 매번 송수신이 전환될 때마다 고정시간이 소모되므로 레이턴시(latency)가 증가한다. 레이턴시를 감소시키기 위하여 병렬 버스 구조, 복수의 클록 버스, 복수의 제어 신호 버스를 둘 수 있으나, 버스들 사이의 신호 스큐가 심각할 수 있으며, 나아가 칩의 핀 수가 증가하여 비경제적이다.
본 실시예는 이러한 종래 기술에 의한 문제점을 해결하기 위한 것으로, 위상 고정 시간이 필요없이 고속으로 송신측과 수신측을 전환하며, 데이터 전송을 수행할 수 있는 양방향 통신 방법 및 이를 이용한 양방향 통신 장치를 제안하는 것이 본 발명의 주된 목적 중 하나이다.
본 실시예에 따른 통신 방법은, 제1 측과 제1 측이 제공하는 클록으로 동작하는 제2 측 사이의 통신 방법으로, 위상 조정(phase calibration) 단계와, 제1 측이 제2 측으로 명령 패킷을 전송하는 단계와, 제1 측과 제2 측 사이에서 명령 패킷에 따른 데이터 패킷 들이 송수신 되는 데이터 송수신 단계를 포함하며, 위상 조정 단계는, 제1 측의 송신 샘플링 클록 및 제1 측의 수신 샘플링 클록의 위상을 조정하도록 수행된다.
본 실시예에 따른 통신 방법은, 제1 측이 제공하는 클록으로 제1 측이 제2 측으로 데이터를 전송하는 통신 방법으로, 통신 방법은: (a) 제1 측이 클록의 위상을 변화하여 목적하는 위상을 가지는 예비 클록을 형성하는 단계와, (b) 제1 측이 예비 클록으로 상호 미리 정해진(mutually predetermined) 훈련 패턴을 샘플하여 제2 측으로 송신하는 단계와, (c) 제2 측이 클록으로 수신한 패턴을 샘플하고 샘플된 패턴들과 미리 정해진 훈련 패턴을 비교하여 비교 결과를 전송하는 단계와, (d) 비교 결과에 따라 제1 측이 예비 클록을 송신 샘플링 클록으로 선택하는 단계 및 (e) 제1 측이 전송하고자 하는 데이터를 위상이 조정된 송신 샘플링 클록으로 샘플하여 제2 측으로 전송하는 단계를 포함한다.
본 실시예에 따른 통신 방법은, 제1 측이 제공하는 클록으로 제2 측이 제1 측으로 데이터를 전송하는 통신 방법으로, 통신 방법은: (a) 제2 측이 상호 미리 정해진(mutually predetermined) 훈련 패턴을 제1 측으로 전송하는 단계와, (b) 제1 측이 클록의 위상을 변화하여 목적하는 위상을 가지는 예비 클록을 형성하는 단계와, (c) 제1 측이 예비 클록으로 제2 측이 제공한 패턴을 샘플하고 샘플된 패턴들과 미리 정해진 훈련 패턴을 비교하는 단계 및 (d) 비교 결과에 따라 제1 측이 예비 클록을 수신 샘플링 클록으로 선택하는 단계 및 (e) 제2 측이 전송한 데이터를 수신 샘플링 클록으로 샘플하는 단계를 포함한다.
본 실시예에 따른 통신 장치는, 클록을 제공하는 클록 제공부와, 데이터를 제공하거나 데이터를 제공 받는 복수의 제1 측 데이터 송수신부들을 포함하는 제1 측과, 클록 수신부와, 데이터를 제공하거나 데이터를 제공 받는 복수의 제2 측 데이터 송수신부들을 포함하는 제2 측과, 복수의 제1 측 데이터 송수신 부들과 복수의 제2 측 데이터 송수신부들을 각각 연결하는 데이터 채널(data channel)을 포함하는 데이터 채널 부 및 클록을 제1 측으로부터 제2 측으로 제공하는 클록 채널을 포함하며, 제1 측과 제2 측은 클록으로 동작한다.
본 실시예에 따른 통신 방법 또는 통신 장치에 의하면 송신측과 수신측이 전환될 때 마다 위상 고정 루프(PLL, Phase Locked Loop)의 고정 시간을 대기할 필요가 없어 레이턴시 구간이 짧아진다는 장점이 제공된다.
도 1은 본 실시예에 의한 통신 장치의 개요를 도시한 블록도이다.
도 2는 본 실시예에 의한 통신 방법의 개요를 도시한 순서도이다.
도 3(a) 및 도 3(b)는 송신 위상 조정 과정을 설명하기 위한 예시적인 타이밍 도로, 도 3(a)는 제1 측에서 클록을 이용하여 복수의 예비 클록과 예비 클록을 이용하여 샘플된 훈련 패턴을 형성하는 과정을 설명하기 위한 개요적 타이밍 도(timing diagram)이다. 도 3(b)는 제2 측에서 수신한 패턴을 클록으로 샘플하는 과정을 설명하기 위한 개요적 타이밍 도이다.
도 4는 수신 위상 조정과정을 설명하기 위한 예시적 타이밍 도들이다.
도 5는 제1 측이 제2 측에 저장된 데이터를 쓰는 과정을 개요적으로 도시한 타이밍 도이다.
도 6은 제1 측(10)이 제2 측(20)에 저장된 데이터를 읽는 과정을 개요적으로 도시한 타이밍 도이다.
도 7은 제2 측(20)이 리프레시(refresh)가 필요한 DRAM인 경우에 리프레시를 수행하는 과정을 도시한 도면이다.
도 2는 본 실시예에 의한 통신 방법의 개요를 도시한 순서도이다.
도 3(a) 및 도 3(b)는 송신 위상 조정 과정을 설명하기 위한 예시적인 타이밍 도로, 도 3(a)는 제1 측에서 클록을 이용하여 복수의 예비 클록과 예비 클록을 이용하여 샘플된 훈련 패턴을 형성하는 과정을 설명하기 위한 개요적 타이밍 도(timing diagram)이다. 도 3(b)는 제2 측에서 수신한 패턴을 클록으로 샘플하는 과정을 설명하기 위한 개요적 타이밍 도이다.
도 4는 수신 위상 조정과정을 설명하기 위한 예시적 타이밍 도들이다.
도 5는 제1 측이 제2 측에 저장된 데이터를 쓰는 과정을 개요적으로 도시한 타이밍 도이다.
도 6은 제1 측(10)이 제2 측(20)에 저장된 데이터를 읽는 과정을 개요적으로 도시한 타이밍 도이다.
도 7은 제2 측(20)이 리프레시(refresh)가 필요한 DRAM인 경우에 리프레시를 수행하는 과정을 도시한 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
본 명세서는 신호 선로의 종류를 구분하지 않는다. 따라서, 데이터 버스는 단일단 신호(single ended signal)를 전송하는 단일 선로일 수 있으며, 차동 신호(differential signal)를 전송할 수 있는 선로쌍일 수 있다. 또한 도면으로 도시된 각 선로는 단일 신호 또는 하나 이상의 아날로그 신호 또는 디지털 신호로 구성된 버스 신호로 해석될 수 있으며, 필요한 경우에는 그 설명을 부가할 수 있다.
*
이하에서는 첨부된 도면들을 참조하여 본 실시예를 설명한다. 도 1은 본 실시예에 의한 통신 장치의 개요를 도시한 블록도이다. 도 1을 참조하면, 본 실시예에 의한 통신 장치는, 데이터를 송신하거나 수신하는 제1 측(10)과, 제1 측이 송신한 데이터를 수신하거나, 제1 측으로 데이터를 송신하는 제2 측(20)을 포함한다.
제1 측(10)은, 클록을 제공하는 클록 제공부(310)와, 데이터를 제공하거나 데이터를 제공 받는 복수의 데이터 송수신부(100)들을 포함한다. 제2 측(20)은 클록 수신부(310)와, 데이터를 제공하거나 데이터를 제공 받는 복수의 데이터 송수신부(200)들을 포함한다. 일 실시예에서, 제1 측(10)은 명령 패킷을 제공하는 명령 송신부(410)를 더 포함하고, 제2 측(20)은 명령 패킷을 수신하는 명령 수신부(420)을 더 포함할 수 있다.
본 실시예에 따른 통신 장치는, 복수의 제1 측 데이터 송수신 부들과 복수의 제2 측 데이터 송수신부들을 각각 연결하는 데이터 채널(data channel)을 포함하는 데이터 채널 부(DATA 1, DATA 2, ..., DATA n)와, 클록을 제1 측으로부터 제2 측으로 제공하는 클록 채널(CLK) 및 명령 패킷을 전송하는 명령 채널(CMD)을 포함하며, 제1 측과 제2 측은 같은 클록으로 동작한다.
도 2는 본 실시예에 의한 통신 방법의 개요를 도시한 순서도이다. 도 2를 참조하면, 본 실시예에 따른 통신 방법은, 제1 측과 제1 측이 제공하는 클록으로 동작하는 제2 측 사이의 통신 방법으로, 위상 조정(phase calibration) 단계(S100)와, 제1 측이 제2 측으로 명령 패킷을 전송하는 단계(S200)와, 제1 측과 제2 측 사이에서 명령 패킷에 따른 데이터 패킷 들이 송수신 되는 데이터 송수신 단계(S300)를 포함하며, 위상 조정 단계는, 제1 측의 송신 샘플링 클록 및 제1 측의 수신 샘플링 클록의 위상을 조정하도록 수행된다.
도 1을 참조하면, 제1 측은 복수의 데이터 송수신 부(100)들을 포함한다. 각각의 데이터 송수신부(100)는 수신부(110) 및 송신부(120)를 포함한다. 수신부(110)는 데이터 채널로부터 직렬 데이터를 제공받는 수신 버퍼(receive buffer, 112)와 직렬 데이터(serial data)를 역직렬화하여 제1 측의 내부 회로에 제공하는 역직렬화부(deserializer, 114) 및 클록 제공부(310)로부터 공통 클록(clk)을 제공받아 수신 샘플링 클록(r_clk)을 형성하고, 수신 샘플링 클록(r_clk)을 역직렬화부(114)에 제공하는 수신 위상 조절기(receive phase asjustor, 116)를 포함한다. 역직렬화부(114)는 수신 샘플링 클록을 이용하여 데이터 채널로부터 수신된 직렬 데이터를 샘플하고, 샘플된 데이터를 역직렬화하여 제1 측 내부 회로(미도시)에 제공한다.
송신부(120)는 제1 측 내부 회로(미도시)로부터 병렬 데이터를 제공받아 직렬화하는 직렬화부(124) 및 직렬화된 데이터를 데이터 채널로 제공하는 송신 버퍼(transmit buffer, 122) 및 클록 제공부(310)로부터 클록(clk)을 제공받아 송신 샘플링 클록(t_clk)을 형성하고 송신 샘플링 클록(t_clk)을 직렬화부(124)에 제공하는 송신 위상 조절기(transmit phase adjustor, 126)를 포함한다. 직렬화부(124)는 제1 측 내부 회로로부터 제공 받은 병렬 데이터를 직렬 신호로 변환하고, 송신 샘플링 클록(t_clk)으로 샘플하여 데이터 채널로 전송한다.
일 실시예로, 명령 송신부(410)는 제1 측 내부 회로(미도시)에서 명령 패킷(command packet)을 전송 받아 이를 직렬화하는 직렬화부(414), 직렬화된 명령 패킷을 명령 채널(CMD)을 통하여 제2 측(20)으로 전송하는 명령 버퍼(command buffer, 412) 및 클록 제공부(310)로부터 클록(clk)을 제공받아 명령 샘플링 클록(cmd_clk)을 형성하고, 명령 샘플링 클록(cmd_clk)을 직렬화부(424)에 제공하는 명령 위상 조절기(command phase adjustor, 416)를 포함한다.
클록 제공부(310)는 클록 형성부(clock generator, 314) 및 클록 버퍼(312)를 포함한다. 클록 형성부(310)는 전압 제어 발진기(VCO, Voltage Controlled Oscillator), 수정 발진기(XO, Crystal Oscillator) 및 위상 고정 루프(PLL, Phase Locked Loop) 또는 지연 고정 루프(Delay Locked Loop)를 포함한다. 클록 형성부(310)는 전압 제어 발진기 또는 수정 발진기가 제공하는 신호를 위상 고정 루프 또는 지연 고정 루프에 제공하여 목적하는 주파수를 가지는 클록 신호를 형성한다. 클록 형성부(310)가 제공하는 클록 신호(clk)는 제1 측(10) 및 제2 측(20)에 공통으로 제공되는 클록으로 기능한다. 클록 버퍼(312)는 클록 형성부(310)가 제공한 클록(clk)을 클록 채널(CLK)를 통하여 제2 측으로 전송한다. 클록 형성부(310)는 클록 버퍼를 통하여 수신 위상 조절기(116)와 송신 위상 조절기(126)에 클록(clk)을 제공한다.
클록 제공부(310)가 형성한 클록(clk)은 클록 채널(CLK)을 통하여 제2 측(20)에 제공되며, 제2 측(10)은 제1 측(10)이 제공한 클록으로 데이터를 샘플하여 송신하거나, 수신한 데이터를 샘플한다. 제1 측에 제공된 클록과 제2 측에 제공된 클록은 비록 클록 제공부(310)가 형성한 클록 신호들이나, 제1 측과 제2 측에 제공되는 전압 차이등을 포함하는 전기적 환경 차이, 제1 측과 제2 측을 형성하는 공정상 차이, 온도 차이 및 전송되는 클록 채널(CLK)에 의하여 위상 스큐(phase skew)가 발생한다. 위상 스큐가 발생한 두 클록 신호들은 동일한 주파수를 가지나, 서로 위상에서 차이가 있다. 따라서, 제1 측에서 사용되는 클록과 제2 측에서 사용되는 클록을 구별할 필요가 있는 경우에는 제1 측(10)에서 사용되는 클록을 clk로 지칭하고, 제2 측에서 사용되는 클록을 clk2로 지칭한다.
제2 측(20)은 클록 채널(CLK)로부터 클록을 수신하여 복수의 데이터 송수신부(200)에 제공하는 클록수신부(320)를 포함한다. 클록 수신부(320)는 클록(clk2)을 각각의 데이터 송수신부(200)에 제공하는 클록 버퍼(322)를 포함한다. 상술한 바와 같이 제2 측(20)은 제1 측(10)과 달리 제2 측(20)에서 클록을 형성하지 않아 제1 측으로부터 제공된 클록을 제공받고, 제공된 클록(clk2)을 이용하여 수신한 데이터 및 송신할 데이터를 샘플한다.
제2 측(20)에 포함된 각각의 데이터 송수신부(200)는 수신부(210) 및 송신부(220)을 포함한다. 수신부(210)는 데이터 채널로부터 수신한 데이터를 버퍼링하여 역직렬화부(214)에 제공하는 수신 버퍼(212)와, 수신 버퍼(212)가 제공한 직렬 데이터를 역직렬화하는 역직렬화부(214)를 포함한다. 역직렬화부(214)는 클록(clk2)을 제공받아 수신한 데이터를 샘플하고, 샘플된 데이터를 역직렬화하여 제2 측 내부 회로(미도시)에 제공한다.
송신부(220)는 제2 측 내부 회로(미도시)로부터 전송하고자 하는 데이터를 제공받아 직렬화하는 직렬화부(224)와, 직렬화된 데이터를 데이터 채널로 전송하는 송신 버퍼(222)를 포함한다. 직렬화부(224)는 제2 측 내부 회로로부터 제공 받은 병렬 신호를 직렬 신호로 변환하고, 클록(clk2)으로 샘플하여 데이터 채널로 전송한다.
명령 수신부(420)는 명령 채널(CMD)로부터 명령 패킷을 수신하고, 제2 측 내부회로(미도시)에 제공한다. 명령 수신부(420)는 명령 버퍼(422)가 수신한 명령 패킷을 클록(clk2)으로 샘플하고, 역직렬화화여 제2 측 내부 회로(미도시)에 제공하는 역직렬화부(424)를 포함한다.
일 실시예로, 제1 측은 이미지를 디스플레이하는 디스플레이 장치의 타이밍 콘트롤러에서 구현될 수 있으며, 제2 측은 디스플레이 이미지 정보를 저장하는 메모리로 구현될 수 있다. 메모리는 높은 정보 저장 밀도를 구현하기 위하여 반복적 규칙적 패턴으로 이루어진 회로를 형성하는 것에 촛점이 맞추어져 있다. 따라서, 비 반복적 및 비규칙적 레이아웃을 가지는 클록 형성 회로, 위상 조절 회로 등을 메모리 상에 구현하는 것은 다이 사이즈 문제, 구현 난이도의 관점에서 문제 들이 있을 수 있다. 그러나 본 실시예에 의하면 타이밍 콘트롤러에서 제공되는 클록을 이용하여 타이밍 콘트롤러와 메모리를 같이 구동할 수 있으므로 종래 기술의 문제점을 해결할 수 있으며, 높은 정보 저장 밀도, 낮은 레이턴시(latency) 및 높은 정보 저장 밀도를 구현할 수 있다는 장점이 제공된다.
위상 조정 단계(도 2, S100 참조)는 제2 측(20)이 제1 측(10)에서 송신한 데이터 패킷들을 유효하게 샘플할 수 있도록 제1 측(10)에서 데이터 패킷을 송신하는 과정에서 사용되는 송신 샘플링 클록(t_clk)의 위상을 조정(calibrate)하는 송신 위상 조정 과정과 제2 측(20)이 제공하는 데이터 패킷 들을 제1 측(10)이 유효하게 샘플할 수 있도록 제1 측에서 데이터 패킷을 샘플하는 수신 샘플링 클록(r_clk)의 위상을 조정하는 수신 위상 조정과정을 포함한다. 일 실시예로, 위상 조정 단계는 명령 패킷을 샘플링하는 명령 샘플링 클록(cmd_clk)의 위상을 조정하는 과정을 더 포함한다.
본 명세서에서 유효하게 샘플한다라는 의미는 샘플링에 사용되는 샘플링 클록 에지가 데이터의 천이 구간에 포함되지 않아 데이터 유지 구간에서의 비트 정보를 샘플할 수 있음을 의미하는 것으로 사용한다.
도 3(a) 및 도 3(b)는 송신 위상 조정 과정을 설명하기 위한 예시적인 타이밍 도들로, 도 3(a)는 제1 측(10)에서 클록(clk)을 이용하여 복수의 예비 클록과 예비 클록을 이용하여 샘플된 훈련 패턴을 형성하는 과정을 설명하기 위한 개요적 타이밍 도(timing diagram)이다. 도 3(b)는 제2 측(20)에서 수신한 패턴을 클록(clk2)으로 샘플하는 과정을 설명하기 위한 개요적 타이밍 도이다. 도 3(a)를 참조하면, 송신 위상 조절기(126)는 도 3(a)에 도시된 클록(clk)을 제공 받아 φ1 위상을 가지는 제1 예비 클록(pre_clk1)을 형성한다. 일 구현예로, 송신 위상 조절기(126)는 위상 보간기(phase interpolater)를 포함하며, 제공된 클록 신호(clk)의 한 주기를 보간하여 목적하는 위상을 가지는 예비 클록을 형성한다. 다른 구현예로, 송신 위상 조절기(126)는 지연 소자를 포함하며, 제공된 클록 신호(clk)를 목적하는 지연 시간 동안 지연시켜 목적하는 위상을 가지는 예비 클록을 형성할 수 있다.
송신 위상 조절기(126)는 형성된 제1 예비 클록(pre_clk1)을 직렬화부(124)에 제공하고, 직렬화부(124)는 제공된 제1 예비 클록(pre_clk1)으로 제1 측(10)과 제2 측(20) 사이에서 상호 미리 정해진 훈련 패턴(mutually predetermined training pattern)을 샘플한다. 일 예로, 훈련 패턴은 제1 측 내부 회로(미도시)에서 제공될 수 있다. 다른 예로, 훈련 패턴은 직렬화부(124)에 설정된 패턴일 수 있다.
도시된 바와 같이 제1 예비 클록(pre_clk1)으로 샘플된 훈련 패턴(s_ts1)은 샘플링에 사용된 예비 클록 위상에 상응하는 위상을 가진다. 제1 예비 클록(pre_clk1)으로 샘플된 훈련 패턴(s_ts1)은 송신 버퍼(122)에 제공되고, 송신 버퍼(122)는 데이터 채널을 통하여 샘플된 패턴(s_ts1)을 제2 측(20)에 제공한다.
제2 측(20)의 수신 버퍼(212)는 샘플된 훈련 패턴(s_ts1)을 수신하고, 버퍼링하여 제2 측의 역직렬화부(214)에 제공한다. 역직렬화부(214)는 수신한 패턴을 샘플링 클록으로 샘플하여 역직렬화 한다. 제2 측에서 샘플에 사용되는 클록인 clk2는 데이터 채널과 서로 다른 채널인 클록 채널(CLK)을 통하여 제2 측에 제공되고, 제1 측과 제2 측 사이의 전압 차이 등의 전기적 조건이 상이하며, 제1 측 및 제2 측이 위치한 곳의 온도, 습도 등에 의한 환경적 조건이 상이하여 제2 측 역직렬화부(214)에 제공되는 클록(clk2)은 제1 측으로 제공되는 클록(clk)과 위상이 상이하다.
제1 측에서 송신하는 훈련 패턴을 clk2로 샘플할 경우 유효하게 샘플할 수 있는지 문제되나, 아래에 설명될 바와 같이 클록(clk2)으로 샘플하였을 때 제2 측에서 훈련 패턴을 복원할 수 있는 위상을 가지는 예비 클록을 찾고, 이러한 클록을 송신 샘플링 클록으로 데이터 패킷을 샘플하여 제2 측(20)으로 전송하도록 한다.
도 3(b)에서, 상술한 바와 같이 제2 측에서의 클록(clk2) 및 제2 측에 수신된 샘플된 훈련 패턴(s_ts1)의 위상차는 제1 측에서의 클록(clk)과 샘플된 훈련 패턴(s_ts1)의 위상차와 서로 상이하다. 일 예로, 역직렬화부(214)가 클록(clk2)의 상승 에지(rising edge)로 샘플링을 수행하면, 클록(clk2)의 상승 에지는 훈련 패턴(s_ts1)의 비트 천이 구간에 위치하여 정확한 훈련 패턴의 비트를 샘플할 수 없다. 따라서, 클록(clk2)로 패턴(s_ts1)을 샘플하면 미리 정하여진 훈련 패턴과 동일하지 않다. 이러한 경우, 제2 측은 불일치 신호를 제1 측으로 전송한다. 일 실시예로, 불일치 신호는 복수개의 데이터 채널 중 위상 조정을 수행하지 않는 데이터 채널을 통하여 전송될 수 있다.
송신 위상 조절기(126)는 클록(clk)을 제공받아 제1 예비 클록(pre_clk1)의 위상φ1과 상이한 위상(φ2)을 가지는 제2 예비 클록(pre_clk2)을 형성하고, 제2 예비 클록을 직렬화부(124)에 제공한다. 직렬화부(124)는 제공된 제2 예비 클록(pre_clk2)로 미리 정해진 훈련 패턴을 샘플하여 샘플된 훈련 패턴(s_ts2)를 형성한다. 위에서 설명된 바와 같이 샘플된 훈련 패턴의 위상은 샘플링에 사용된 클록의 위상에 상응한다.
직렬화부(124)는 샘플된 훈련 패턴(s_ts2)를 송신 버퍼(122)에 제공하고, 송신 버퍼(122)는 데이터 채널을 통하여 제2 측(20)에 제공한다. 제2 측의 수신 버퍼(212)는 샘플된 훈련 패턴(s_ts2)을 버퍼링하여 역직렬화부(214)에 제공한다. 역직렬화부(214)는 클록(clk2)으로 샘플된 훈련 패턴(s_ts2)을 샘플한다. 제2 예비 클록(pre_clk2)으로 샘플된 훈련 패턴(s_ts2)의 위상은 도 3(b)에 도시된 바와 같이 제1 예비 클록(pre_clk1)으로 샘플된 훈련 패턴(s_ts1)의 위상과 상이하다. 샘플링을 수행한 클록(clk2)의 상승 에지는 비트 천이 구간에서 벗어나 있으므로 유효하게 패턴을 샘플할 수 있다. 따라서, 훈련 패턴(s_ts2)을 클록(clk2)로 샘플한 결과는 미리 정하여진 훈련패턴과 일치한다. 제2 측은 위상 조정 단계를 수행하지 않는 다른 데이터 채널을 통하여 제1 측으로 일치 신호를 송신한다.
송신 위상 조절기(126)는 위상이 순차적으로 변화하는 예비 클록들을 형성하고, 각각을 직렬화부(124)에 제공하여 각각의 예비클록으로 샘플된 훈련 패턴을 형성한다. 이와같이 형성된 샘플된 훈련 패턴 들은 도 3(b)에 도시된 위상 변화를 보인다. 따라서, s_tsk -1을 샘플하는 경우에는 클록(clk2)의 상승에지가 비트 천이 구간에서 벗어나 있어 유효하게 패턴을 샘플할 수 있다. 그러나, s_tsk을 샘플하는 경우에는 클록(clk2)의 상승 에지가 비트 천이 구간에 다시금 포함되므로 유효하게 샘플할 수 없다. 따라서, 제2 측은 s_tsk - 1를 샘플할 때 까지 일치 신호를 송신하고, s_tsk를 샘플할 때에는 미리 정하여진 훈련 패턴과 상이하므로 불일치 신호를 제1 측으로 송신한다.
제1 측은 일치 신호를 전송 받은 예비 클록의 위상 범위를 파악한다. 도 3(b)를 참조하면, s_ts2부터 s_tsk -1까지 클록(clk2)이 유효하게 패턴을 샘플할 수 있다. 따라서, 제1 측(10)은 일 실시예로, s_ts2를 샘플한 클록 신호인 pre_clk2의 위상과 s_tsk -1을 샘플한 클록 신호인 pre_clkk -1의 위상 범위 내에서 어느 한 위상을 가지는 예비 클록을 송신 샘플링 클록(t_clk)으로 선택한다. 다른 실시예로, 제1 측은 일 실시예로, s_ts2를 샘플한 클록 신호인 pre_clk2의 위상과 s_tsk -1을 샘플한 클록 신호인 pre_clkk -1의 위상 범위의 중앙부분의 위상을 가지는 예비 클록을 송신 샘플링 클록(t_clk)으로 선택한다.
도 3(b)에서 s_data는 제1 측(10)이 상기 중앙부분의 위상을 가지는 예비 클록을 송신 샘플링 클록(t_clk)으로 선택한 경우에, 제2 측이 상기 송신 샘플링 클록으로 샘플된 데이터(s_data)를 수신한 경우를 도시한 타이밍 도이다. 도시된 바와 같이 샘플된 데이터(s_data)는 클록(clk2)의 샘플링 에지들이 샘플된 데이터(s_data)의 비트들을 샘플할 수 있도록 위치하는 것을 알 수 있다.
도 4는 수신 위상 조정과정을 설명하기 위한 예시적 타이밍 도들이다. 도 4를 참조하면, 일 예로, 제2 측의 내부 회로(미도시)는 미리 정해진 훈련 패턴을 직렬화부(224)에 제공하고, 직렬화부(224)는 클록(clk2)로 제공된 훈련 패턴을 샘플하여 송신 버퍼(222)를 통하여 데이터 채널에 제공한다. 제1 측의 수신 버퍼(112)는 데이터 채널을 통하여 제2 측이 제공한 훈련 패턴(r_ts)을 제공받고, 버퍼링하여 역직렬화부(114)에 제공한다. 다른 예로, 미리 정해진 훈련 패턴은 직렬화부에 설정된 것일 수 있다.
패턴(r_ts)은 제2 측의 클록(clk2)으로 샘플되어 전송된 것으로, 상기된 바와 같이 제1 측의 클록(clk)과 위상 차이가 있어 제1 측에서는 샘플하기 위한 수신 샘플링 클록을 형성하여야 한다. 수신 위상 조절기(116)는 클록(clk)을 제공받고, φa 위상을 가지는 예비 클록(pre_clka)을 형성한다. 수신 위상 조절기(116)는 형성된 예비 클록(pre_clka)을 역직렬화부(114)에 제공하고, 역직렬화부(114)는 제공된 예비 클록(pre_clka)으로 패턴(r_ts)을 샘플한다.
*일 실시예로, 수신 위상 조절기(116)는 클록(clk)를 제공받고, 위상을 보간하여 목적하는 위상을 가지는 예비 클록을 형성하는 위상 보간기(phase interpolater)로 구현할 수 있다. 다른 예로, 수신 위상 조절기(116)는 클록(clk)을 제공받고, 미리 정해진 지연 시간 동안 지연하여 목적하는 위상을 가지는 예비 클록을 형성하는 지연소자를 포함할 수 있다.
도시된 바와 같이 역직렬화부(114)가 샘플링을 수행하는 예비 클록(pre_clka)의 상승 에지(rising edge)는 패턴(r_ts)의 비트 천이 구간내에 있으므로 패턴(r_ts)을 유효하게 샘플할 수 없다. 따라서, 샘플된 결과와 미리 정하여진 훈련 패턴을 비교하면 상이하다. 일 실시예로, 제1 측(20)은 불일치 신호를 제2 측에 전송할 수 있다.
수신 위상 조절기(116)는 클록(clk)의 위상을 조절하여 φb위상을 가지는 예비 클록(pre_clkb)를 형성하여 역직렬화부(114)에 제공한다. 역직렬화부(114)가 샘플링을 수행하는 예비 클록(pre_clkb)의 상승 에지는 패턴 패턴(r_ts)의 비트 천이 구간을 벗어나 위치하므로 유효하게 패턴(r_ts)을 샘플할 수 있다. 따라서, 샘플된 결과와 미리 정해진 패턴을 비교하면 동일한 것으로 판단할 수 있다.
수신 위상 조절기(116)는 클록(clk)의 위상을 순차적으로 변화시키면서 예비 클록들을 형성하고, 형성된 예비 클록을 순차적으로 역직렬화부(114)에 제공한다. 역직렬화부(114)는 제공받은 예비클록을 이용하여 패턴(r_ts)을 샘플하고, 미리 정해진 훈련패턴과의 일치여부를 판단한다. 도 4에 도시된 바와 같이 φk위상 을 예비 클록(pre_clkk)은 상승 에지가 패턴(r_ts)의 비트 천이 구간을 벗어나 위치하므로 역직렬화부(114)는 유효하게 패턴(r_ts)을 샘플할 수 있다. 그러나, φk +1 위상을 가지는 예비 클록(pre_clkk + 1)은 상승 에지가 패턴(r_ts)의 비트 천이 구간 내에 위치하므로, 유효하게 패턴(r_ts)을 샘플할 수 없다.
일 실시예로, 제1 측은 유효하게 패턴을 샘플할 수 있는 제b 위상(φb)을 가지는 예비 클록(pre_clkb) 내지 제k 위상(φk)을 가지는 예비 클록(pre_clkk) 중 어느 하나를 수신 샘플링 클록(r_clk)으로 선택하여 제2 측이 제공한 데이터를 샘플한다.
다른 실시예로, 제1 측은 패턴을 유효하게 샘플할 수 있는 예비 클록의 위상 범위를 파악하고, 위상 범위의 가운데 위상을 가지는 예비 클록을 수신 샘플링 클록(r_clk)으로 선택할 수 있다. 일 예로, 패턴을 유효하게 샘플할 수 있는 예비 클록의 위상이 3개의 연속된 제a 위상(φa), 제b 위상(φb) 및 제c 위상(φc) 이라면 제1 측은 가운데 위치하는 제b 위상(φb)을 가지는 예비 클록을 수신 샘플링 클록으로 선택할 수 있다. 다른 예로, 패턴을 유효하게 샘플할 수 있는 예비 클록의 위상이 4개의 연속된 제a 위상(φa), 제b 위상(φb), 제c 위상(φc) 및 제d 위상(φd)이라면 제1 측은 가운데 위치하는 제b 위상(φb) 및 제c 위상(φc) 중 어느 하나를 선택하여 수신 샘플링 클록으로 선택할 수 있다.
일 실시예로, 위상 조정 과정은 제1 측이 제공하는 명령 패킷을 샘플하는 명령 클록 위상 조정 과정을 더 포함한다. 명령 패킷은 제1 측(10)이 제2 측(20)으로 제공하는 것으로, 명령 샘플링 클록의 위상을 조정하는 과정은 위에서 설명된 송신 샘플링 클록의 위상 조정 과정과 유사하다. 명령 패킷은 제1 측(10) 내부 회로(미도시)가 직렬화부(414)에 제공하고, 직렬화부는 명령 샘플링 클록(cmd_clk)으로 명령 패킷을 샘플하여 제2 측(20)으로 전송한다.
제2 측(20)은 명령 채널(CMD)를 통하여 명령 패킷을 수신하고 명령 버퍼(422)는 수신된 명령 패킷을 버퍼링하여 역직렬화부(424)에 제공한다. 역직렬화부는 클록(clk2)으로 명령 패킷을 샘플하고, 역직렬화하여 제2 측 내부회로(미도시)에 제공한다. 일 실시예로, 명령 위상 조정기는 공통 클록(clk)을 제공받고, 목적하는 위상을 가지는 예비 클록을 형성하고, 예비 클록으로 훈련 패턴을 샘플하여 제2 측 명령 수신부(420)에 제공한다.
역직렬화부(424)는 수신한 패턴을 제2 측 클록(clk2)으로 샘플하고, 미리 정해진 훈련 패턴과 일치하는지 여부를 판단하고, 일치 또는 불일치 신호를 제1 측에 제공한다. 후술할 바와 같이, 제1 측(10)과 제2 측(20) 사이에서 정보가 전송되는 채널은 클록 채널(CLK), 데이터 채널(DATA 1, ... , DATA n) 및 명령 채널(CMD)의 세 종류이며, 이 들중 데이터 채널(DATA 1, ... , DATA n)만 양방향 전송이 가능하다. 따라서, 제2 측 내부회로(미도시)는 일치 또는 불일치 신호를 데이터 채널을 통하여 제1 측에 전송한다.
일 예로, 제2 측 내부회로(미도시)는 명령 샘플링 클록의 위상 조정과정에서 모든 데이터 채널(DATA 1, ... , DATA n)이 논리 1 또는 논리 0을 제1 측으로 전송하도록 하여 일치 또는 불일치 신호를 전송할 수 있다. 다른 예로, 제1 측과 제2 측 사이에서 미리 정하여진 어느 하나의 데이터 채널로 일치 또는 불일치 신호를 전송할 수 있다.
명령 위상 조절기(416)는 일치 신호 및 불일치 신호로부터 역직렬화부(424)가 유효하게 훈련 패턴을 샘플할 수 있는 예비 클록들의 위상 범위를 파악할 수 있다. 일 예로, 명령 위상 조절기(416)는 상기 위상 범위의 가운데 위상을 가지는 예비 클록을 명령 샘플링 클록(cmd_clk)으로 선택할 수 있다. 다른 예로, 명령 위상 조절기(416)는 상기 위상 범위의 어느 한 위상을 가지는 예비 클록을 명령 샘플링 클록(cmd_clk)으로 선택할 수 있다.
위상 조정의 결과는 데이터 채널들과 명령 채널을 포함하는 모든 채널별로 상이할 수 있다. 따라서 위상 조정은 각각의 채널별 별도로 조절되거나 그룹화된다.
제1 측에 포함된 복수의 송수신부(100)들은 각각 위상 조정 과정을 수행하여 각각 송신 샘플링 클록 및 수신 샘플링 클록을 형성한다. 제1 측에 포함된 복수의 송수신부(100)들이 동시에 위상 조정을 수행하는 경우에는 일치 신호 및 또는 불일치 신호를 전송하는 채널이 부족할 수 있으며, 송신 샘플링 클록을 형성하는 위상 조정 과정에서 지나치게 긴 시간이 필요할 수 있다. 일 실시예로 전체 데이터 송수신 부를 양분하여 각각 위상 조정 과정을 수행할 수 있다. 또 다른 실시예로, 짝수번째 데이터 송수신 부와 홀수번째 데이터 송수신 부를 나누어 위상 조정 과정을 수행할 수 있다.
일 실시예로, 제1 측과 제2 측이 복수의 라인으로 구성된 프레임 단위로 데이터를 송수신 하는 경우에, 미리 정해진 개수의 프레임 데이터 송수신이 완료된 후 위상 조정을 수행한다. 제1 측과 제2 측에 제공되는 전압 변화와 환경 변화에 의하여 위상이 변화할 수 있으므로 미리 정해진 개수의 프레임 데이터 송수신이 완료된 이후에 위상 조정을 수행하여 위상 변화에 따른 데이터 전송 오류를 감소시킬 수 있다. 따라서, 프레임 데이터 송수신을 주기적으로 수행하는 경우에는 위상 조정 단계는 주기적으로 수행되며, 프레임 데이터 송수신을 주기적으로 수행하지 않는 경우에 위상 조정 단계는 비주기적으로 수행된다. 일 예로, 위상 조정은 미리 정해진 개수의 프레임 데이터 송수신이 완료된 이후의 수직 블랭크(vertical blank)구간에서 수행될 수 있다.
다른 실시예로, 위상 조정은 제1 측 또는 제2 측 중 어느 한 쪽이 동작하지 않는 유휴 구간(blank period)에서 수행될 수 있다. 일 예로, 제1 측이 데이터 송신 칩이고, 제2 측이 다이내믹 램(DRAM, Dynamic RAM)인 실시예에서 DRAM은 리프레시(refrech) 구간에서 데이터를 입력받거나 데이터를 출력할 수 없다. 따라서, 제1 측은 메모리의 리프레시 구간에서 위상 조정을 수행할 수 있다.
따라서, 메모리 리프레시를 주기적으로 수행하면 위상 조정 단계는 주기적으로 수행되며, 메모리 리프레시를 비주기적으로 수행하는 경우에 위상 조정 단계는 비주기적으로 수행된다.
일 실시예에서, 제1 측과 제2 측을 포함하는 장치에 전원이 공급되어 최초 구동되는 경우에 제1 측과 제2 측은 위상 조정단계를 수행한다. 최초 구동시 수행되는 위상 조정 단계는 명령 샘플링 클록, 송신 샘플링 클록, 수신 샘플링 클록을 모두 형성한 후 종료된다.
제1 측(10)은 제2 측(20)으로 명령 패킷을 전송한다(S200, 도 2 참조). 명령 패킷(command packet)은 제2 측이 수행할 과정을 제1 측이 지시하기 위한 패킷이다. 명령 패킷은 일 예로, 제1 측이 제2 측에 저장된 정보를 읽고자 하는 읽기 패킷(RD), 제1 측이 제공한 정보를 제2 측에 쓰고자 하는 쓰기 패킷(WR) 및 제2 측이 DRAM 인 경우에 리프레시를 수행하도록 하는 리프레시 패킷(RF)등이 있을 수 있다.
또한, 명령 패킷은 제2 측의 행 주소를 지정하는 행 주소 스트로브(Row Address Strobe, RAS) 패킷, 제2 측의 열 주소를 지정하는 열 주소 스트로브(Column Address Strobe, CAS) 패킷을 포함할 수 있으며, 명령 없음을 나타내는 NOP(No OPeration) 패킷을 포함할 수 있다. 통상의 기술자는 아래에 개시된 내용들로부터 예시된 명령 패킷들 외에도 여러 형태의 명령 패킷을 정의하고 사용할 수 있을 것이다.
도 5는 제1 측이 제2 측에 저장된 데이터를 쓰는 과정을 개요적으로 도시한 타이밍 도이다. 도 5를 참조하여 제1 측이 제공한 데이터를 제2 측에 쓰는 과정을 설명한다. 제1 측(10)은 명령 채널(CMD)를 통하여 쓰기 패킷(WR)을 전송한다(S200, 도 2 참조). 제1 측은 복수의 NOP 패킷들을 전송하여 제2 측(20)이 상기 쓰기 패킷(WR)을 수신하고, 디코딩(decoding)하여 내부 프로세스를 수행하는 시간을 확보한다. 일 예로, 전송되는 NOP 패킷들의 개수는 제2 측 디코딩 및 내부 프로세스에 소모되는 시간에 따라 달라질 수 있다.
충분한 개수의 NOP 패킷들이 전송된 후, 제1 측(10)은 명령 채널(CMD)을 통하여 RAS 패킷을 전송하고, 데이터 채널들(DATA 1, DATA 2, ..., DATA n)을 통하여 싱크 패킷(SYNC)을 전송한다. 싱크 패킷(SYNC)은 제1 측(10)에서 제2 측(20)으로 데이터 전송시 또는 제2 측(20)에서 제1 측(10)으로 데이터 전송시 데이터 시작을 지시하기 위한 패킷이다.
제1 측(10)은 명령 채널(CMD)로 CAS 패킷을 전송하면서 데이터 채널들(DATA 1, DATA 2, ..., DATA n)로 쓰고자 하는 데이터를 전송한다. 도 5에는 각 데이터 채널당 두 패킷을 전송하는 것으로 개시되어 있으나, 채널당 전송되는 데이터 패킷의 수는 변화할 수 있다. 제2 측(20)은 데이터 채널들(DATA 1, DATA 2, ..., DATA n)로 제공된 데이터들을 디코딩(decoding)하고, RAS 패킷과 CAS 패킷으로 지정된 주소에 디코딩된 데이터를 저장한다. 도시된 바와 같이 또다른 RAS 패킷과 CAS 패킷을 전송하여 데이터를 추가 전송할 수 있으며, 도시되지는 않았지만 RAS 패킷 또는 CAS 패킷 중 어느 하나를 전송하여 해당 행 또는 열에 저장될 데이터를 추가적으로 전송할 수 있다.
도 5에서 도시된 바와 같이 제1 측(10)이 제2 측(20)으로 전송하는 패킷은 동일한 위상을 가지지 않는다. 이것은 제1 측과 제2 측 사이의 전압 변화, 온도 변화에 따라 발생하는 클록의 스큐(skew)에도 불구하고 제2 측의 각 채널별 데이터 수신부가(210) 전송되는 패킷을 제2 측 클록(clk2)으로 유효하게 샘플할 수 있도록 송신 샘플링 클록(t_clk)을 설정하였기 때문이다. 따라서, 각각의 데이터 채널과 명령 채널로 송신되는 패킷들은 서로 다른 위상을 가질 수 있다.
도 6은 제1 측(10)이 제2 측(20)에 저장된 데이터를 읽는 과정을 개요적으로 도시한 타이밍 도이다. 도 6을 참조하여 제1 측이 제2 측에 저장된 데이터를 읽는 과정을 설명한다. 제1 측(10)은 명령 채널(CMD)를 통하여 읽기 패킷(RD)을 전송한다(S200, 도 2 참조). 쓰기 과정과 마찬가지로 제1 측은 복수의 NOP 패킷들을 전송하여 제2 측(20)이 상기 읽기 패킷(RD)을 수신하고, 디코딩(decoding)등의 내부 프로세스를 수행하도록 한다.
제1 측(10)은 명령 채널(CMD)을 통하여 RAS 패킷 및 CAS 패킷을 전송하여 읽고자 하는 데이터의 주소를 제2 측(20)에 제공한다. 제2 측(20)은 RAS 패킷 및 CAS 패킷으로 지정된 주소를 이용하여 데이터를 획득(data fetch)한다. 제2 측은 획득된 데이터를 소정의 디코딩 과정을 거쳐 데이터 채널들(DATA 1, DATA 2, ..., DATA n)을 통하여 제1 측으로 전송한다.
쓰기 과정과 마찬가지로 명령 채널을 통하여 또 다른 RAS 패킷 및 CAS 패킷을 전송하여 데이터를 추가적으로 읽을 수 있으며, 도시되지는 않았지만 RAS 패킷 또는 CAS 패킷 중 어느 하나를 전송하여 해당 행 또는 열에 저장되는 데이터를 추가적으로 전송할 수 있다.
도 6에서 도시된 바와 같이, 제2 측(20)에서 데이터 채널들 (DATA 1, DATA 2, ..., DATA n)을 통하여 제공하는 데이터 패킷들은 제2 측 클록(clk2)로 샘플되어 전송된다. 도시되지는 않았지만, 제1 측과 제2 측 사이의 전압차이, 온도 차이 등에 의하여 제1 측으로 전송되는 데이터 패킷들에 위상 스큐(skew)가 발생할 수 있다. 그러나 각각의 제1 측 데이터 수신부(110)는 위상 조정 과정에서 위상 스큐를 극복하고 데이터를 샘플하도록 수신 샘플링 클록(r_clk)을 설정하였다. 따라서, 위상 스큐에도 불구하고 유효하게 데이터 패킷들을 샘플할 수 있다.
도 7은 제2 측(20)이 리프레시(refresh)가 필요한 DRAM인 경우에 리프레시를 수행하는 과정을 도시한 도면이다. 도 7을 참조하면, 제1 측(10)은 명령 채널(CMD)을 통하여 리프레시 패킷(RF)을 전송한다. 상술된 읽기 과정 및 쓰기 과정과 동일하게 명령 디코딩 과정을 확보하기 위하여 제1 측은 복수의 NOP 패킷들을 전송한다. 제1 측(10)은 명령 채널(CMD)을 통하여 리프레시가 필요한 행 주소 및/또는 열 주소를 각각 RAS 패킷과 CAS 패킷으로 지정하여 제2 측(20)으로 전송하여 리프레시를 수행하도록 한다.
본 실시예에 의하면 제1 측에서 제공한 클록 신호를 이용하여 제1 측과 제2 측 사이에서 데이터 통신을 수행할 수 있으며, 송수신이 전환되어도 위상 고정 루프 또는 클록 데이터 복원 장치에서의 클록 고정을 수행하지 않는다. 따라서, 레이턴시 시간을 감소시킬 수 있다는 장점이 제공된다.
본 발명에 대한 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 실시를 위한 실시예로, 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
10: 제1 측
20: 제2 측
110: 수신부 112: 수신 버퍼
114: 역직렬화부 116: 수신 위상 조절기
120: 송신부 122: 송신 버퍼
124: 직렬화부 126: 송신 위상 조절기
210: 수신부 212: 수신 버퍼
214: 역직렬화부 220: 송신부
222: 송신 버퍼 224: 직렬화부
310: 클록 제공부 312: 클록 버퍼
314: 클록 형성부 320: 클록 수신부
322: 클록 버퍼 410: 명령 송신부
412: 명령 버퍼 414: 직렬화부
416: 명령 위상 조정기 420: 명령 수신부
422: 명령 버퍼 424: 역직렬화부
S100 ~ S300: 본 실시예에 의한 양방향 통신 방법의 각 단계
110: 수신부 112: 수신 버퍼
114: 역직렬화부 116: 수신 위상 조절기
120: 송신부 122: 송신 버퍼
124: 직렬화부 126: 송신 위상 조절기
210: 수신부 212: 수신 버퍼
214: 역직렬화부 220: 송신부
222: 송신 버퍼 224: 직렬화부
310: 클록 제공부 312: 클록 버퍼
314: 클록 형성부 320: 클록 수신부
322: 클록 버퍼 410: 명령 송신부
412: 명령 버퍼 414: 직렬화부
416: 명령 위상 조정기 420: 명령 수신부
422: 명령 버퍼 424: 역직렬화부
S100 ~ S300: 본 실시예에 의한 양방향 통신 방법의 각 단계
Claims (5)
- 제1 측이 제공하는 클록으로 제2 측이 상기 제1 측으로 데이터를 전송하는 통신 방법으로, 상기 통신 방법은:
(a) 상기 제2 측이 상호 미리 정해진(mutually predetermined) 훈련 패턴을 상기 제1 측으로 전송하는 단계와,
(b) 상기 제1 측이 상기 클록의 위상을 변화하여 목적하는 위상을 가지는 예비 클록을 형성하는 단계와,
(c) 상기 제1 측이 상기 예비 클록으로 상기 제2 측이 제공한 패턴을 샘플하고 샘플된 패턴들과 상기 미리 정해진 훈련 패턴을 비교하는 단계 및
(d) 상기 비교 결과에 따라 상기 제1 측이 상기 예비 클록을 수신 샘플링 클록으로 선택하는 단계 및
(e) 상기 제2 측이 전송한 데이터를 상기 수신 샘플링 클록으로 샘플하는 단계를 포함하는 통신 방법. - 제1항에 있어서,
상기 (b) 단계는
상기 클록을 지연(delay) 또는 보간(interpolate)하여 상기 목적하는 위상을 가지도록 수행하는 통신 방법. - 제15항에 있어서,
상기 (a) 단계 내지 상기 (c) 단계를 복수회 수행하되, 상기 복수회 수행되는 (b) 단계별로 예비 클록의 위상을 서로 다르게 형성하여 수행하는 통신 방법. - 제3항에 있어서,
상기 (d) 단계에서 상기 비교결과, 상기 샘플된 패턴들이 상기 미리 정해진 훈련 패턴과 일치하는 상기 예비 클록의 위상 범위를 구하는 단계와,
상기 위상 범위에 포함되는 위상을 가지는 예비 클록을 상기 수신 샘플링 클록으로 정하는 단계를 포함하는 통신 방법. - 제1항에 있어서,
상기 (a) 단계 내지 상기 (d) 단계는 상기 전송하고자 하는 데이터의 전송 완료 후 재수행되는 통신 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140082330 | 2014-07-02 | ||
PCT/KR2015/006791 WO2016003207A1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157034835A Division KR101668234B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170004954A true KR20170004954A (ko) | 2017-01-11 |
KR101827526B1 KR101827526B1 (ko) | 2018-02-08 |
Family
ID=55019651
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167021740A KR20170004953A (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020177010804A KR101799918B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020177012330A KR101880700B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020167021746A KR20170004955A (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020167021745A KR101827526B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020157034835A KR101668234B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167021740A KR20170004953A (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020177010804A KR101799918B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020177012330A KR101880700B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
KR1020167021746A KR20170004955A (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157034835A KR101668234B1 (ko) | 2014-07-02 | 2015-07-02 | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9842080B2 (ko) |
JP (1) | JP6325672B2 (ko) |
KR (6) | KR20170004953A (ko) |
CN (1) | CN105683932B (ko) |
HK (1) | HK1220269A1 (ko) |
WO (1) | WO2016003207A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8760945B2 (en) * | 2011-03-28 | 2014-06-24 | Samsung Electronics Co., Ltd. | Memory devices, systems and methods employing command/address calibration |
TWI582566B (zh) * | 2016-04-25 | 2017-05-11 | 晨星半導體股份有限公司 | 通訊裝置的控制電路及控制方法 |
KR102225292B1 (ko) * | 2016-11-10 | 2021-03-09 | 주식회사 아나패스 | 다채널 통신 방법 및 다채널 통신 장치 |
KR102403623B1 (ko) * | 2017-08-18 | 2022-05-30 | 삼성전자주식회사 | 클록 신호들 사이의 스큐를 조절하도록 구성되는 전자 회로 |
CN111600784B (zh) * | 2019-07-26 | 2022-06-28 | 新华三技术有限公司 | 数据处理方法、网络设备、主控板及逻辑芯片 |
CN110768664B (zh) * | 2019-10-23 | 2023-12-26 | 新华三信息安全技术有限公司 | 数据采样方法和装置 |
KR20240121083A (ko) * | 2023-02-01 | 2024-08-08 | 삼성전자주식회사 | 차량 내 데이터의 송수신 방법 및 이를 위한 전자 기기 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11112483A (ja) * | 1997-10-08 | 1999-04-23 | Nec Eng Ltd | データ転送システム |
DE10344818B4 (de) * | 2003-09-27 | 2008-08-14 | Qimonda Ag | Vorrichtung zum Kalibrieren der relativen Phase zweier Empfangssignale eines Speicherbausteins |
KR20050077953A (ko) * | 2004-01-30 | 2005-08-04 | 이남규 | 양방향 통신이 가능한 근거리용 통신 단말기 및 그제어방법 |
JP2005275777A (ja) * | 2004-03-24 | 2005-10-06 | Nec Saitama Ltd | データ転送装置 |
JP2008225956A (ja) * | 2007-03-14 | 2008-09-25 | Fujitsu Ltd | 半導体集積回路装置およびタイミング調整方法 |
TWI364219B (en) * | 2007-08-20 | 2012-05-11 | Novatek Microelectronics Corp | High transmission rate interface for storing both clock and data signals |
EP2186003B1 (de) * | 2007-09-14 | 2012-06-27 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur ermittlung einer eintrittswahrscheinlichkeit |
KR100822307B1 (ko) | 2007-09-20 | 2008-04-16 | 주식회사 아나패스 | 데이터 구동 회로 및 지연 고정 루프 |
KR100868299B1 (ko) * | 2008-03-20 | 2008-11-11 | 주식회사 아나패스 | 클록 정보와 함께 데이터를 전송하는 방법 및 장치 |
JP5066121B2 (ja) | 2008-03-20 | 2012-11-07 | アナパス・インコーポレーテッド | クロック情報とデータを伝送する装置及び方法 |
KR101499176B1 (ko) * | 2008-04-08 | 2015-03-06 | 삼성전자주식회사 | 클럭 신호의 위상 튜닝 방법 및 그 장치 |
KR101272886B1 (ko) | 2008-10-09 | 2013-06-11 | 주식회사 아나패스 | 클록 정보와 함께 데이터를 전송하는 방법 및 장치 |
JP5341503B2 (ja) * | 2008-12-26 | 2013-11-13 | 株式会社東芝 | メモリデバイス、ホストデバイスおよびサンプリングクロックの調整方法 |
CN102171967A (zh) * | 2009-03-25 | 2011-08-31 | 松下电器产业株式会社 | 接口电路 |
US8300684B2 (en) * | 2009-06-29 | 2012-10-30 | Lsi Corporation | Real-time eye monitor for statistical filter parameter calibration |
WO2012027080A1 (en) * | 2010-08-25 | 2012-03-01 | Rambus Inc. | Memory controller with fast reacquisition of read timing to support rank switching |
US8798217B2 (en) * | 2010-11-03 | 2014-08-05 | Qualcomm Incorporated | Method and digital circuit for recovering a clock and data from an input signal using a digital frequency detection |
US8958497B2 (en) * | 2012-06-12 | 2015-02-17 | Silicon Image, Inc. | Simultaneous transmission of clock and bidirectional data over a communication channel |
KR101327221B1 (ko) | 2012-07-06 | 2013-11-11 | 주식회사 실리콘웍스 | 클럭생성기, 데이터 수신부 및 마스터 클럭신호 복원방법 |
JP2014045266A (ja) * | 2012-08-24 | 2014-03-13 | Renesas Electronics Corp | 半導体装置 |
TWI489782B (zh) * | 2012-10-30 | 2015-06-21 | Realtek Semiconductor Corp | 相位校正裝置及相位校正方法 |
-
2015
- 2015-07-02 CN CN201580002473.8A patent/CN105683932B/zh active Active
- 2015-07-02 KR KR1020167021740A patent/KR20170004953A/ko not_active Application Discontinuation
- 2015-07-02 KR KR1020177010804A patent/KR101799918B1/ko active IP Right Grant
- 2015-07-02 US US14/903,147 patent/US9842080B2/en active Active
- 2015-07-02 KR KR1020177012330A patent/KR101880700B1/ko active IP Right Grant
- 2015-07-02 KR KR1020167021746A patent/KR20170004955A/ko active Application Filing
- 2015-07-02 WO PCT/KR2015/006791 patent/WO2016003207A1/ko active Application Filing
- 2015-07-02 KR KR1020167021745A patent/KR101827526B1/ko active IP Right Grant
- 2015-07-02 JP JP2016536057A patent/JP6325672B2/ja active Active
- 2015-07-02 KR KR1020157034835A patent/KR101668234B1/ko active IP Right Grant
-
2016
- 2016-07-14 HK HK16108259.1A patent/HK1220269A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
HK1220269A1 (zh) | 2017-04-28 |
US9842080B2 (en) | 2017-12-12 |
KR20170051520A (ko) | 2017-05-11 |
KR20170004953A (ko) | 2017-01-11 |
CN105683932A (zh) | 2016-06-15 |
KR20160015250A (ko) | 2016-02-12 |
KR101827526B1 (ko) | 2018-02-08 |
KR20170051550A (ko) | 2017-05-11 |
KR101880700B1 (ko) | 2018-07-20 |
KR20170004955A (ko) | 2017-01-11 |
CN105683932B (zh) | 2018-11-02 |
WO2016003207A1 (ko) | 2016-01-07 |
KR101799918B1 (ko) | 2017-12-20 |
KR101668234B1 (ko) | 2016-10-21 |
JP6325672B2 (ja) | 2018-05-16 |
US20160147703A1 (en) | 2016-05-26 |
JP2016528646A (ja) | 2016-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101827526B1 (ko) | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 | |
US7975162B2 (en) | Apparatus for aligning input data in semiconductor memory device | |
US8456924B2 (en) | Semiconductor memory device and method for operating the same | |
US7716443B2 (en) | Apparatus and method for controlling memory interface | |
US10892032B1 (en) | Write and read common leveling for 4-bit wide DRAMS | |
US8009492B2 (en) | Circuit for generating data strobe signal and method | |
CN111418015A (zh) | 用于存储器装置中的命令同步的技术 | |
US12073914B2 (en) | Memory device, a memory system and an operating method of the memory device | |
US9058898B1 (en) | Apparatus for reducing read latency by adjusting clock and read control signals timings to a memory device | |
KR100868252B1 (ko) | 반도체 메모리 장치 및 그 구동방법 | |
US20150146477A1 (en) | Semiconductor device | |
US7995406B2 (en) | Data writing apparatus and method for semiconductor integrated circuit | |
US20040257881A1 (en) | Data input device of a ddr sdram | |
US10192599B2 (en) | Semiconductor device | |
TWI608721B (zh) | 雙向通訊方法及使用該方法之雙向通訊裝置 | |
KR20160121115A (ko) | 스큐 제거 동작을 수행하는 반도체 장치 | |
JP2010079520A (ja) | メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法 | |
KR20190110733A (ko) | 클럭 신호에 동기하여 신호를 전송 및 수신하는 반도체 장치 | |
JP2006338689A (ja) | メモリシステム | |
JP2006294111A (ja) | 半導体装置 | |
JP2006323878A (ja) | メモリシステム及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |