KR101447506B1 - 바이어스 및 랜덤 지연 소거 - Google Patents
바이어스 및 랜덤 지연 소거 Download PDFInfo
- Publication number
- KR101447506B1 KR101447506B1 KR1020097020360A KR20097020360A KR101447506B1 KR 101447506 B1 KR101447506 B1 KR 101447506B1 KR 1020097020360 A KR1020097020360 A KR 1020097020360A KR 20097020360 A KR20097020360 A KR 20097020360A KR 101447506 B1 KR101447506 B1 KR 101447506B1
- Authority
- KR
- South Korea
- Prior art keywords
- delete delete
- sampling
- skew
- clock
- boat
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/046—Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명에는, 호스트가 호스트 클럭을 제공하고 클럭리스 디바이스가 클럭 레이트의 정수배인 데이터 레이트에서 클럭에 따라 동기화된 비트 스트림을 호스트에 송신하는 디지털 통신을 위한 시스템 및 방법이 개시되어 있다. 트레이닝 데이터를 사용한 트레이닝 메커니즘은 호스트 클럭 및 비트 스트림 사이의 시간 스큐를 검출하고, 디지털 스큐 보상 메커니즘은 비트 스트림의 비트의 적어도 3개의 샘플들 사이의 보트에 따라서 스큐 및 시간의 경과에 따라 발생할 수 있는 스큐에서의 변화들을 실질적으로 실시간으로 보상하여, 다음 샘플링이 초기 샘플 또는 말기 샘플이 각각 보트와 일치하지 않는 경우에 늦추어지거나 앞당겨진다. 바람직하게는, 보상 값은 적어도 4개의 가능한 보상 값들로부터 선택되며, 시스템의 다음 재시작들을 빠르게 하기 위하여 메모리에 저장될 수 있다.
호스트, 클럭 레이트, 시간 스큐, 샘플링 타이밍, 비트 스트림.
Description
본 발명은, 디지털 데이터 통신에 관한 것이고, 보다 구체적으로는 디지털 데이터 통신에서 데이터 동기화를 위한 시스템과 방법에 관한 것이다.
데이터 동기화는 수신기가 데이터 심벌(data symbol)이 안정된 데이터 심벌의 존재 동안의 하나 이상의 시점들에서 수신된 신호의 각각의 데이터 심벌을 샘플링하는 것을 보증하는 역할을 하는, 디지털 통신 업계에서 널리 공지된 프로세스이다. 전형적인 방법은 데이터 심벌들을 이들의 센터(center)에 가능한 한 가깝게 샘플링하는 것이다.
단거리 유선 통신 시스템에서, 송신 디바이스는 전형적으로 데이터 신호 및 별도의 클럭 신호(clock signal)를 송신한다. 클럭 신호는 데이터를 샘플링할 시간을 수신 디바이스에 표시한다. SDR 시스템들에서, 각각의 데이터 비트가 클럭의 펄스(pulse)에 의해 수반되는 경우에, 일반적으로 수신 디바이스가 데이터의 샘플링의 타이밍(timing)을 조절할 필요가 없고, 특수한 동기화 프로세스가 필요하지 않다.
그러나, 현대의 데이터 통신 디바이스들에서, 데이터의 비트 레이트(bit rate)는 클럭 레이트보다 더 큰 비트 레이트들에서의 데이터의 송신에 대한 2개의 방식들인 예를 들어, DDR(더블 데이터 레이트) 및 QDR(쿼드 데이터 레이트)에서의 경우와 같이, 종종 클럭의 펄스 레이트보다 더 높다. 이와 같은 시스템들에서, 수신기는 클럭 주파수보다 더 높은, 전형적으로 클럭 주파수의 정수배의 주파수를 갖는 샘플링 신호를 생성하고, 이 주파수-멀티플라잉된 샘플링 신호(frequency-multiplied sampling signal)를 사용하여 비트 스트림(bit stream)을 샘플링해야 한다.
2개의 디바이스들 사이의 양방향 통신을 지원하는 DDR 및 QDR 시스템들에서, 하나의 방법은 디바이스들 각각이 자신의 클럭을 갖는 것이다. 전형적으로, 송신 디바이스의 클럭이 제 1 주파수 표준의 역할을 하고, 수신 디바이스가 송신 디바이스의 클럭에 동기화된다. 이 반-이중 방법(half-duplex method)이 "소스 동기(source synchronous)"로서 업계에 공지되어 있다.
송신의 방향이 반전될 때, 이전에는 수신 디바이스였고 지금은 송신 디바이스인 디바이스의 클럭이 제 1 주파수 표준이 되고, 이전에는 송신 디바이스였고 지금은 수신 디바이스인 디바이스의 클럭이 상기 송신 디바이스의 클럭에 동기화된다.
데이터 저장 디바이스들과 같은 전자 디바이스들의 개발에 의하여, 휴대용 디바이스들을 매우 작게 제조하는 것이 가능해졌다. 그러나, 소형화에 의하여, 전력 소모 및 커넥티비티(connectivity)가 더 도전받게 된다.
상술된 소형화를 더 용이하게 하기 위하여, 커넥터(connector)들 상에 핀(pin)들의 수를 제한하고, 이러한 디바이스들 내의 회로의 량을 감소시키고, 이러한 디바이스들에 의해 소산되는 전력의 량을 감소시키는 것이 바람직하다. 따라서, 이러한 소형 디바이스들 내에 고-주파수 클럭을 포함시킬 필요성을 실질적으로 감소시키거나 제거하는 것이 유용할 것이다.
디바이스 내에 클럭을 구성할 필요 없이, 그리고 바이어스 에러들 및 랜덤 지연 에러들에 기인한 호스트 수신기 및 디바이스 수신기의 샘플링 신호들의 타이밍의 에러들을 보상하는, 호스트 및 디바이스 사이의 양방향성의 클럭 펄스 당 다중-비트 통신을 갖는 것이 더 유용할 것이다. 따라서, 데이터 통신 시스템에서 바이어스 및 랜덤 지연 보상을 제공하는데 있어서 장점이 존재한다.
클럭 펄스 당 다중-비트 통신은 잡음이 더 적고 더 적은 전력을 소모하는 더 느린 클럭을 사용하는 장점을 갖는다.
다양한 실시예들은 이와 같은 장점들을 실현하며, 이의 예들이 본원에 제공된다.
하나의 실시예는 (a) 호스트로서, 상기 호스트가 (i) 클럭 레이트를 갖는 클럭 신호를 생성하도록 동작하는 클럭; (ii) 상기 클럭 신호에 따라 결정된 샘플링 타이밍에 따라 비트 스트림의 비트들을 샘플링하도록 동작하는 수신기; (iii) 상기 샘플링 타이밍을 조정하도록 동작하는 스큐 보상 메커니즘(skew compensation mechanism); (iv) 상기 비트 스트림의 비트의 적어도 3개의 샘플들 사이의 보트(vote)에 따라 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 동작하는 보팅 메커니즘(voting mechanism); 및 (v) 상기 클럭 신호 및 트레이닝 비트 스트림(training bit stream) 사이의 스큐를 검출하도록 동작하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 부가적으로 동작하는 트레이닝 메커니즘을 포함하는 호스트, 및 (b) 상기 호스트에 의해 공급되는 클럭 신호에 따라 동기화되는 상기 비트 스트림 및 상기 트레이닝 비트 스트림을 상기 호스트에 송신하도록 동작하고, 클럭이 없는 디바이스를 포함하며, 상기 스큐 보상 메커니즘은 (iv)에서의 상기 스큐 및 (v)에서의 상기 스큐를 보상하기 위하여 실질적으로 실시간으로 상기 샘플링 타이밍을 조정하도록 동작하는, 디지털 통신 시스템이다.
이 시스템에서 구현된 바와 같이, 상기 보트 내의 상기 샘플들은 적어도 하나의 초기 샘플(early sample), 적어도 하나의 중간 샘플(intermediate sample) 및 적어도 하나의 말기 샘플(late sample)을 포함한다.
또한 이 시스템에서, 상기 스큐 보상 메커니즘은 상기 보트에 따르는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 포함한다.
또한 상기 시스템에서, 상기 호스트는 메모리에 상기 디지털 값을 저장하고 나서, 상기 메모리에 따라 상기 디지털 값을 복구하도록 동작한다.
또한 상기 시스템에서, 상기 디지털로 조정 가능한 샘플링 제어 메커니즘은 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작한다.
또한 상기 시스템에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함한다.
대안적으로 상기 시스템에서, 상기 보상은 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 포함한다.
하나의 실시예에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함하고, 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 더 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 사용자 데이터를 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 2배의 비트 레이트를 갖는다.
대안적으로 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 4배의 비트 레이트를 갖는다.
대안적으로 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 8배의 비트 레이트를 갖는다.
상기 시스템의 하나의 실시예에서, 상기 비트 스트림은 상기 클럭 레이트의 정수배인 비트 레이트를 갖는다.
또 다른 실시예는 호스트로서, 상기 호스트가: (a) 클럭 레이트를 갖는 클럭 신호를 생성하도록 동작하는 클럭; (b) 상기 클럭 신호에 따라 결정된 샘플링 타이밍에 따라 비트 스트림의 비트들을 샘플링하도록 동작하는 수신기; (c) 상기 샘플링 타이밍을 조정하도록 동작하는 스큐 보상 메커니즘; (d) 상기 비트 스트림의 비트의 적어도 3개의 샘플들 사이의 보트에 따라 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 동작하는 보팅 메커니즘; 및 (e) 상기 클럭 신호 및 트레이닝 비트 스트림 사이의 스큐를 검출하도록 동작하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 부가적으로 동작하는 트레이닝 메커니즘을 포함하는, 호스트를 포함하며, 상기 스큐 보상 메커니즘은 상기 스큐를 보상하기 위하여 실질적으로 실시간으로 상기 샘플링 타이밍을 조정하도록 동작하는, 디지털 통신 시스템이다.
이 실시예에서 구현된 바와 같이, 상기 보트 내의 상기 샘플들은 적어도 하나의 초기 샘플, 적어도 하나의 중간 샘플 및 적어도 하나의 말기 샘플을 포함한다.
또한 상기 시스템에서, 상기 스큐 보상 메커니즘은 상기 보트에 따르는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 포함한다.
또한 상기 시스템에서, 상기 호스트는 메모리에 상기 디지털 값을 저장하고 나서, 상기 메모리에 따라 상기 디지털 값을 복구하도록 동작한다.
또한 상기 시스템에서, 상기 디지털로 조정 가능한 제어 메커니즘은 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작한다.
또한 상기 시스템에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함한다.
대안적으로 상기 시스템에서, 상기 보상은 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 포함한다.
하나의 실시예에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함하고, 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 더 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 사용자 데이터를 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 2배의 비트 레이트를 갖는다.
대안적으로 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 4배의 비트 레이트를 갖는다.
대안적으로 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 8배의 비트 레이트를 갖는다.
상기 시스템의 하나의 실시예에서, 상기 비트 스트림은 상기 클럭 레이트의 정수배인 비트 레이트를 갖는다.
또 다른 실시예는 호스트에 제거 가능하게 접속되도록 동작하고 클럭이 없는 디바이스로서, 상기 디바이스가: (a) 상기 호스트 클럭 신호에 따라 결정된 샘플링 타이밍에 따라 비트 스트림의 비트들을 샘플링하도록 동작하는 수신기; (b) 상기 샘플링 타이밍을 조정하도록 동작하는 스큐 보상 메커니즘; (c) 상기 비트 스트림의 비트의 적어도 3개의 샘플들 사이의 보트에 따라 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 동작하는 보팅 메커니즘; 및 (d) 상기 클럭 신호 및 트레이닝 비트 스트림 사이의 스큐를 검출하도록 동작하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 부가적으로 동작하는 트레이닝 메커니즘을 포함하는, 디바이스를 포함하며, 상기 스큐 보상 메커니즘은 상기 스큐를 보상하기 위하여 실질적으로 실시간으로 상기 샘플링 타이밍을 조정하도록 동작하는, 디지털 통신 시스템이다.
이 시스템에서 구현된 바와 같이, 상기 보트 내의 상기 샘플들은 적어도 하나의 초기 샘플, 적어도 하나의 중간 샘플 및 적어도 하나의 말기 샘플을 포함한다.
또한 상기 시스템에서, 상기 스큐 보상 메커니즘은 상기 보트에 따르는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 포함한다.
또한 상기 시스템에서, 상기 디바이스는 메모리에 상기 디지털 값을 저장하고 나서, 상기 메모리에 따라 상기 디지털 값을 복구하도록 동작한다.
또한 상기 시스템에서, 상기 디지털로 조정 가능한 제어 메커니즘은 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작한다.
또한 상기 시스템에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함한다.
대안적으로 상기 시스템에서, 상기 보상은 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 포함한다.
상기 시스템의 하나의 실시예에서, 상기 보상은 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 것을 포함하고, 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 것을 더 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 사용자 데이터를 포함한다.
또한 상기 시스템에서, 상기 비트 스트림은 상기 클럭 레이트의 정수배인 비트 레이트를 갖는다.
또 다른 실시예는 (a) 클럭이 없는 디바이스로부터 송신되고 호스트에 의해 공급된 클럭 신호에 따라 동기화되는 비트 스트림을 호스트에 의해 수신하는 단계; (b) 상기 클럭 신호에 따라 결정되는 샘플링 타이밍에 따라 상기 비트 스트림의 비트들을 샘플링하는 단계와; (c) 상기 비트 스트림의 적어도 3개의 샘플들 중 보트에 따라, 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하는 단계; 및 (d) 상기 클럭 신호 및 트레이닝 비트 스트림 사이의 스큐를 검출하는 단계; (e) (c) 단계에서의 상기 스큐 및 (d) 단계에서의 상기 스큐를 실시간으로 보상하는 단계를 포함하는 디지털 통신을 위한 방법이다.
이 방법에서 구현된 바와 같이, 상기 보상 단계는 적어도 하나의 초기 샘플, 적어도 하나의 중간 샘플 및 적어도 하나의 말기 샘플을 포함한다.
하나의 실시예에서, 상기 방법은: (f) 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 제공하는 단계를 더 포함하며, 상기 보상 단계는 상기 보트에 따라 상기 디지털로 조정 가능한 샘플링 제어 메커니즘을 조정하는 단계를 포함한다.
하나의 실시예에서, 상기 방법은: (g) 디지털 메모리를 제공하는 단계; (h) 상기 메모리에 상기 디지털 값을 저장하는 단계; 및 (i) 그 후에, 상기 메모리에 따라 상기 디지털 값을 복구하는 단계를 더 포함한다.
또한 상기 방법에서, 상기 디지털로 조정 가능한 샘플링 제어 메커니즘은 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작한다.
또한 상기 방법에서, 상기 보상 단계는 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 단계를 포함한다.
대안적으로 상기 방법에서, 상기 보상 단계는 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 단계를 포함한다.
상기 방법의 하나의 실시예에서, 상기 보상 단계는 적어도 하나의 초기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 늦추는 단계를 포함하고, 적어도 하나의 말기 샘플이 상기 보트와 일치하지 않는 경우에 다음 비트의 샘플링을 앞당기는 단계를 더 포함한다.
또한 상기 방법에서, 상기 비트 스트림은 사용자 데이터를 포함한다.
또한 상기 방법에서, 상기 스큐 검출단계는 트레이닝 비트 스트림을 사용하는 단계를 포함한다.
또한 상기 방법에서, 상기 비트 스트림은 상기 클럭 레이트의 2배의 비트 레이트를 갖는다.
대안적으로 상기 방법에서, 상기 비트 스트림은 상기 클럭 레이트의 4배의 비트 레이트를 갖는다.
대안적으로 상기 방법에서, 상기 비트 스트림은 상기 클럭 레이트의 8배의 비트 레이트를 갖는다.
상기 방법의 하나의 실시예에서, 상기 비트 스트림은 상기 클럭 레이트의 정수배인 비트 레이트를 갖는다.
다양한 실시예들이 첨부 도면들에 도시되어 있다.
도 1은, 데이터 통신 시스템의 실시예의 블록도.
도 2는, 도 1의 데이터 통신 시스템의 더 상세한 도면.
도 3은, 스큐 소거기(skew canceller)의 실시예의 블록도.
도 4a는, 타이밍 수정을 필요로 하지 않는 비트의 샘플링을 도시한 타이밍도.
도 4b는, 비트의 초기 샘플링을 도시한 타이밍도.
도 4c는, 비트의 말기 샘플링을 도시한 타이밍도.
도 5는, 디스큐어(deskewer)의 블록도.
도 6은, 보터(voter)의 블록도.
본 출원의 콘텍스트(context)에서, 다양한 용어들이 이하에 설명되는 바와 같이 해석될 수 있다.
본원에 사용되는 바와 같이, 다르게 규정되지 않는다면, 용어 "SDR"("Single Data Rate")은 데이터 비트 레이트가 클럭 레이트와 동일한 경우에, 진행중인 동기화를 위해 클럭을 사용하는 데이터 통신 시스템을 칭한다.
본원에 사용되는 바와 같이, 다르게 규정되지 않는다면, 용어 "MDR"("Multiple Data Rate")은 데이터 비트가 클럭 레이트의 배수인 경우에, 진행중인 동기화를 위해 클럭을 사용하는 데이터 통신 시스템을 칭한다.
본원에 사용되는 바와 같이, 다르게 규정되지 않는다면, 용어 "DDR"("Double Data Rate")은 배수가 2인 MDR을 칭한다.
본원에 사용되는 바와 같이, 다르게 규정되지 않는다면, 용어 "QDR"("Quadruple Data Rate" 또는 "Quad Data Rate")은 배수가 4인 MDR을 칭한다.
본원에 사용되는 바와 같이, 다르게 규정되지 않는다면, 용어 "보팅"은 데이터 펄스의 선단 및/또는 후단 에지(leading and/or trailing edge)를 감지하기 위하여 데이터 펄스의 다수의 샘플들을 사용하는, 클럭 신호 및 비트 스트림 사이의 약간의 그리고 랜덤의 동기화 에러들의 수정 프로세스를 칭한다. 바람직하게는, 적어도 3개의 샘플들이 서로 비교된다. 초기 샘플 및 서로 정합하는 복수의 말기 샘플들 사이의 오정합(mismatch)은 초기 샘플이 펄스의 세틀링(setting) 이전에 취했졌다는 표시이다. 말기 샘플 및 서로 정합하는 복수의 초기 샘플 사이의 오정합은 말기 샘플이 펄스의 후단 에지 이후에 취해졌다는 표시이다.
본원에 사용된 바와 같이, 다르게 규정되지 않는다면, 용어 "바이어스 지연"은 전자 시스템의 일반적으로 고정된 특성들에 기인하는 클럭 신호 및 비트 스트림 사이의 지연을 칭한다.
본원에 사용된 바와 같이, 다르게 규정되지 않는다면, 용어 "랜덤 지연"은 전자 시스템의 랜덤 잡음(random noise) 및 지터(jitter)에 기인하는 클럭 신호 및 비트 스트림 사이의 지연을 칭한다.
본원에 사용된 바와 같이, 다르게 규정되지 않는다면, 용어 "사용자 데이터"는 트레이닝 시퀀스 데이터(training sequence data)에 반대되는 바와 같은 페이로드 데이터(payload data)를 칭한다.
신호들 사이의 타이밍 차이들을 칭하는 "지연" 또는 "스큐"와 같은 용어들이 포지티브 또는 네거티브 차이(positive or negative difference)들을 칭할 수 있다는 점이 주의되어야 한다. 따라서, 제 2 신호보다 앞서는 제 1 신호는 제 2 신호에 대하여 지연된다고 할 수 있고, 상기 지연은 네거티브이다.
디바이스가 데이터 스트림과 함께 개별적인 동기화 신호를 송신할 필요 없이 호스트가 디바이스로부터 데이터 스트림의 수신을 동기화할 수 있도록 하기 위하여 구현되는 다양한 실시예들의 상세한 설명이 이제 주목된다. 이와 같이 구현된 실시예들은 호스트가 데이터 스트림의 수신을 동기화할 수 있도록 하며, 여기서 상기 데이터 스트림은 호스트에 의해 공급된 클럭 신호의 주파수의 배수인 비트 레이트를 가짐으로써, 소형화와 관련된 문제들을 처리한다.
다양한 실시예들이 QAM(직교 진폭 변조)에서와 같이 여러 값들 중 어느 하나 를 가정할 수 있는 데이터 심벌들에 적용될 수 있을지라도, 간결성 및 명확성을 위하여, 다음의 논의는 이진 신호들의 특수한 경우에 집중할 것이다.
이하에 상세히 설명되는 보팅 메커니즘은 수신된 비트 스트림 및 수신된 클럭 사이의 스큐를 검출한다.
하나의 실시예에서, 호스트는 이하에 상세히 설명되는 바와 같이, 시스템에서의 랜덤 잡음 및 시스템의 물리적인 구성에 기인하는 랜덤 지연 및 바이어스 지연에 대해 상조적인 조정하기 위하여 이하에 상세히 설명되는 트레이닝 메커니즘 및 상술된 보팅 메커니즘의 조합을 사용한다.
보팅 메커니즘에서, 데이터 비트의 적어도 3개의 샘플들이 비트 스트림이 "1"의 값을 가지는지 또는 "0"의 값을 가지는지를 결정하는데 사용되고, 다음 데이터 비트의 샘플링이 시간적으로 앞당겨져야 하는지 또는 늦추어져야 하는지를 결정하는데 또한 사용된다. 시스템은 호스트 클럭을 클럭리스 외부 디바이스(clockless external device)로부터 나오는 데이터와 동기화시키기 위하여 이 보팅 메커니즘을 사용한다. 트레이닝 메커니즘은 시스템 기동(system start-up) 동안 총 타이밍 에러(gross timing error)들의 신속한 수정을 제공하고, 보팅 메커니즘은 일단 데이터 링크가 설정되면 여분의 타이밍 비트들을 포함할 필요 없이, 사용자 데이터를 송신하면서 적은 타이밍 에러들의 진행중인 수정을 제공한다.
데이터 링크가 0들의 긴 스트링(string) 또는 1들의 긴 스트링과 같은 긴 단조로운 데이터 시퀀스를 운반하는 경우에, 보팅 메커니즘은 초기 샘플 또는 말기 샘플이 머저러티(majority)와 일치하지 않도록 하는 트랜지션(transition)들이 존재하지 않기 때문에 이 시퀀스 동안 타이밍 에러들을 발견하지 않을 것이다. 이 문제점은 예를 들어, 긴 단조로운 데이터 스트링들을 생성하지 않는 암호화 방법에 의하여 사용자 데이터를 암호화하는 것과 같은 다양한 방법들에 의해 해결될 수 있다. 수정 불가능한 타이밍 에러들 없이 허용될 수 있는 단조로운 데이터 스트링들의 최대 길이는 시스템의 다양한 컴포넌트(component)들의 안정성과 관련된다.
호스트는 이 시스템 실시예에서, 호스트 클럭 레이트의 배수인 데이터 레이트에서 디바이스에 의해 송신되는 인입 데이터(incoming data), 및 호스트에 로컬(local)이고 호스트 클럭 주파수의 배수인 주파수를 가지며 호스트 클럭 신호에 동기화되는 샘플링 신호 사이의 스큐를 검출하는 스큐 소거 회로를 포함한다. 스큐 소거기는 보팅에 의해 수정되는 데이터, 및 데이터 레이트와 동일한 주파수를 가지며 정확한 위상으로 디스큐잉(deskewing)되는 샘플링 클럭을 CPU(중앙 처리 장치)에 공급한다.
하나의 실시예에서, 스큐 소거기는 디지털 지연 라인을 포함한다. 과도한 지터를 도입함이 없이 광범위한 지연들의 미세한 수정을 허용하기 위하여, 디지털 지연 라인이 복수의 탭들, 바람직하게는, 수가 적어도 4개인 탭들을 갖는 것이 바람직하다.
이 시스템은 바이어스 지연에 대한 수정을 허용하는 트레이닝 시퀀스를 사용한다. 이 시스템은 또한 시스템 동작 동안 시간에 따라 변화하는 지연들에 대해 수정하기 위하여 보팅을 사용한다. 양 방법들, 즉, 트레이닝 및 보팅의 상조적인 통합(synergetic integration)은 처음으로, 매우 낮은 레이트의 동기화 에러들로, 클 럭리스 소형 저장 디바이스와의 매우 고속의 데이터 통신을 사용할 수 있도록 한다.
바람직하게는, 바이어스 지연은 디지털 메모리에 저장되고 나서, 시스템이 재시작될 때 상기 메모리로부터 복구되므로, 통신이 재개될 때마다 트레이닝 시퀀스를 반복할 필요성을 덜어준다.
랜덤 에러 수정 및 바이어스 에러 수정 사이의 상조작용(synergism)은 바이어스 수정이 시스템에 의해 판독되는 시퀀스의 안정된 결정에 따른다는 사실의 결과이다. 지터링(jittering)된 판독은 정확한 바이어스 지연에서 안정되고 부드러운 호밍(homming)을 방해한다. 반면에, 수정된 바이어스 지연은 샘플링 펄스들을 데이터 스트림에 대한 이들의 정확한 타이밍에 매우 가깝게 하기 때문에, 보팅 메커니즘의 동작을 지원하고, 보팅 메커니즘이 단지 작은 미세 조정들을 행하도록 한다. 2개의 지연 보상 메커니즘들 사이의 이 협동은 이 실시예가 호스트 및 소형 저장 디바이스 사이에서 안정된 고속 통신을 제공할 수 있도록 한다.
이제 도 1이 주목된다. 호스트(20)는 직렬 접속을 통하여 예를 들어, 메모리 카드와 같은 디바이스(22)에 접속된다. 도 1에서, 호스트(20)의 CPU(24)로부터 디바이스(22)의 CPU(32)로의 데이터 흐름은 호스트 커넥터(28) 및 디바이스 커텍터(30)를 통과하고, 직렬 접속 프로토콜을 관리하도록 동작하는 데이터 컨디셔닝 프론트 엔드(data conditioning front end)(도시되지 않음)를 또한 통과한다.
본 논의가 디바이스(22)로부터 호스트(20)로의 데이터 송신에 집중할지라도, 본원에 설명된 사용자 데이터의 송신 동안 클럭 스큐에 대한 보상 및 트레이닝은 또한 호스트(20)로부터 디바이스(22)로의 데이터 송신에 적용될 수 있다. 그러나, 클럭리스 디바이스(22)로부터 호스트(20)에 의해 수신된 데이터가 클럭(28)에 대해 더 많은 스큐를 겪기 때문에, 디바이스(22)로부터 호스트(20)로의 데이터 송신에 대하여 스큐 보상을 트레이닝하는 것이 더 중요하다는 점이 주의되어야 한다.
호스트 클럭(26)에서 발생된 클럭 신호는 프론트 엔드들 및 커넥터들(28 및 30)을 통한 데이터를 수반하고, 호스트(20)로부터 데이터를 수신하는 디바이스(22)에 동기화 정보를 제공한다.
데이터가 DDR 또는 QDR과 같은 MDR 시스템에서 통신될 때, 수신 디바이스는 호스트 클럭의 펄스들에 기초하여 다중-레이트 클럭을 발생시키고, 멀티플라잉된 클럭을 비트 스트림과 동기화시켜야 한다.
이 문제점에 대한 하나의 해결책은 상술된 바와 같은 보팅 메커니즘을 사용하는 것이다.
이제 도 2가 주목된다. 디바이스(22)가 호스트(20)에 데이터를 송신할 때, 호스트 클럭(26)의 주파수의 정수배이고 수신된 비트 스트림과 동기화되는 주파수를 갖는 샘플링 신호를 발생시킬 필요가 있다.
도 1의 요소들과 동일한 요소들은 혼란을 피하기 위하여 도 2에서 주석이 달리지 않는다.
호스트(20) 내의 스큐 소거기 회로(34)는 인입 비트 스트림 및 호스트(20)의 로컬 클럭(26)을 수신한다. 스큐 소거기(34)는 2개의 신호들: 동기화되고 멀티플라잉된 샘플링 클럭(36), 및 보팅 프로세스를 겪었던 합성 비트 스트림(38)을 호스트 CPU(24)로 출력한다.
디바이스(22)로부터의 클럭 레퍼런스(clock reference) 없이 디바이스(22)로부터의 데이터 및 호스트 클럭(26) 사이의 관계를 디스큐잉하는데 있어서의 어려움은 로컬 클럭(26)의 클럭 신호(39) 및 비트 스트림(37) 사이에 존재하는 미지의 지연이다. 이 지연은 전자장치에서의 회로-내 지연 및 시스템 내에서의 물리적인 거리들에 기인하며, 최첨단 기술에서 1나노초로부터 수십 나노초까지 가변될 수 있다.
이 어려움은 디바이스(22)가 호스트(20)에 송신하는 (예를 들어, 1-0-0-0과 같은) 미리규정된 데이터 시퀀스인 트레이닝 시퀀스를 트레이닝 메커니즘을 통하여 적용해서 이 미지의 지연을 결정함으로써 극복될 수 있다. 트레이닝 메커니즘은 도 1, 2 및 3의 여러 요소들, 즉, 트레이닝 시퀀스를 송신하도록 동작하는 디바이스(22)(도 1), 클럭 스큐를 검출 및 수정하도록 동작하는 스큐 소거기(34)(도 2), 및 스큐 소거기(34)(도 2)를 제어하도록 동작하는 호스트 CPU(24)(도 1)를 통합한다. 스큐 소거기(34)(도 2)는 도 3에 더 상세히 도시되어 있다(여기서, 스큐 소거기는 참조 번호(40)로 라벨링(labelling)된다). 도 3의 보터(42), 클럭 멀티플라이어(clock multiplier)(46) 및 디스큐어(44)는 트레이닝 메커니즘의 모든 파트들이다. 호스트(20)는 트레이닝 시퀀스가 정확하게 수신될 때까지 로컬 클럭(26)의 신호 및 비트 스트림 샘플링 신호 사이의 지연을 조정한다. 그 후, 스큐 소거기(34)는 이 지연 값을 저장하고, 이 지연 값을 사용하여 클럭 신호(26)를 지연시켜서, 비트 스트림이 정확한 시간들에 샘플링되도록 할 것이다.
예를 들어, 전력 절약 정책으로 인하여 통신이 고의적으로 중단될 때, 지연은 호스트(20)에 저장된 채로 유지되고, 통신의 재개 시에, 상기 지연이 재적용될 수 있어서, 시스템이 시작될 때마다 트레이닝 프로세스를 반복할 필요성을 덜어준다.
이제 도 3이 주목된다. 스큐 소거기(40)는 3개의 주요 컴포넌트들: 클럭 멀티플라이어(46), 보팅 메커니즘, 즉 보터(42) 및 디스큐어(44)로 이루어진다.
클럭 멀티플라이어(46)는 입력으로서 호스트 클럭 신호(52)를 수신하고, 멀티플라잉된 클럭(54)을 디스큐어(44)에 송신한다. 클럭 멀티플라이어(46)는 비트 스트림의 레이트에서 클럭 신호를 발생시킨다.
디지털로 조정 가능한 스큐 보상 메커니즘, 즉 디스큐어(44)는 멀티플라잉된 클럭(54) 및 스큐어 수정(56)을 수신하고, 지연된 비트 스트림에 동기화되는 디스큐잉된 클럭(60)을 출력한다. 디스큐어(44)는 데이터 스트림의 지연을 보상하기 위하여 스큐어 수정(56)에 따라 클럭 신호를 지연시키도록 동작하는 디지털 지연 라인을 포함한다. 디스큐어(44)가 디지털이기 때문에, 디스큐어(44)는 클럭의 중단 시에 지연을 무기한 저장할 수 있고, 시스템 동작의 재개 시에 지연을 적용할 수 있다. 디스큐어(44)는 이하에 더 상세히 설명된다.
보터(42)는 입력으로서 디바이스(22)로부터의 원 수신 데이터(48) 및 디스큐잉된 클럭(60)을 수신하고, 샘플링 클럭(58) 및 합성 데이터(50)를 호스트 CPU(24)에 출력한다. 보터(42)는 적어도 3개의 보팅 펄스들의 샘플링 결과에 따라 각각의 데이터 비트가 "0"인지 또는 "1"인지를 판정한다.
보팅 메커니즘, 즉 보터(42)는 도 4a 내지 c의 타이밍도들에 도시된 바와 같이, 수신된 비트 스트림 및 수신된 클럭 사이의 스큐를 검출한다.
도 4a에서, 예시적인 신호(70)는 단일 비트에 대하여, 상승 구간(72), 안정 구간(74) 및 하강 구간(76)을 갖는다. 보팅 시스템에서, 신호(70)의 초기 샘플(76a), 중간 샘플(78a) 및 말기 샘플(80a)이 취해진다. 모든 3개의 샘플들(76a, 78a 및 80a)이 일치하는 도 4a에 도시된 경우에, 비트는 논리 "1"인 것으로 판단되고, 다음 비트들의 샘플링의 타이밍을 조정할 필요가 없다.
도 4b에서, 도 4a에서보다 더 이르게 신호(70)의 샘플들(76b, 78b 및 80b)이 취해진다. 이 경우에, 초기 샘플(76b)은 논리 "0"인 반면, 중간 샘플(78b) 및 말기 샘플(80b)은 둘 모두 논리 "1"이다. 하나에 대한 이 2개의 머저러티에 기초하여, 비트는 논리 "1"인 것으로 판정된다. 초기 샘플(76b) 및 샘플들(78b 및 80b) 사이의 불일치는 샘플링이 너무 이르게 수행되고 있다는 것을 나타내고, 보팅 메커니즘은 후술되는 바와 같이 다음 비트들의 샘플링을 늦추기 위하여 샘플링 타이밍을 조정한다.
도 4c에서, 도 4a에서보다 더 늦게 신호(70)의 샘플들(76c, 78c 및 80c)이 취해진다. 이 경우에, 초기 샘플(76c) 및 중간 샘플(78c)은 논리 "1"인 반면, 말기 샘플(80c)은 논리 "1"이다. 하나에 대한 이 2개의 머저러티에 기초하여, 비트는 논리 "1"인 것으로 판정된다. 말기 샘플(80c) 및 샘플들(76c 및 78c) 사이의 불일치는 샘플링이 너무 늦게 수행되고 있다는 것을 나타내고, 보팅 메커니즘은 다음 비트들의 샘플링을 앞당기기 위하여 샘플링 타이밍을 조정한다.
도 5는 멀티플라잉된 클럭(54)을 디스큐잉하도록 동작하는 스큐 보상 메커니즘, 즉 디스큐어(44)의 예의 블록도이다. 멀티플라잉된 클럭(54)은 상이한 지연을 각각 갖는 다수의 탭들(98)을 가지는 지연 라인(90)에 입력된다. 멀티플렉서(multiplixer)(92)는 업-다운 카운터(up-down counter)(96)에 의해 출력된 탭 선택 신호(94)에 따라 다수의 탭들(98) 중 하나 상에서 지연되는 멀티플라잉된 클럭 신호를 선택하도록 동작한다. 탭 선택 신호(94)는 업-다운 카운터(96)의 상태를 반영한다. 멀티플렉서(92)의 출력은 디스큐잉된 클럭(60)이다.
업-다운 카운터(96)는 다수의 값들, 또는 상태들 중 어느 하나를 띨 수 있고, 이 수는 탭들(98)의 수와 동일하다. 이 수는 시스템이 클럭 스큐에 대해 수정할 수 있는 레졸루션(resolution)을 결정한다. 탭 선택 신호(94)가 이진 신호들로 구현되는 경우에, 탭 선택 신호(94)는 적어도 탭들(98)의 수의 베이스 2 로그(base 2 logarithm)과 동일한 다수의 라인들을 가져야 한다.
시스템의 정상적인 동작 동안, 업-다운 카운터(96)는 스큐 수정(56)에 의해 제어된다. 스큐 수정(56)은 언제라도 3개의 값들 중 하나를 가질 수 있고, 상기 값은 "증가(increment)", "감소(decrement)", 및 "변화 없음(no change)"이다. 따라서, 스큐 수정(56)이 이진 신호들로 구현되는 경우에, 스큐 수정(56)은 적어도 2개의 라인들을 가져야 한다.
멀티플라잉된 클럭(54)이 실질적으로 주기적이기 때문에, 업-다운 카운터(96)가 "랩 어라운드(wrap around)"하는 유형으로 이루어지는 것이 유용하다. 따라서, 업-다운 카운터(96)가 최대 지연을 갖는 탭(98)이 선택되는 상태이고 스큐 수정(56)이 값 "증가"를 갖는 경우에, 업-다운 카운터(96)는 최소 지연을 갖는 탭(98)이 선택되는 상태로 스위칭될 것이다. 유사하게, 업-다운 카운터(96)가 최소 지연을 갖는 탭(98)이 선택되는 상태이고 스큐 수정(56)이 값 "감소"를 갖는 경우에, 업-다운 카운터(96)는 최소 지연을 갖는 탭(98)이 선택되는 상태로 스위칭될 것이다.
업-다운 카운터(96)가 최대 지연 이외의 지연을 갖는 탭(98)이 선택되는 상태이고 스큐 수정(56)이 값 "증가"를 갖는 경우에, 업-다운 카운터(96)는 다음으로 더 큰 지연을 갖는 탭(98)이 선택되는 상태로 스위칭될 것이다. 업-다운 카운터(96)가 최소 지연 이외의 지연을 갖는 탭(98)이 선택되는 상태이고 스큐 수정(56)이 값 "감소"를 갖는 경우에, 업-다운 카운터(96)는 다음으로 더 짧은 지연을 갖는 탭(98)이 선택되는 상태로 스위칭될 것이다. 스큐 수정(56)이 값 "변화 없음"을 갖는 경우에, 업-다운 카운터(96)는 상태를 변화하지 않는다.
일 실시예에서, 사전-설정된 입력(100)이 업-다운 카운터(96)의 임의의 값으로의 세팅을 제공한다. 따라서, 트레이닝 동안, CPU(24)(도 1)는 트레이닝 시퀀스가 적절하게 수신될 때까지 다양한 탭(98)을 사전-설정된 입력(100)을 통하여 임의로 선택할 수 있다. 사전-설정된 입력(100)은 또한 업-다운 카운터(96)의 이전에-사용된 값을 저장하는 메모리(도시되지 않음)에 따라 업-다운 카운터를 세팅하는 것을 제공하므로, 클럭 스큐에 대한 실질적인 변화가 존재하지 않는 경우에 트레이닝을 수행할 필요성을 덜어주는데, 그 이유는 이전에-사용된 값이 선택되기 때문이다. 메모리는 호스트(20)(도 1) 또는 디바이스(22)(도 1)에 위치될 수 있다.
도 6은 비트의 3개의 샘플들 사이의 머저러티 보트에 따라 수신된 데이터(48)의 데이터 비트의 값을 결정하고, 머저러티에 대한 수신된 데이터(48)의 초기 샘플 및 말기 샘플의 관계에 따라 스큐 수정(56)을 생성하도록 동작하는 보팅 메커니즘, 즉 보터(42)의 예의 블록도이다.
샘플링 클럭 발생기(116)는 디스큐잉된 클럭(60)의 각각의 펄스에 대하여 샘플링 클럭(58)의 3개의 펄스들의 트레인(train)을 생성하도록 동작한다.
샘플링 클럭(58)의 각각의 펄스는 인입 데이터(48)의 샘플(122)을 캡처(capture)하도록 샘플러(110)를 트리거(trigger)한다. 이러한 샘플들(122)은 샘플링 클럭(58)에 따라 샘플들(122)을 시프트하는 시프트 레지스터(shift register)(112)에 공급된다. 따라서, 시프트 레지스터(112)는 디스큐잉된 클럭(60)의 각각의 펄스에 대하여 초기 샘플(124), 중간 샘플(126) 및 말기 샘플(128)을 출력한다.
샘플들(124, 126 및 128)은 상기 샘플들(124, 126 및 128) 사이의 머저러티에 따라 이진 출력 데이터(50)를 생성하도록 동작하는 다수결 회로(114)에 공급된다. 더 구체적으로는, 샘플들(124, 126 및 128) 중 어느 것도 논리 1이 아니거나 단지 하나만이 논리 1인 경우에, 데이터 출력(50)은 논리 0이다. 샘플들(124, 126 및 128) 중 2개 또는 3개가 논리 1인 경우에, 데이터 출력(50)은 논리 1이다.
이 실시예에서, 증가 스큐 수정(56a) 및 감소 스큐 수정(56b)의 조합이 스큐 수정(56)(도 3)을 형성한다.
초기 샘플(124) 및 출력 데이터(50)가 이른 비교기(early comparator)(118)에 의해 비교되어 증가 스큐 수정(56a)을 생성한다. 초기 샘플(124) 및 출력 데이터(50) 사이의 차이는 샘플링이 너무 이르게 발생되고 있어서, 다음 비트의 샘플링을 늦추기 위하여 업-다운 카운터(96)가 증가되어 랩-어라운드를 겪는다는 것을 나타낸다.
말기 샘플(128) 및 출력 데이터(50)가 늦은 비교기(later comparator)(120)에 의해 비교되어 감소 스큐 수정(56b)을 생성한다. 말기 샘플(128) 및 출력 데이터(50) 사이의 차이는 샘플링이 너무 늦게 발생되고 있어서, 다음 비트의 샘플링을 앞당기기 위하여 업-다운 카운터(96)가 감소되어 랩-어라운드를 겪는다는 것을 나타낸다.
초기 샘플(124) 및 말기 샘플(128) 둘 모두가 출력 데이터(50)와 일치하는 경우에, 조정이 필요하지 않아서, 업-다운 카운터(96)는 변화되지 않은 채로 남겨진다.
본 발명이 제한된 수의 실시예들과 관련하여 설명되었지만, 본 발명의 많은 변화들, 변경들 및 다른 애플리케이션들이 행해질 수 있다는 점이 인식될 것이다.
상술한 바와 같이, 본 발명은, 디지털 데이터 통신에서 데이터 동기화를 위한 시스템과 방법을 제공하는데 사용된다.
Claims (50)
- 디지털 통신 시스템에 있어서,(a) 호스트로서, 상기 호스트는,(i) 클럭 레이트를 갖는 클럭 신호를 생성하도록 동작하는 클럭과,(ii) 상기 클럭 신호에 따라 결정된 샘플링 타이밍에 따라 비트 스트림의 비트들을 샘플링하도록 동작하는 수신기와,(iii) 상기 샘플링 타이밍을 조정하도록 동작하는 스큐 보상 메커니즘과,(iv) 상기 비트 스트림의 비트의 적어도 3개의 샘플들 사이의 보트에 따라 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 동작하는 보팅 메커니즘과,(v) 상기 클럭 신호 및 트레이닝 비트 스트림 사이의 스큐를 검출하도록 동작하고, 상기 스큐 보상 메커니즘을 통하여 상기 스큐를 보상하기 위하여 상기 샘플링 타이밍을 조정하도록 부가적으로 동작하는 트레이닝 메커니즘을포함하는, 호스트와,(b) 상기 호스트에 의해 공급되는 클럭 신호에 따라 동기화되는 상기 비트 스트림 및 상기 트레이닝 비트 스트림을 상기 호스트에 송신하도록 동작하고, 클럭이 없는 디바이스를포함하며,상기 스큐 보상 메커니즘은 (iv)에서의 상기 스큐 및 (v)에서의 상기 스큐를 보상하기 위하여 실시간으로 상기 샘플링 타이밍을 조정하도록 동작하는, 디지털 통신 시스템.
- 제 1항에 있어서, 상기 보트 내의 상기 샘플들은 적어도 하나의 초기 샘플(early sample), 적어도 하나의 중간 샘플(intermediate sample) 및 적어도 하나의 말기 샘플(late sample)을 포함하는, 디지털 통신 시스템.
- 제 1항에 있어서, 상기 스큐 보상 메커니즘은 상기 보트에 따르는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 포함하는, 디지털 통신 시스템.
- 제 3항에 있어서, 상기 호스트는 메모리에 상기 디지털 값을 저장하고 나서, 상기 메모리에 따라 상기 디지털 값을 복구하도록 동작하는, 디지털 통신 시스템.
- 제 3항에 있어서, 상기 디지털로 조정 가능한 샘플링 제어 메커니즘은 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는, 디지털 통신 시스템.
- 제 2항에 있어서, 상기 보상은,적어도 하나의 상기 초기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 늦추거나,적어도 하나의 상기 말기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 앞당기거나,적어도 하나의 상기 초기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 늦추고 적어도 하나의 상기 말기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 앞당기는 것을포함하는, 디지털 통신 시스템.
- 제 1항에 있어서, 상기 비트 스트림은,사용자 데이터를 포함하거나,상기 클럭 레이트의 2배의 비트 레이트를 갖거나,상기 클럭 레이트의 4배의 비트 레이트를 갖거나,상기 클럭 레이트의 8배의 비트 레이트를 갖거나,상기 클럭 레이트의 정수배인 비트 레이트를 갖는, 디지털 통신 시스템.
- 디지털 통신 방법에 있어서,(a) 클럭이 없는 디바이스로부터 송신되고 호스트에 의해 공급된 클럭 신호에 따라 동기화되는 비트 스트림을 호스트에 의해 수신하는 단계와;(b) 상기 클럭 신호에 따라 결정되는 샘플링 타이밍에 따라 상기 비트 스트림의 비트들을 샘플링하는 단계와;(c) 상기 비트 스트림의 적어도 3개의 샘플들 중 보트에 따라, 상기 클럭 신호 및 상기 비트 스트림 사이의 스큐를 검출하는 단계;(d) 상기 클럭 신호 및 트레이닝 비트 스트림 사이의 스큐를 검출하는 단계;(e) (c) 단계에서의 상기 스큐 및 (d) 단계에서의 상기 스큐를 실시간으로 보상하는 단계를포함하는, 디지털 통신 방법.
- 제 8항에 있어서, 상기 적어도 3개의 샘플들은, 적어도 하나의 초기 샘플, 적어도 하나의 중간 샘플 및 적어도 하나의 말기 샘플을 포함하는, 디지털 통신 방법.
- 제 8항에 있어서,(f) 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는 디지털로 조정 가능한 샘플링 제어 메커니즘을 제공하는 단계로서, 상기 보상 단계는 상기 보트에 따라 상기 디지털로 조정 가능한 샘플링 제어 메커니즘을 조정하는 단계를 포함하는, 단계와,(g) 디지털 메모리를 제공하는 단계와,(h) 상기 메모리에 상기 디지털 값을 저장하는 단계와,(i) 이후 상기 메모리에 따라 상기 디지털 값을 복구하는 단계를더 포함하는, 디지털 통신 방법.
- 제 10항에 있어서, 상기 디지털로 조정 가능한 샘플링 제어 메커니즘은, 적어도 4개의 가능한 디지털 값들로부터 선택될 수 있는 디지털 값에 따라 상기 비트 스트림의 비트의 샘플링의 타이밍을 조정하도록 동작하는, 디지털 통신 방법.
- 제 9항에 있어서, 상기 보상 단계는,적어도 하나의 상기 초기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 늦추는 단계, 또는적어도 하나의 상기 말기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 앞당기는 단계, 또는적어도 하나의 상기 초기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 늦추고 적어도 하나의 상기 말기 샘플이 상기 보트와 일치하지 않는 경우 다음 비트의 샘플링을 앞당기는 단계들 중 하나를 포함하는, 디지털 통신 방법.
- 제 10항에 있어서, 상기 비트 스트림은,사용자 데이터를 포함하거나,상기 클럭 레이트의 2배의 비트 레이트를 갖거나,상기 클럭 레이트의 4배의 비트 레이트를 갖거나,상기 클럭 레이트의 8배의 비트 레이트를 갖거나,상기 클럭 레이트의 정수배인 비트 레이트를 갖는, 디지털 통신 방법.
- 제 8항에 있어서, 상기 스큐 검출 단계는 트레이닝 비트 스트림을 사용하는 단계를 포함하는, 디지털 통신 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89364107P | 2007-03-08 | 2007-03-08 | |
US60/893,641 | 2007-03-08 | ||
PCT/IL2008/000314 WO2008107903A2 (en) | 2007-03-08 | 2008-03-09 | Bias and random delay cancellation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090123933A KR20090123933A (ko) | 2009-12-02 |
KR101447506B1 true KR101447506B1 (ko) | 2014-10-07 |
Family
ID=39714178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097020360A KR101447506B1 (ko) | 2007-03-08 | 2008-03-09 | 바이어스 및 랜덤 지연 소거 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8024599B2 (ko) |
EP (1) | EP2127187B1 (ko) |
KR (1) | KR101447506B1 (ko) |
CN (1) | CN101669318B (ko) |
TW (1) | TWI379569B (ko) |
WO (1) | WO2008107903A2 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5448795B2 (ja) | 2009-12-25 | 2014-03-19 | キヤノン株式会社 | 情報処理装置又は情報処理方法 |
JP5377275B2 (ja) * | 2009-12-25 | 2013-12-25 | キヤノン株式会社 | 情報処理装置又は情報処理方法 |
US8607090B2 (en) * | 2010-03-03 | 2013-12-10 | Marvell International Ltd. | Selective shorting for clock grid during a controlling portion of a clock signal |
JP5541234B2 (ja) * | 2011-06-08 | 2014-07-09 | 株式会社デンソー | トランシーバ |
US9660656B2 (en) * | 2015-04-15 | 2017-05-23 | Sandisk Technologies Llc | Delay compensation |
CN105071915B (zh) * | 2015-08-03 | 2018-07-06 | 艾德克斯电子(南京)有限公司 | 一种相位校准方法、设备及通信系统 |
US10050731B1 (en) | 2017-01-27 | 2018-08-14 | The United States Of America, As Represented By The Secretary Of The Navy | Apparatus and method for detecting a multi-homed device using clock skew |
CN112433558B (zh) * | 2021-01-27 | 2021-05-11 | 深圳市金科泰通信设备有限公司 | 一种时钟源转换分配方法及系统 |
EP4270192A1 (en) * | 2022-04-29 | 2023-11-01 | Volvo Car Corporation | Method for synchronizing a clock-free computational node in a vehicle, method for performing an action at a pre-defined time, first computational node, second computational node and computational system for a vehicle |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643787B1 (en) * | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
EP1696600A2 (en) * | 2005-02-24 | 2006-08-30 | Broadcom Corporation | Prediction of an optimal sampling point for clock resynchronization in a source synchronous data channel |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910146B2 (en) * | 1999-12-31 | 2005-06-21 | Intel Corporation | Method and apparatus for improving timing margin in an integrated circuit as determined from recorded pass/fail indications for relative phase settings |
US7257183B2 (en) * | 2001-07-10 | 2007-08-14 | Rambus Inc. | Digital clock recovery circuit |
US7369634B2 (en) | 2004-09-07 | 2008-05-06 | Intel Corporation | Training pattern for a biased clock recovery tracking loop |
US7352602B2 (en) | 2005-12-30 | 2008-04-01 | Micron Technology, Inc. | Configurable inputs and outputs for memory stacking system and method |
US7676011B2 (en) * | 2006-04-25 | 2010-03-09 | United Microelectronics Corp. | Data recovery apparatus and method for reproducing recovery data |
-
2008
- 2008-03-07 US US12/043,964 patent/US8024599B2/en active Active
- 2008-03-07 TW TW097108273A patent/TWI379569B/zh not_active IP Right Cessation
- 2008-03-09 WO PCT/IL2008/000314 patent/WO2008107903A2/en active Application Filing
- 2008-03-09 CN CN2008800134121A patent/CN101669318B/zh not_active Expired - Fee Related
- 2008-03-09 EP EP08719939A patent/EP2127187B1/en not_active Not-in-force
- 2008-03-09 KR KR1020097020360A patent/KR101447506B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643787B1 (en) * | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
EP1696600A2 (en) * | 2005-02-24 | 2006-08-30 | Broadcom Corporation | Prediction of an optimal sampling point for clock resynchronization in a source synchronous data channel |
Also Published As
Publication number | Publication date |
---|---|
EP2127187A2 (en) | 2009-12-02 |
KR20090123933A (ko) | 2009-12-02 |
CN101669318A (zh) | 2010-03-10 |
WO2008107903A3 (en) | 2008-11-06 |
TW200847724A (en) | 2008-12-01 |
WO2008107903A2 (en) | 2008-09-12 |
CN101669318B (zh) | 2013-11-06 |
US8024599B2 (en) | 2011-09-20 |
TWI379569B (en) | 2012-12-11 |
US20080222445A1 (en) | 2008-09-11 |
EP2127187B1 (en) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101447506B1 (ko) | 바이어스 및 랜덤 지연 소거 | |
EP2302831B1 (en) | Apparatus for data recovery in a synchronous chip-to-chip system | |
US7567104B2 (en) | Data sampling clock edge placement training for high speed GPU-memory interface | |
US7031420B1 (en) | System and method for adaptively deskewing parallel data signals relative to a clock | |
EP1668510B1 (en) | System and method for adaptive duty cycle optimization | |
US11061432B2 (en) | Data handoff between two clock domains sharing a fundamental beat | |
JP5121712B2 (ja) | ビット・スキュー防止方法およびシステム | |
US7571340B2 (en) | Eliminating receiver clock drift caused by voltage and temperature change in a high-speed I/O system that uses a forwarded clock | |
EP2384474B1 (en) | Active calibration for high-speed memory devices | |
US7209531B1 (en) | Apparatus and method for data deskew | |
JP3966511B2 (ja) | 同期バス・インターフェースのための自動遅延検出およびレシーバ調節の方法およびシステム | |
WO2008130703A2 (en) | Clock synchronization in a memory system | |
KR20090044055A (ko) | 반도체 메모리 장치에서의 dfe회로 및 그의 초기화방법 | |
US6845490B2 (en) | Clock switching circuitry for jitter reduction | |
US7366207B1 (en) | High speed elastic buffer with clock jitter tolerant design | |
KR20240145647A (ko) | 타임 스큐 보정 장치 | |
JP2005094597A (ja) | 遅延制御装置 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20180903 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190829 Year of fee payment: 6 |