KR20160003811A - 부정합형 신호 수신기에 대한 타이밍 제어 - Google Patents

부정합형 신호 수신기에 대한 타이밍 제어 Download PDF

Info

Publication number
KR20160003811A
KR20160003811A KR1020157033904A KR20157033904A KR20160003811A KR 20160003811 A KR20160003811 A KR 20160003811A KR 1020157033904 A KR1020157033904 A KR 1020157033904A KR 20157033904 A KR20157033904 A KR 20157033904A KR 20160003811 A KR20160003811 A KR 20160003811A
Authority
KR
South Korea
Prior art keywords
distribution network
clock distribution
replica
circuit
amplifier
Prior art date
Application number
KR1020157033904A
Other languages
English (en)
Other versions
KR101876619B1 (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 인텔 코포레이션
Publication of KR20160003811A publication Critical patent/KR20160003811A/ko
Application granted granted Critical
Publication of KR101876619B1 publication Critical patent/KR101876619B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/02Sample-and-hold arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation 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)
  • Dram (AREA)
  • Pulse Circuits (AREA)
  • Memory System (AREA)

Abstract

I/O 인터페이스를 갖는 디바이스는 부정합형 수신기 회로의 클럭 분배 경로에 정합되는 복제본 클럭 분배 경로를 포함한다. 이러한 디바이스는, 복제본 경로에서의 지연의 변화들을 모니터링할 수 있고, 복제본 경로에서 검출되는 지연 변화들에 응답하여 실제 클럭 분배 경로에서의 지연을 조절할 수 있다. 수신기 회로는 데이터 경로 및 클럭 분배 네트워크를 부정합형 구성으로 포함한다. 링 발진기 회로는 실제 클럭 분배 네트워크에 정합되는 복제본 클럭 분배 네트워크를 포함한다. 따라서, 복제본 클럭 분배 네트워크에 대해 검출되는 지연 변화들은 실제 클럭 분배 네트워크에서의 지연의 변화를 나타내고, 이는 따라서 보상될 수 있다.

Description

부정합형 신호 수신기에 대한 타이밍 제어{TIMING CONTROL FOR UNMATCHED SIGNAL RECEIVER}
<관련된 출원들>
본 출원은, 2013년 7월 1일 출원된 미국 임시 특허 출원 61/841,857호에 기초하는 정규 출원이며, 그 임시 출원의 우선권의 이익을 주장한다. 임시 출원 61/841,857호는 참조로써 본 명세서에 의해 원용된다.
본 발명의 실시예들은 일반적으로 메모리 디바이스 기입들에 관련되며, 보다 구체적으로는 부정합형 아키텍처에서 메모리 디바이스 기입들에 대한 타이밍 제어에 관한 것이다.
저작권 공지/허가
본 특허 문헌의 개시내용의 부분들은 저작권 보호의 대상인 내용을 포함할 수 있다. 저작권 소유자는 누구든지 이 특허 문헌 또는 특허 개시내용을 특허 및 상표청 파일 또는 기록들에 나타나 있는 대로 복사하는 것에는 이의가 없지만, 다른 경우라면 무엇이든 모든 저작권 권리를 보유한다. 저작권 경고는 아래에 설명되는 바와 같은 모든 데이터와 첨부 도면들에서의 모든 데이터는 물론, 아래에 설명되는 임의의 소프트웨어에 적용된다(Copyright ⓒ 2013, Intel Corporation, All Rights Reserved).
호스트 플랫폼 상의 컴포넌트들 사이의 통신은 전자 디바이스의 동작에 필요하다. 그러나, 온도 변화 및 전압 변동과 같은 다양한 조건들이 컴포넌트들 사이의 고속 통신의 타이밍에 영향을 준다. 일반적으로, 상이한 컴포넌트들간 통신은, I/O(Input/Outpu)라 할 수 있고, (예를 들어, 메모리 서브시스템의 컴포넌트들 사이의) 표준들에 의해 흔히 지배를 받는다. I/O 표준들은 I/O 전력, I/O 레이턴시, 및 I/O 주파수에 대한 성? 특성들에 관련될 수 있다. I/O 설정들의 표준들 또는 공칭 값들은 호환성 및 상호운영성을 위해 상이한 시스템들을 가로질러 달성될 수 있는 값들로 설정된다. 통상적으로, 전력과 레이턴시 사이에는 트레이드오프들이 존재한다. 따라서, 엄격한 타이밍 파라미터들은, 전력을 감소시킬 수 있지만, I/O 레이턴시로 하여금 온도, 전압 및 프로세스 변동에 의해 더 부정적으로 영향을 받게한다.
메모리 서브시스템들에서는, 정합형 아키텍처를 사용하는 것이 보통이고, 여기서 데이터 경로(DQ) 및 데이터 스트로브 경로(DQS) 양자 모두는 정합형 연속 시간 증폭기들에 의해 증폭된다. 도 1a는 알려진 정합형 수신기 회로의 블럭도이다. 정합형 아키텍처(102)에서, 스트로브 경로의 증폭기(124)는 데이터 경로의 증폭기(122)에 정합된다. 데이터 경로는 내부 Vref 신호(110)과 증폭기(122)에 입력되는 데이터 입력 DQ[7:0]를 포함한다. 데이터 스트로브 경로는 차동 수신기에 대한 입력들을 포함하고, 여기서 DQS_P는 포지티브 차동 신호를 나타내고, DQS_N은 네거티브 차동 신호를 나타낸다. 증폭기(124)는 클럭 분배 네트워크(130)에 피딩되고(feed into), 이는 다수의 수신 디바이스들에게 동시에 클럭 신호를 분배하는 네트워크를 제공한다. 구체적으로, 샘플링 회로(140)의 엘리먼트들(142 및 144)로 가는 신호가 도시된다.
부정합형 아키텍처를 사용하는 것은 정합형 아키텍처를 사용하는 것에 비해 수신기의 전력 및 성능을 향상시킬 수 있다. 도 1b는 알려진 부정합형 수신기 회로의 블럭도이다. 부정합형 아키텍처(104)에서, 데이터(DQ) 전압은 패드에서 직접 샘플링된다. 샘플링된 후, 시스템은 정합형 아키텍처(102)에 필요한 엄격한 타이밍 제약들 없이 신호를 증폭할 수 있다. 즉, 증폭은 전체 UI(단위 간격)나 가능하게는 그 이상에 대해 발생할 수 있다. 따라서, 부정합형 수신기의 이득/대역폭 요건들은 정합형 수신기의 것보다 더 낮다. 도시된 바와 같이, DQ[7:0] 및 내부 Vref(110)은 샘플링 회로(160)의 엘리먼트들(162 및 164)에 직접 공급된다. DQS 경로는 연속적 시간 증폭기, 증폭기(126)를 여전히 요구하지만, DQS 상의 스윙은 일반적으로 DQ 상의 스윙보다 더 크고, 이는 더 낮은 이득 증폭기(126)가, 데이터 경로에서 고 이득 증폭기에 정합될 필요가 없는 것처럼, 사용될 수 있다는 것을 의미한다.
부정합형 아키텍처(104)는 정합형 아키텍처(102)에 대해 특정한 수신기 대역폭 및 전압 감도들을 향상시키지만, 타이밍 제어를 저하시킨다. DQS 및 DQ 경로들 상의 지연은 부정합형 아키텍처(104)에서 자체 보상되지 않는다. 따라서, TDQS에서의 임의의 변화, 또는 증폭기(124) 또는 클럭 분배 네트워크(130)를 통해 스트로브 신호를 전파하는 시간은, 수신기 타이밍 예산을 직접적으로 저하시킬 것이다. 기존 트레이닝은 일단 타이밍을 보정할 수 있지만, 트레이닝된 위치로부터의 임의의 드리프트는 타이밍 마진에 직접적으로 영향을 줄 것이다. 드리프트는 전압, 온도 및/또는 에이징을 가로질러 발생할 수 있고, 이는 타이밍 마진들을 저하시킬 것이고 아마 링크 실패들을 생성할 것이다.
트레이닝 데이터가 (예를 들어, 메모리 제어기로부터 DRAM(Dynamic Random Access Memory)에) 링크를 가로질러 기입되고 에러들에 대해 점검되는 주기적 트레이닝이 알려져 있다. 그러나, 주기적 트레이닝은 버스 대역폭에 대한 복잡도 및 부하에 시달린다. 추가적으로, 트레이닝은 많은 수의 샘플들이 평균화되면 가장 효과적일 것이지만, 더 많은 샘플들을 직접적으로 평균화하는 것은 실제 데이터 연산들에 사용되는 고 대역폭 데이터 링크에 대한 바람과 충돌한다. 더욱이, 이러한 주기적 트레이닝은 피드백 루프의 반복적 본성 때문에 본래 느리고, 이는 최적 값을 찾아내기 위해 다수의 설정들을 탐색한다.
이하의 설명은 본 발명의 실시예들의 구현들의 예로서 주어지는 예시들을 갖는 도면들의 논의를 포함한다. 도면들은 제한으로서가 아니라 예로서 이해되어야 한다. 본 명세서에 사용되는 바와 같이, 하나 이상의 "실시예들"에 대한 참조들은 본 발명의 적어도 하나의 구현에 포함되는 특정 기능, 구조 및/또는 특성을 설명하는 것으로서 이해되어야 한다. 따라서, 본 명세서에 나타나는 "일 실시예에서" 또는 "대안적인 일 실시예에서"와 같은 어구들은 본 발명의 다양한 실시예들 및 구현들을 설명하는 것이며, 반드시 모두가 동일한 실시예를 참조하는 것은 아니다. 그러나, 이들이 반드시 상호 배타적인 것도 아니다.
도 1a는 알려진 정합형 수신기 회로의 블럭도이다.
도 1b는 알려진 부정합형 수신기 회로의 블럭도이다.
도 2는 부정합형 수신기 회로 및 복제본 클럭 분배 경로를 갖는 시스템의 일 실시예의 블럭도이다.
도 3은 부정합형 수신기 회로를 위한 복제본 클럭 분배 경로에 대해 복제본 네트워크를 갖는 시스템의 일 실시예의 블럭도이다.
도 4a는 부정합형 수신기 회로의 일 실시예의 블럭도이다.
도 4b는 도 4a의 부정합형 수신기 회로를 위한 복제본 클럭 분배 경로를 갖는 발진기 회로의 일 실시예의 블럭도이다.
도 5는 복제본 클럭 분배 경로를 갖는 발진기 회로에 대한 동작 타이밍의 일 실시예의 타이밍도이다.
도 6은 복제본 클럭 분배 네트워크에서 검출되는 지연 변화들에 기초하여 클럭 분배 네트워크에서 지연을 조절하는 프로세스의 일 실시예의 흐름도이다.
도 7은 복제본 클럭 분배 경로가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블럭도이다.
도 8은 복제본 클럭 분배 경로가 구현될 수 있는 모바일 디바이스의 일 실시예의 블럭도이다.
이하에 설명되는 실시예들의 일부 또는 전부를 도시할 수 있는, 도면들의 설명을 포함할 뿐만 아니라, 본 명세서에 제시되는 진보적 개념들의 다른 잠재적인 실시예들 또는 구현들을 논의하는, 특정한 상세사항들 및 구현들의 설명이 뒤따른다.
본 명세서에 설명되는 바와 같이, 컴포넌트 대 컴포넌트 I/O 인터페이스는 부정합형 수신기 회로를 사용한다. 부정합형 수신기는 샘플링 회로를 제어하는 클럭 분배 경로에 정합되는 복제본 클럭 분배 경로를 포함한다. 설명에서, "클럭 분배 경로"는, 클럭 분배 경로 자체, 증폭기, 또는 경로의 다른 부분들을 포함하는, 경로의 임의의 또는 모든 부분들을 말한다. 디바이스는 복제본 경로에서의 지연의 변화들을 모니터링할 수 있고, 복제본 경로에서 검출되는 지연 변화들에 응답하여 실제 클럭 분배 경로에서의 지연을 조절할 수 있다. 수신기 회로는 데이터 경로 및 클럭 분배 네트워크를 부정합형 구성으로 포함한다. 링 발진기 회로는 실제 클럭 분배 네트워크에 정합되는 복제본 클럭 분배 네트워크를 포함한다. 따라서, 복제본 클럭 분배 네트워크에 대해 검출되는 지연 변화들은 실제 클럭 분배 네트워크에서의 지연의 변화를 나타내고, 이는 따라서 보상될 수 있다.
일 실시예에서, 설명되는 테스트 시스템 또는 테스트 엔진은 메모리 서브시스템들, 보다 구체적으로는, 플랫폼 컴포넌트(예를 들어, 프로세서, 메모리 제어기) 및 메모리 디바이스 사이의 I/O(Input/Output) 또는 통신을 테스트하는데 사용될 수 있다. 스케줄러 또는 등가 로직을 갖는 메모리 제어기를 사용하는 임의의 메모리 서브시스템이 테스트 엔진의 적어도 하나의 실시예를 구현할 수 있다. 본 명세서에서 메모리 디바이스들에 대한 참조는 상이한 메모리 타입들을 포함할 수 있다. 예를 들어, 메모리 서브시스템들은 통상적으로 DRAM을 사용하고, 이는 본 명세서에서 설명되는 바와 같은 메모리 디바이스의 한 예이다. 따라서, 본 명세서에 설명되는 테스트 엔진은, DDR3(Dual Data Rate version 3, 2007년 6월 27일 JEDEC(Joint Electronic Device Engineering Council)에 의한 오리지널 릴리즈, 현재 릴리즈 21), DDR4(DDR 버전 4, JEDEC에 의해 2012년 9월에 발간된 초기 사양), LPDDR4(저 전력 듀얼 데이터 레이트 버전 4, 본 출원의 출원 시점에 JEDEC에 의한 개발에서의 사양), WIDEIO(본 출원의 출원 시점에 JEDEC에 의한 개발에서의 사양), 및/또는 다른 것들과 같은, 다수의 메모리 기술들, 및 이러한 사양들의 파생물들 또는 확장물들에 기초하는 기술들 중 임의의 것과 호환될 수 있다.
일 실시예에서, I/O 인터페이스 회로의 동작은 실증적 테스팅의 사용을 통해 더욱 제어될 수 있다. 복제본 클럭 분배 경로에 의해 검출되는 지연에서의 변화들에 기초하여, 시스템은 검출되는 지연에 대해 조절하기 위해 어떤 파라미터(들)를 수정할지 판정하기 위해 디바이스 I/O(Input/Output) 성능 파라미터들을 실정적으로 테스트할 수 있다. 테스트 시스템을 통한 실증적 테스팅에 기초하여, 시스템은 장비 상호간의 통신이 발생하는 시스템 또는 디바이스에 특정한 성능 파라미터들을 설정할 수 있다. 다수의 상이한 I/O 회로 파라미터들에 대한 다수의 상이한 설정들 각각에 대해, 테스트 시스템은, 각각의 I/O 회로 파라미터에 대한 값을 설정하고, 이러한 파라미터 값(들)을 갖는 통신을 스트레스 테스트하기 위해 테스트 트래픽을 생성하고, I/O 성능 특성에 대한 동작 마진을 측정할 수 있다. 테스트 시스템은 또한 지연이 보상되는 각각의 I/O 회로 파라미터의 값에 대한 값들을 결정하는 탐색 기능을 실행할 수 있다. 일 실시예에서, 시스템은 I/O 회로 파라미터들에 대한 런타임 값들을 탐색 기능에 기초하여 설정한다. 이러한 설정은 테스팅에 기초하여 특정 시스템들의 특정 컴포넌트들에 대해 다이나믹하게 변경될 수 있다.
위에 언급된 바와 같이, 부정합형 아키텍처들은 정합형 아키텍처에 대해 대역폭 및 주파수의 현저한 향상들을 제공할 수 있다. 그러나, 종래의 부정합형 아키텍처들은 저하된 타이밍 제어에 시달린다. 이하 보다 상세히 설명되는 바와 같이, 부정합형 수신기 아키텍처는 실제 클럭 분배 경로에 대한 타이밍에서의 변화들을 예측하는데 사용되는 정합형 복제본 클럭 분배 경로의 사용을 통해 향상된 타이밍 제어를 가질 수 있다. 일 실시예에서, 시스템은 복제본 경로에서 검출되는 타이밍 변화들에 기초하여 실제 클럭 분배 경로의 타이밍 거동을 조절할 수 있다. 보다 구체적으로, 복제본 경로에 대해 검출되는 타이밍에서의 변화들은 실제 데이터 경로에 대한 데이터 아이(data eye)의 엣지(들)에 동일한 효과를 갖는 것으로 가정될 수 있다. 따라서, 복제본 경로에서 타이밍에 대한 변화들을 추적하는 것에 의해, 데이터 아이의 엣지(들)에서의 변화들이 보상될 수 있다.
일 실시예에서, 수신기 회로는 송신기로 하여금 검출된 지연 변화들에 기초하여 자신의 동작을 조절하게 하는 정보를 송신기에 다시 제공한다. 따라서, 지연 변화들은 송신기 디바이스의 송신 거동을 변경하는 것에 의해 보상될 수 있다. 일 실시예에서, 수신기 디바이스는 지연 변화를 보충하기 위해 필요한 지연 조절을 계산할 수 있고 및/또는 수신기 지연을 조절할 수 있다. 일 실시예에서, 수신기 디바이스는 발진기 카운트의 형태로 원래 데이터(raw data)를 송신기에 단순히 보내고, 이는 그리고 나서 검출된 변화들에 기초하여 타이밍 조절을 계산할 수 있다.
도 2는 부정합형 수신기 회로 및 복제본 클럭 분배 경로를 갖는 시스템의 일 실시예의 블럭도이다. 시스템(200)은 송신 하드웨어 TX(212)와 함께 도시되는 디바이스(210) 및 수신 하드웨어(222)와 함께 도시되는 디바이스(220)를 포함한다. 일 실시예에서는 디바이스(220) 또한 디바이스(210)에 송신을 보낼 수 있고; 따라서 디바이스(220)는 명시적으로 도시되지 않은 송신 하드웨어를 포함할 수 있고, 디바이스(210)는 명시적으로 도시되지 않은 수신 하드웨어를 포함할 수 있다는 점이 이해될 것이다. 일 실시예에서, 송신 및 수신 하드웨어는 송수신기 하드웨어이고, 이는 송신 및 수신 양자 모두에 의한 인터페이싱을 허용한다. 이러한 디바이스들은 하나 이상의 송신 라인들을 통해 접속되고, 이는 송신 구동기에 의해 구동된다. 송신 라인은 디바이스(210)의 I/O 핀들을 디바이스(220)와 접속하는 임의 타입의 신호 라인(예를 들어, 트레이스, 와이어)일 수 있다.
디바이스(220)는 제어기(230)를 포함하고, 이는 디바이스(220)에 대한 수신 동작들을 수행하는 하드웨어 및 다른 로직을 나타낸다. 수신 제어기(230)는 수신 신호의 전압 레벨들을 샘플링하는 샘플링 회로(232)를 포함할 수 있다. 샘플링 회로(232)는 샘플 스트로브(234) 또는 다른 제어 신호에 의해 제어되고, 이는 인입 또는 수신 신호를 언제 샘플링하여야 하는지를 나타낸다. 샘플 스트로브(234)는 수신 제어기(230)에 의해 별도 신호로서 생성된다. 수신 제어기(230)는 샘플 스트로브(234)의 생성을 제어하는 타이밍 제어(236)를 포함한다.
일 실시예에서, 수신 제어기(230)는 스트로브 복제본(238)을 포함하고, 이는 샘플 스트로브(234)의 복제본 경로이다. 샘플 스트로브(234)의 타이밍에서의 드리프트(포지티브 또는 네거티브)는 인입 신호를 성공적으로 수신하는 디바이스(230)의 능력에 부정적으로 영향을 줄 수 있다. 스트로브 복제본(238)은 스트로브 샘플(234)의 경로에 정합되는 경로이다. 따라서, 스트로브 샘플(234)에서 발생하는 동일한 드리프트가 스트로브 복제본(238)에서 균등하게 발생하여야 한다. 드리프트, 또는 스트로브 신호 또는 제어 신호의 지연에서의 변화에 기초하여, 타이밍 제어(236)는 변화를 조절할 수 있다. 일 실시예에서, 타이밍 제어(236)는 샘플링 회로(232)의 샘플링 타이밍을 더 우수하게 정합하도록 디바이스(210)에 그 송신 파라미터들을 변경하라고 시그널링하는 것에 의해 지연을 조절한다. 따라서, 디바이스(210)의 타이밍 제어(214)는 TX(212)의 동작을 조절할 수 있다. 일 실시예에서, 타이밍 제어(236)는 샘플링 회로(232)의 타이밍을 조절하도록 스트로브 샘플(234)의 타이밍을 조절한다. 따라서, 시스템(200)은 디바이스(210)의 송신 회로에 대해 디바이스(220)의 수신 회로의 타이밍을 제어한다.
디바이스(210)가 메모리 제어기 또는 프로세서이고 디바이스(220)가 메모리 디바이스인 일 예를 가정하면, 시스템(200)은, tDQS 지연(데이터 스트로브 신호의 전파 지연)을 측정하고, 지연에서의 변화들을 보상하도록 제어기/프로세서 송신기 타이밍을 조절하는 방법에 관련된다고 말할 수 있다. 스트로브 복제본(238)을 별도 회로로서 사용하는 것에 의해, 시스템(200)은 정상 동작에 영향을 주지 않고 스트로브 신호에서의 드리프트를 측정할 수 있다. 따라서, 측정 시스템은 스트로브 지연이 정확히 얼마나 많이 이동되는지에 대한 피드백을 제공할 수 있고, 드리프트의 크기 및 부호 양자 모두를 제공한다. 또한, 스트로브 복제본(238)은 실제 데이터 경로의 성능에 영향을 주지 않는 별도의 회로이기 때문에, 시스템(200)은 함께 평균화할 지연 측정들의 많은 샘플들을 생성할 수 있고, 이는 측정을 위해 데이터 패스 자체를 사용하는 시스템에 대한 분해능 및 정확도를 현저하게 향상시킬 수 있다.
샘플 스트로브(234)의 회로 경로는 샘플링 회로(232)에 정합되지 않는다는 점이 이해될 것이다. 따라서, 수신 제어기(230)는 부정합 수신기 회로 아키텍처를 채택한다. 부정합 아키텍처들은 통상적으로 전압 및 온도 변화들에 민감하고, 따라서 회로의 거동(및 구체적으로는 지연)은 시간에 대해 변화한다. 그러나, 스트로브 복제본(238)에 의해 지연에서의 변화를 모니터링하는 것은 시스템(200)이 스트로브 신호 지연을 조절하는 것을 허용하며, 이는 차례로 샘플링 포인트를 조절한다. 반면에, 샘플링 포인트가 드리프트할 것이고 이는 신호의 잘못된 부분에서의 샘플링을 야기하여 수신 에러들을 초래한다.
일 실시예에서, 시스템(200)은 런타임 시스템이 I/O를 향상시키는 설정들을 구체적으로 결정하는 탐색을 수행하기 위한 입력으로서 지연 측정들을 사용한다. 측정된 지연, 및 가능하게는 다른 측정된 I/O 파라미터들에 기초하여, (테스트 로직의 일부일 수 있거나, 또는 별도 로직일 수 있는) 탐색 로직은 측정된 값들로부터 디바이스들 사이에 I/O에 어떤 설정들을 사용할 것인지 판정한다. 일 실시예에서, 탐색 로직은 I/O에 대한 하나 이상의 대표적 성능 커브들을 생성하는데 이러한 측정들을 사용할 수 있다. 대표적 커브들에 기초하여, 탐색 로직은, 다른 것들에 대해 (표준 또는 구성에 의해) 요구되는 성능을 적어도 유지하면서, 적어도 하나의 파라미터에 대해 더 우수한 성능을 만족시키는데 어떤 설정들을 사용할 것인지 판단하는 탐색 기능을 수행할 수 있다. 탐색 로직은, n-차원 탐색 로직, (n개의 1차원 탐색들을 수행하는) 1-차원 탐색 로직, 선형 맞춤(fit) 탐색 로직, 2차 맞춤 탐색 로직, 최급 강하(steepest descent) 탐색 로직, 커브 맞춤 탐색 로직, 또는 다른 것들 중 임의의 것을 포함할 수 있다. n은 검색할 조합들의 수를 표시하는 정수를 나타낸다는 점이 이해될 것이다. 일 실시예에서, 탐색 로직은 또한 반복성 잡음을 감소시키기 위해 또는 최악의 경우 조건들을 추정하기 위해 다수의 측정들을 함께 조합할 수 있다.
도 3은 부정합형 수신기 회로를 위해 복제본 클럭 분배 경로에 대해 복제본 네트워크를 갖는 시스템의 일 실시예의 블럭도이다. 디바이스(300)은 도 2의 시스템(200)의 일 실시예의 한 예이다. 디바이스(300)는 송신 디바이스(도시되지 않음)로부터의 수신 또는 인입 신호를 샘플링하는 샘플링 회로(310)를 포함한다. 샘플링 회로(312)의 샘플링 타이밍은 스트로브 경로(322)에 의해 제어되고, 이는 분배 네트워크(320)의 일부이다. 도시된 바와 같이, 샘플링 회로(312)는 디바이스(300)의 샘플링 회로(310)의 다수의 샘플링 회로들 중 하나일 수 있다. 통상적으로, 하나의 스트로브 경로(322)의 타이밍은 분배 네트워크(320)의 모든 스트로브 경로들에 대한 타이밍, 및 이에 따라 모든 샘플링 회로(310)에 대한 타이밍을 나타낼 것이다.
복제본 경로(342)는 스트로브 경로(322)에 정합된다. 스트로브 경로(322)의 타이밍이 모든 분배 네트워크(320)의 타이밍을 나타내는 방법과 유사하게, 복제본 경로(342)의 타이밍은 스트로브 경로(322), 및 이에 따라 분배 네트워크(320)를 나타낸다. 복제본 경로(342)는 복제본 네트워크(340)의 일부로서 도시된다. 일 실시예에서, 복제본 네트워크(340)는 전체 네트워크 보다는 오히려 분배 네트워크(320)의 등가 회로이다. 따라서, 복제본 경로(342) 및 복제본 네트워크(340)는 특정한 구현들에서 동일한 것으로 고려될 수 있다.
일 실시예에서, 복제본 경로(342)는 발진기 회로이거나 또는 이를 포함할 수 있고, 이는 경로의 전방에서 증폭게이 신호를 피드백한다. 주어진 시간 주기에서 발진들의 수는 복제본 경로(342)의 타이밍을 나타내는 값을 제공할 수 있다. 한 테스트의 발진들의 수를 이전에 저장된 값과 비교하는 것에 의해, 디바이스(300)는 경로를 통한 지연에서의 변화의 크기 및 부호를 결정할 수 있다. 일 실시예에서, 타이밍 제어(330)는 발진기 또는 링 발진기를 포함하는 복제본 경로(342)의 일 실시예의 발진들을 카운트하는 카운터(332)를 포함한다. 일 실시예에서, 타이밍 제어(330)(또는 타이밍 제어(330)가 카운터(332)의 값을 보내는 송신기 디바이스)는 더 새로운 카운트에대해 비교할 발진기 카운트를 저장하는 스토리지 디바이스(예를 들어, 레지스터 - 도시되지 않음)를 포함하거나 또는 이에 대한 액세스를 갖는다.
일 실시예에서, 복제본 네트워크(340) 및 분배 네트워크(320)는 동일한 집적 회로 상에 집적될 뿐만 아니라 회로 등가물들이다. 따라서, 이러한 회로들은 프로세스에서 정합될 것이고, 동작에서 동일하게 거동할 것으로 예상된다. 복제본 네트워크(340)는 또한 분배 네트워크(320)와 동일한 기판 상에서 가까이 근접하여 배치될 수 있고, 이는 온도 변화들 및 온도 핫 스폿들(hot spots)이 복제본 네트워크(340) 및 분배 네트워크(320)에 동일하게 영향을 줄 것이라는 점을 더욱 보장한다.
송신기 상의 지연 조절 및/또는 스트로브 신호의 타이밍에 대한 조절은 카운터(332)의 카운트에 기초할 수 있다. 일 실시예에서, 타이밍 제어(330)는 지연 조절을 결정하는 계산들을 수행한다. 일 실시예에서, 타이밍 제어(330)는 카운터(332)의 카운트를 송신기에 송신하고, 이는 계산들을 수행한다. 메모리 디바이스에서든 아니면 제어기 또는 프로세스에서든, 이러한 계산들은 처리 리소스들을 매우 소비하는 것일 수 있다. 계산들에서 나눗셈을 수행하는 대신에, 계산 처리 리소스들은 작업 근사(working approximation)를 취득하는데 테일러 전개들(Taylor expansions)을 사용할 수 있다. 이러한 접근방식은 도 4b를 참조하여 이하 보다 상세히 설명된다. 테일러 전개들의 사용 및/또는 특정 값들의 사전계산(precalculation)은, 런타임/리얼-타임 나눗셈 연산들 및/또는 다른 하드웨어 기반의 계산들을 수행할 필요성을 제거하는 것에 의해, 런타임 계산 요건들을 감소시킬 수 있다. 따라서, 총 하드웨어 계산 부하가 감소될 수 있다. 사전계산은 발진기 카운트의 측정 이전에 알려진 임의의 값에 대해 수행될 수 있다. 이러한 계산들은 발진기 카운트/타이밍 측정들 이전에 펌웨어에 의해 수행될 수 있다. 사전계산들의 결과들은 지연 조절을 계산하기 위해 액세스될 레지스터들 또는 다른 스토리지에 저장될 수 있다.
도 4a는 부정합형 수신기 회로의 일 실시예의 블럭도이다. 회로(402)는, 샘플링 회로(410), 부정합형 증폭기(430), 및 클럭 분배 네트워크(440)을 포함하는, 부정합형 수신기 회로이다. 샘플링 회로(410)는 내부 기준 전압 Vref(420)에 대해 수신 데이터 신호 DQ[7:0]를 샘플링한다. 회로(402)가 일부인 시스템의 구성에 의존하여, 데이터 신호는 8 비트보다 더 많거나 또는 더 적을 수 있다는 점이 이해될 것이다. 샘플링 회로(410)는, 입력 신호의 샘플을 제공하는 엘리먼트(412), 및 클럭의 양쪽 엣지들 모두가 데이터를 송신하는데 사용되는 더블 데이터 레이트 시스템들의 경우에 대해 입력 신호의 상보형 샘플을 제공하는 엘리먼트(414)를 포함한다. 따라서, 상보형 경로는 싱글 데이터 레이트 구성들에서 필요하지 않을 수 있다. 다른 구성들이 가능하다. 엘리먼트들(412 및 414)은 샘플링 증폭기들이고, 이는 실제 수신 신호를 샘플링하고 샘플을 증폭한다. 따라서, 증폭은, 정합된 구성에 의해서와 같이, 샘플링 이전에 증폭하는 것에 비하여 더 저속인 증폭기에 의해 수행될 수 있다.
증폭기(430)는 입력들로서 풀-업 스트로브 신호 및 풀-다운 스트로브 신호를 수신한다. 클럭 분배 네트워크(440)는 스트로브 또는 샘플 신호들을 다수의 상이한 엘리먼트들, 예를 들어, 다수의 상이한 샘플링 엘리먼트들(도시되지 않음)에 분배한다. 분배 네트워크(440)의 레벨의 정확한 수는 구현에 의해 변경될 것이다. 2진 트리 분배 네트워크가 단순함을 위해 도시된다는 점이 이해될 것이다. 통상적으로, 그리고 (각각의 추가적인 레벨이 단 2개 대신에 4개의 분기들을 포함하고, 따라서 "H"처럼 보이는) H-트리가 사용된다. 분배 네트워크(440)의 어떠한 구성이 사용되던, 그리고 얼마나 많은 레벨들이 사용되던, 증폭기(430)으로부터 샘플링 엘리먼트들(412 및 414)까지 스트로브 경로 또는 지연 경로가 존재한다.
에이징, 전압 레벨들을 변경하는 것, 온도에서의 변화들, 또는 가능하게는 다른 동작 조건들을 통해, 스트로브 경로(450)를 통한 지연은 디바이스의 동작에 기초하여 시간에 대해 변화한다. 스트로브 경로(450)를 통한 타이밍은 데이터 신호에 대한 지연과 정합되지 않는다는 점(tDQ≠tDQS로서 표현될 수 있음)이 이해될 것이다. 이러한 타이밍 차이는 송신 신호의 타이밍을 변경하는 것, 또는 데이터 스트로브가 생성되는 때를 변경하는 것을 통해 보상될 수 있다. 클럭 분배 네트워크의 상이한 레벨들을 따르는 송신 라인들(트레이스들 또는 와이어들)은, 관련산업에서 통상적으로 도시되는 바와 같이, 저항 및 용량을 갖는 것으로서 도시된다는 점이 이해될 것이다. 다른 통상적인 도시는 각 송신 라인 상의 인덕터의 표시를 포함하는데, 각 라인의 지연은 라인들에 고유한 저항, 용량 및 인덕턴스에 기인하는 복합 임피던스에 의해 생성된다는 것을 나타낸다. 각각의 삼각형은 스트로브 경로(450)를 통해 전파될 때 신호의 손실을 방지하는 버퍼를 나타낸다는 점 또한 이해될 것이다.
도 4b는 도 4a의 부정합형 수신기 회로를 위한 복제본 클럭 분배 경로를 갖는 발진기 회로의 일 실시예의 블럭도이다. 복제본 회로(404)는 동일한 처리 단계들을 사용하여 회로(402)와 동일한 기판 상에 집적될 수 있다. 일 실시예에서, 복제본 회로(404)는 기판 상에서 회로(402)에 가까운 물리적 근처에 배치된다. 따라서, 이러한 2개 회로들의 거동들은 환경 조건들로 인한 지연에서의 변화들에 대해 가까이 추적하여야 한다. 복제본 회로(404)는, 회로(402)에 병렬이고, 회로(402)에 대해 독립적으로 및 백그라운드에서 동작한다. 복제본으로서, 복제본 네트워크(442)는 분배 네트워크(440)와 동일한 구조를 갖는다. 따라서, 복제본 경로(452)는 스트로브 경로(450)과 동일한 지연을 갖는다.
도시된 바와 같이, 복제본 회로(404)는 링 발진기로서 구성되거나 또는 이를 포함한다. 이러한 링 발진기는 N 사이클들의 주기(여기서 N은 증폭기(432)에 입력되는 인에이블 신호가 액티브인 사이클들의 수임) 동안 발진들을 생성할 것이다. 따라서, N은 복제본 회로(450)의 복제본 경로(452)가 인에이블되는 사이클들의 수이다. 일 실시예에서, 복제본 회로(404)는 카운터(460)를 포함하는 것으로 고려되지 않지만, 그 대신 카운터(460)에 입력을 제공한다. 다른 실시예에서, 카운터(460)는 복제본 회로(404)의 일부로 고려된다. 카운터(460)는 복제본 경로(452)에 대해 사이클들의 주기 당 발진들의 수의 추적을 유지한다. 따라서, 회로(402 및 404)가 속하는 시스템은 분배 네트워크를 통해 지연을 계산할 수 있고, 특히, 지연에서의 변동들을 식별할 수 있다. 이러한 지연은 카운트에 대해 1로서 또는 이에 기초하여 계산될 수 있는데, 카운트는 N 사이클들 이후 카운터(460)에 저장되는 최종 카운트 값이다. 카운터(460)는 충분한 정확도를 위해 대부분의 경우들에서, 예를 들어, 8 내지 16 비트에 의해 구현될 수 있다.
복제본 경로(452)는 회로(402)의 실제 데이터 경로 또는 실제적 스트로브 경로와 관한 "더미 경로"라 할 수 있다. 복제본 회로(404)는 수신기의 정상 동작에 영향을 주지 않고 링 발진기 구성에 의해 tDQS 지연 경로를 직접 측정할 수 있다. 일 실시예에서, 복제본 회로(404)는, 연속적으로, 또는 거의 연속적으로 동작하여, 알려진 주기적 트레이닝 접근방식들보다 훨씬 더 높은 대역폭을 여전히 달성하면서 잡음을 감소시키도록 다수의 샘플들을 생성한다. 수학적으로, 링 발진기 주파수는 시스템 클럭 주파수의 함수로서 표현될 수 있으며, 여기서 시스템 클럭 주파수는 다양한 잠재적 소스들로부터 유도될 수 있다. 이러한 표현은: 수학식1: FRingOsc = FSystemClk*ROCount/N일 수 있고, 여기서 FRingOsc는 링 발진기 회로의 주파수이고, FSystemClk는 시스템 클럭의 주파수이고, ROCount는 (카운터(460)에 의해 기록되는 바와 같은) 링 발진기의 최종 카운트이며, N은 링 발진기가 인에이블되거나 또는 액티브인 시스템 클럭 사이클들의 수이다.
N을 크게 하면, 지연의 매우 정확한 측정을 얻는 것이 가능하고, 시스템에서의 임의의 잡음은 링 발진기 내에서 추가적 오버헤드가 제로인 상태로 자동적으로 평균화될 것이다. 예를 들어, 1us 동안 회로(404)가 동작하는 것을 허용하는 것은(여기서, tDQS의 통상적인 값은 0.5ns임), 대략 2000의 ROCount를 제공할 것이다. 임의의 클럭 지터 또는 공급 잡음은 2000개 발진들에 대해 평균화될 것이어서, 1% 미만으로 정확한 tDQS에 대한 측정을 제공한다.
시간에 대한 tDQS 지연에서의 드리프트를 계산하기 위해, 시스템은 이전 측정으로부터 ROCount에 대한 적어도 하나의 값을 저장하고, 저장된 값에 대하여 새로운 ROCount 값을 비교할 수 있다. 일 실시예에서, ROCount에 대한 초기 값은 DQ가 DQS 주위에 집중된 때인 BIOS(Basic Input/Output System) 트레이닝 동안 생성될 수 있다. 따라서, 실제 시스템의 하나의 측정이 이루어질 수 있고, 주기적 트레이닝 접근방식과는 반대로, 저장된 측정에 기초하여 새로운 지연 값이 계산될 수 있다. 일 실시예에서, 드리프트는 수학식2: ΔtDQS = N/FSystemClk*(l/ROCountNEW -1/ROCountOLD)로서 수학적으로 표현될 수 있고, 여기서 ΔtDQS는 스트로브 경로 지연에서의 변화이고, N은 테스팅/측정이 인에이블되는 시스템 클럭 사이클들의 수이고, FSystemClk은 시스템 클럭의 주파수이고, ROCountNEW는 ROCount의 현재 측정의 값이며, ROCountOLD는 ROCount의 저장된 값이다.
드리프트 계산에 대한 수학적 표현은 나눗셈 연산을 요구하고, 이는 디지털 하드웨어에 구현하기에 상당히 고가인 연산이라는 점이 이해될 것이다. 수학식2는 테일러 전개들에 의해: 수학식3: ΔtDQS ≒ (N/FSystemClk)-(N/(FSystemClk/ROCountOLD))*ROCountNEW, 및 수학식4: ΔtDQS ≒ (N/(FSystemClk/ROCountOLD2))*ROCountNEW2 -(3*N/(FSystemClk/ROCountOLD))*ROCountNEW+(2*N/FSystemClk)로 더욱 추산될 수 있고, 여기서 수학식3은 수학식2의 1차 테일러 전개이고, 수학식4는 수학식2의 2차 테일러 전개이다. 측정할 사이클들의 수, N, 시스템 클럭 주파수, FSystemClk, 및 저장된 링 발진기 카운트, ROCountOLD는 모두 알려진 값들이라는 점에 주목하자. 따라서, 수학식들 3 및 4에 대해 요구되는 나눗셈 연산들 각각은, 실시간이 아닐 때 수행될 수 있고, 저장될 수 있으며, 실시간으로 곱셈에 사용하기 위해 액세스될 수 있다. 따라서, 수학식3 및 수학식4는 미리 계산된 나눗셈 연산들을 갖는 실시간 곱셈만을 요구한다. 더 고차인 테일러 전개들, 및/또는 다른 추산 기술들이 또한 사용될 수 있다는 점이 이해될 것이다.
회로(404)는 복제본 네트워크(442)의 출력으로부터의 피드백을 증폭기(432)의 반전 단자에 접속하고, 다른 단자에 대한 Vref에 접속하는 것에 의해 발진에 필요한 반전을 달성한다. 다른 구현들은 또한 상이한 방식으로 반전을 달성할 수 있고, 다른 구현들은 도 4b에 도시된 단일 종결형 버전(single ended version) 대신에 차동 DQS 피드백을 사용할 수 있다. 복제본 네트워크(442)는 분배 네트워크(440)의 등가 회로로서 구현될 수 있다는 점이 이해될 것이다. 따라서, 네트워크의 각 레그는 복제본 경로(452)를 따라 지연에 영향을 주지 않고 버퍼에서 종결될 수 있다. 따라서, 복제본 네트워크(442)는 하나 또는 다수의 풀(full) 복제본 경로들을 가질 수 있고, 여기서 임의의 한 경로는 경로들 각각에 대한 지연을 나타낸다.
일 실시예에서, 회로(404)는 수신기를 AC 결합한다. AC 결합은 공통 모드 전압, 전압 스윙 및 기울기가 지연 정합에 최소 영향을 주며 조절되게 할 수 있다. 따라서, 회로(404)의 입력 스윙, 공통 모드 전압, 및 기울기는 실제 DQS 패드 신호를 정합하도록 조절될 수 있다. 일 실시예에서, 결합 커패시터(C474)는 회로의 튜닝을 허용하도록 조절될 수 있거나 변경될 수 있다. 일 실시예에서, 피드백 경로는 수신기 기울기에서의 조절을 허용하는 저항(R476)을 또한 포함한다. 저항(R476) 또한 회로 응답을 튜닝하는 것을 허용하도록 조절될 수 있거나 변경될 수 있다. 따라서, 피드백 타이밍 응답은 회로(402)에서 실제 데이터 경로의 거동에 기초하여 튜닝될 수 있다. 피드백 응답 시간은, 디바이스의 에이징과 같은, 환경적 조건들에 기초하여 수정될 수 있다. 일 실시예에서, 피드백에 대한 이러한 AC 조절은 피드백에 대한 초기 시작 조건을 정의하는 추가적 시동 회로(도시되지 않음)을 요구할 수 있다. AC 결합은, 또한, 초기 조건들에 의존하여, 공통 모드를 안정화하는 일부 시간을 요구할 수 있는데, 이는 바람직한 평균화 또는 측정 주기(예를 들어, N보다 더 큼), 또는 카운팅을 인에이블하기 이전 링 발진기에서의 웜 업 주기(예를 들어, N+X 사이클들 동안 인에이블함, 여기서 카운터(460)은 X 사이클들 이후 턴 온됨)를 연장할 수 있다.
증폭기(430)가 엘리먼트들(412 및 414)의 증폭기들에 정합되지 않는 반면, 증폭기(432)는 증폭기(430)에 정합된다는 점이 이해될 것이다. 추가적으로, 복제본 경로(452)는 스트로브 경로(450)에 정합된다.
도 5는 복제본 클럭 분배 경로를 갖는 발진기 회로에 대한 동작 타이밍의 일 실시예의 타이밍도이다. 도 5는 DRAM 디바이스로의 커맨드들의 흐름의 일 실시예를 도시한다. 클럭 신호(510)은 시스템 클럭이다. CMD(520)은 DRAM 명령 신호이다. PRE ALL은 초기화 커맨드를 나타낸다. PRE ALL 커맨드가 발행될 때와 MRW Start 커맨드 발행 사이에 tRPab의 지연이 존재한다. MRW(Mode Register Write) Start는 발진을 시작하는 커맨드를 나타낸다. 링 발진기 신호(RO 530)은 MRW Start가 발행되는 때로부터 tRODelay의 지연 이후 발진하기 시작한다.
일단 RO 530이 발진하기 시작하면, 카운트(540)은 발진들을 카운트하기 시작한다. 수직 브레이크 라인들에 의해 도시된 바와 같은 발진의 주기가 존재하고, 이후 제어기는 MRW Stop 명령을 발행하고, 이는 발진들을 정지시킨다. tRODelay의 지연 이후, 링 발진기는 정지하고, 카운터는 X의 카운트에 착수한다. tWait의 지연 이후, 제어기는 MRR(Mode Register Read) 결과 커맨드를 발행하고, 이는 카운터의 결과들을 요구한다. RL+tDQSCK의 주기 이후, 메모리 디바이스는 DQ(550)의 값 X를 리턴한다.
따라서, DRAM 프로토콜의 관점으로부터, 링 발진기는 MRW/MRR 커맨드들, 명시적 신호들, 또는 통신되는 일부 다른 방식을 통해 액세스될 수 있다. 일 실시예에서, N의 값(발진하는 클럭(510) 사이클들의 수)은, 별도의 정지 발진기 커맨드를 요구할 것인 어느 하나의 메모리 제어기에, 또는 카운터를 사용하는 DRAM에 구현될 수 있다. 일 실시예에서, 발진들을 카운트하는 카운터는 메모리 제어기에 포함된다. 이러한 구현에서, 메모리 제어기 및 메모리 디바이스는 결과를 피드백하는 신호를 필요로할 것이고, 이는 그들 사이의 대역폭을 소모할 것이다. 일 실시예에서, 발진들을 카운트하는 카운터는 메모리 디바이스에 포함되고, 최종 카운트는 메모리 제어기에 피드백되는 전부이다. 이러한 구현은 발진기 카운트를 다시 판독하는 별도의 MRR 커맨드 요구할 수 있다. 도 5에서의 예는 메모리 정황에서의 단지 일 예이고, 제한적인 것은 아니라는 점이 이해될 것이다. 다른 명시적 및 암시적 통신 방법들이 가능하다.
일 실시예에서, 발진 방법은, tDQSCK과 같은, 하나 이상의 임계 DRAM 타이밍 지연들의 어림 추산(rough estimate), 및 이들이 DRAM 전압 및/또는 온도에 의해 어떻게 변경되는지를 얻는데 사용될 수 있다. 이러한 유용성이 전용 측정만큼 정확하지 않을 수는 있지만; 그러나, 이는 일정한 타이밍 지연들에 대한 통찰을 제공할 수 있고 따라서 단일 기술에 의해 다수 부분의 정보를 제공할 수 있다.
도 6은 복제본 클럭 분배 네트워크에서 검출되는 지연 변화들에 기초하여 클럭 분배 네트워크에서의 지연을 조절하는 프로세스의 일 실시예의 흐름도이다. 일 실시예에서, 디바이스 제조자는 컴포넌트에 I/O용 수신기 회로를 제조한다. 이러한 수신기 회로는 증폭기, 샘플링 회로 및 클럭 분배 네트워크를 포함한다(602). 샘플링 회로 및 증폭기는 동일 엘리먼트의 일부일 수 있다. 제조자는 또한 컴포넌트에 대한 복제본 회로를 제조한다. 이러한 복제본 회로는 정합형 증폭기(수신기 회로의 클럭 분배 네트워크의 증폭기와 정함됨), 및 복제본 클럭 분배 네트워크 경로를 포함한다(604).
동작에서, 수신기 회로는 송신 디바이스로부터 처리할 통신을 수신한다((606). 수신기 회로는 입력 신호를 처리한다. 수신기 회로는 많은 이러한 입력 신호들을 처리할 수 있다. 수신기 회로의 동작과 병행하여, 및 이와는 독립적으로(예를 들어, 복제본 회로의 동작이 수신기 회로의 동작에 직접 영향을 주지 않거나, 그 역임), 수신 디바이스는 인에이블 신호를 생성한다. 복제본 회로의 복제본 증폭기는 입력 또는 인에이블 신호를 수신한다(608).
복제본 증폭기는 복제본 클럭 분배 네트워크 경로를 통해 신호를 출력한다(610). 이러한 복제본 경로는 수신기 회로의 클럭 분배 네트워크 경로에 정합된다. 일 실시예에서, 복제본 경로는 전체 복제본 클럭 분배 네트워크보다는 오히려, 단순하게 단일 경로이다. 따라서, 복제본 경로는 수신기 회로의 클럭 분배 네트워크의 등가 회로로서 구현될 수 있다. 복제본 회로는, 복제본 경로의 출력을 피드백하거나 또는 복제본 경로의 딘부로부터 복제본 증폭기의 입력으로 피드백한다(612). 피드백 경로는 회로로 하여금 발진하게 한다.
복제본 경로의 단부에 있는 카운터는 발진들을 카운트한다(614). 이러한 카운터는 레지스터에 또는 제어기 디바이스에 카운트를 제공할 수 있다. 이러한 카운트에 기초하여, 시스템은 복제본 경로의 지연을 계산하고, 특히 지연이 변경되었는지를 판정한다(616). 이러한 계산은 수신 디바이스에 의해 또는 송신 디바이스에 의해 수행될 수 있다. 계산을 행하는 디바이스는 현재 지연을 복제본 경로에 대한 이전 지연에 비교할 수 있다(618). 일 실시예에서, 이러한 계산은 현재 발진기 카운트를 이전 발진기 카운트 값에 비교하는 것을 포함한다.
지연들이 동일하면(620에서 "예" 분기), 조절할 것이 없고, 수신기 회로는 그것이 이전에 행한 것처럼 계속 동작한다. 발진기 회로는 다시 인에이블되는 몇몇 미래 시간에 재시작할 것이다(608). 지연들이 상이하면(620에서 "아니오" 분기), 시스템은, 복제본 회로에서의 지연의 차이에 기초하여 수신기 회로의 클럭 분배 네트워크에 대해 I/O의 지연을 조절한다(622). 일반적으로, 시스템은 복제본 클럭 분배 네트워크에서의 지연에 기초하여 송신기 소스 클럭과 부정합형 수신기 회로 사이의 지연을 조절할 수 있다. 일 실시예에서, 이러한 조절은 송신기의 동작에서의 조절을 포함한다. 일 실시예에서, 이러한 조절은 설정을 수신기의 동작을 제어하는 설정들을 수신하는 조절을 포함한다. 일 실시예에서, 이러한 조절은 클럭 분배 네트워크의 동작에서의 조절을 포함한다. 이러한 조절들은 다양한 송신 및/또는 수신 회로들의 전기적 I/O 파라미터들을 조절하는 것을 통해 구현될 수 있다. 일 실시예에서, 탐색 로직은 어떤 I/O 동작 파라미터들을 조절할지 판정하는 탐색을 구현한다.
도 7은 복제본 클럭 분배 경로가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블럭도이다. 시스템(700)은, 본 명세서에 기술된 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 라우팅 또는 스위칭 디바이스, 또는 다른 전자 디바이스일 수 있다. 시스템(700)은 프로세서(720)를 포함하고, 이는 시스템(700)에 대한 처리, 운영 관리 및 명령어들의 실행을 제공한다. 프로세서(720)는 시스템(700)에 대한 처리를 제공하는 임의의 타입의 마이크로프로세서, CPU(Central Processing Unit), 처리 코어, 또는 다른 처리 하드웨어를 포함할 수 있다. 프로세서(720)는 시스템(700)의 전체 동작을 제어하며, 하나 이상의 프로그래머블 범용 또는 특수목적 마이크로프로세서들, DSP들(Digital Signal Processors), 프로그래머블 제어기들, ASIC들(Application Specific Integrated Circuits), PLD들(Programmable Logic Devices) 등, 또는 이러한 디바이스들의 조합일 수 있거나, 또는 이들을 포함할 수 있다.
메모리 서브시스템(730)은, 시스템(700)의 메인 메모리를 나타내며, 프로세서(720)에 의해 실행될 코드, 또는 루틴을 실행할 시에 사용될 데이터 값들에 대한 임시 스토리지를 제공한다. 메모리 서브시스템(730)은 ROM(Read-Only Memory), 플래시 메모리, 하나 이상의 다양한 RAM(Random Access Memory), 또는 다른 메모리 디바이스들과 같은 하나 이상의 메모리 디바이스들, 또는 이러한 디바이스들의 조합을 포함할 수 있다. 메모리 서브시스템(730)은, 특히, 시스템(700) 내의 명령어들의 실행을 위한 소프트웨어 플랫폼을 제공하는 OS(Operating System)(736)를 저장 및 호스팅한다. 추가로, 다른 명령어들(738)은 메모리 서브시스템(730)에 저장되고 이로부터 실행되어 시스템(700)의 로직 및 처리를 제공한다. OS(736) 및 명령어들(738)은 프로세서(720)에 의해 실행된다.
메모리 서브시스템(730)은 메모리 디바이스(732)를 포함하고, 여기서 메모리 디바이스는 데이터, 명령어들, 프로그램들, 또는 기타 아이템들을 저장한다. 일 실시예에서, 메모리 서브시스템은 메모리 제어기(734)를 포함하고, 이는 본 명세서에서 설명되는 임의의 실시예에 따른 메모리 제어기이고 메모리 디바이스(732)에 대해 커맨드들을 생성하고 발행하는 스케줄러를 포함한다.
일 실시예에서, 메모리 서브시스템(730) 및 메모리 디바이스(732)는 메모리 제어기로부터 메모리 디바이스로의 통신의 타이밍 및 정확도를 향상시키기 위해 복제본 클럭 분배 경로로부터 생성되는 피드백을 구현시킨다. 일 실시예에서, 메모리 디바이스(732)는 스트로브 분배 네트워크에 정합되는 복제본 분배 네트워크를 포함한다. 이러한 메모리 디바이스는 복제본 네트워크에서의 링 발진기에 의한 지연 시프트의 크기 및 방향을 결정한다. 이러한 시스템은, 지연 시프트를 계산하는데 발진들의 카운트를 사용하고, 지연 시프트에 대처하기 위해 하나 이상의 I/O 파라미터들의 동작을 조절한다.
프로세서(720) 및 메모리 서브시스템(730)은 버스/버스 시스템(710)에 결합된다. 버스(710)는, 적절한 브리지들, 어댑터들 및/또는 제어기들에 의해 접속되는 임의의 하나 이상의 별도의 물리적 버스들, 통신 라인들/인터페이스들, 및/또는 점-대-점 접속들을 나타내는 추상적 개념(abstraction)이다. 따라서, 버스(710)는, 예를 들어, 시스템 버스, PCI(Peripheral Component Interconnect) 버스, HyperTransport 또는 ISA(Industry Standard Architecture) 버스, SCSI(Small Computer System Interface) 버스, USB(Universal Serial Bus), 또는 IEEE(Institute of Electrical and Electronics Engineers) 표준 1394 버스(통상적으로 "Firewire"라 함) 중 하나 이상을 포함할 수 있다. 버스(710)의 버스들은 또한 네트워크 인터페이스(750) 내의 인터페이스들에 대응할 수 있다.
시스템(700)은 또한 버스(710)에 결합되는 하나 이상의 I/O(Input/Output) 인터페이스(들)(740), 네트워크 인터페이스(750), 하나 이상의 내부 대용량 스토리지 디바이스(들)(760), 및 주변기기 인터페이스(770)를 포함한다. I/O 인터페이스(740)는 이를 통해 사용자가 시스템(700)과 상호작용하는 하나 이상의 인터페이스 컴포넌트들(예를 들어, 비디오, 오디오 및/또는 영숫자 인터페이싱)을 포함할 수 있다. 네트워크 인터페이스(750)는 하나 이상의 네트워크들을 통해 원격 디바이스들(예를 들어, 서버들, 다른 컴퓨팅 디바이스들)과 통신하는 능력을 시스템(700)에 제공한다. 네트워크 인터페이스(750)는 이더넷 어댑터, 무선 상호접속 컴포넌트들, USB(Universal Serial Bus), 또는 다른 유선 또는 무선 표준들 기반의 또는 사설 인터페이스들을 포함할 수 있다.
스토리지(760)는, 하나 이상의 자기, 고체 상태, 또는 광학 기반의 디스크들, 또는 그 조합과 같은, 비휘발성 방식으로 대량의 데이터를 저장하는 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 스토리지(760)는 코드 또는 명령어들 및 데이터(762)를 지속 상태로 보유한다(즉, 값은 시스템(700)으로의 전력의 중단에도 불구하고 유지됨). 스토리지(760)는 포괄적으로 "메모리"인 것으로 간주될 수 있지만, 메모리(730)는 프로세서(720)에 명령어들을 제공하는 실행 또는 동작 메모리이다. 스토리지(760)는 불휘발성인 반면에, 메모리(730)는 휘발성 메모리를 포함할 수 있다(즉, 전력이 시스템(700)에 중단되면 데이터의 값 또는 상태는 불확실하다).
주변기기 인터페이스(770)는 위에 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변기기들은 일반적으로 시스템(700)에 종속적으로 접속하는 디바이스들을 말한다. 종속적 접속은, 동작이 실행되며 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 시스템(700)이 제공하는 것이다.
도 8은 복제본 클럭 분배 경로가 구현될 수 있는 모바일 디바이스의 일 실시예의 블럭도이다. 디바이스(800)는 컴퓨팅 태블릿, 모바일폰 또는 스마트폰, 무선-인에이블형 e-리더기, 또는 다른 모바일 디바이스와 같은, 모바일 컴퓨팅 디바이스를 나타낸다. 컴포넌트들 중 일부가 일반적으로 도시되어 있으며 이러한 디바이스의 모든 컴포넌트들이 디바이스(800)에 도시되는 것은 아니라는 점이 이해될 것이다.
디바이스(800)는 프로세서(810)를 포함하고, 이는 디바이스(800)의 주요 처리 동작들을 수행한다. 프로세서(810)는, 마이크로프로세서들, 애플리케이션 프로세서들, 마이크로제어기들, 프로그래머블 로직 디바이스들, 또는 다른 처리 수단과 같은, 하나 이상의 물리적 디바이스들을 포함할 수 있다. 일 실시예에서, 프로세서(810)는 프로세서 다이 뿐만 아니라 광학적 인터페이스 컴포넌트들을 포함한다. 따라서, 프로세서 다이 및 광 컴포넌트들은 동일 패키지 내에 존재한다. 이러한 프로세서 패키지는 본 명세서에 설명되는 임의의 실시예에 따라 광 커넥터와 광학적으로 인터페이스할 수 있다.
프로세서(810)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제의 실행을 포함한다. 이러한 처리 동작들은 인간 사용자에 의한 또는 다른 디바이스들에 의한 I/O(Input/Output)에 관련되는 동작들, 전력 관리에 관련되는 동작들, 및/또는 디바이스(800)를 다른 디바이스에 접속시키는 것에 관련되는 동작들을 포함한다. 처리 동작들은 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 또한 포함할 수 있다.
일 실시예에서, 디바이스(800)는, 컴퓨팅 디바이스에 오디오 기능들을 제공하는 것과 연관되는 하드웨어(예를 들어, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어(예를 들어, 드라이버들, 코덱들) 컴포넌트들을 나타내는, 오디오 서브시스템(820)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력 뿐만 아니라 마이크로폰 입력을 포함할 수 있다. 이러한 기능들을 위한 디바이스들은 디바이스(800) 내에 통합될 수 있거나 또는 디바이스(800)에 접속될 수 있다. 일 실시예에서, 사용자는 프로세서(810)에 의해 수신되고 처리되는 오디오 커맨드들을 제공하는 것에 의해 디바이스(800)와 상호작용한다.
디스플레이 서브시스템(830)은 사용자가 컴퓨팅 디바이스와 상호작용하기 위한 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이 서브시스템(830)은, 사용자에게 디스플레이를 제공하기 위해 사용되는 특정 스크린 또는 하드웨어 디바이스를 포함하는 디스플레이 인터페이스(832)를 포함한다. 일 실시예에서, 디스플레이 인터페이스(832)는 디스플레이에 관련되는 적어도 몇몇 처리를 수행하기 위한 프로세서(810)와는 별개인 로직을 포함한다. 일 실시예에서, 디스플레이 서브시스템(830)은 출력 및 입력 양자 모두를 사용자에게 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(840)는 사용자와의 상호작용에 관련되는 하드웨어 디바이스들 및 소프트웨어 컴포넌트들을 나타낸다. I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)의 일부인 하드웨어를 관리하도록 동작할 수 있다. 추가로, I/O 제어기(840)는 사용자가 시스템과 상호작용할 수 있는 디바이스(800)에 접속하는 추가 디바이스들에 대한 접속 지점을 예시한다. 예를 들어, 디바이스(800)에 부착될 수 있는 디바이스들은, 마이크 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 판독기들 또는 다른 디바이스들과 같이 특정 응용들에 의한 사용을 위한 다른 I/O 디바이스들을 포함할 수 있다.
위에 언급된 바와 같이, I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(800)의 하나 이상의 애플리케이션들 또는 기능들에 대한 입력 또는 커맨드들을 제공할 수 있다. 추가로, 오디오 출력은 디스플레이 출력 대신에 또는 디스플레이 출력에 추가하여 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하는 경우, 디스플레이 디바이스는, 또한, I/O 제어기(840)에 의해 적어도 일부가 관리될 수 있는 입력 디바이스로서 작동한다. I/O 제어기(840)에 의해 관리되는 I/O 기능들을 제공하기 위한 디바이스(800) 상의 추가적인 버튼들 또는 스위치들이 또한 존재할 수 있다.
일 실시예에서, I/O 제어기(840)는, 가속도계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 자이로스코프들, GPS(Global Positioning System), 또는 디바이스(800)에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 일부일 뿐만 아니라, 그 동작들에 영향을 주는 환경 입력을 시스템에 제공하는 것(예를 들어, 잡음에 대한 필터링, 밝기 검출에 대한 디스플레이들의 조절, 카메라에 대한 플래시의 적용, 또는 다른 특징들)일 수 있다. 일 실시예에서, 디바이스(800)는 배터리 전력 사용량, 배터리의 충전, 및 전력 절감 동작에 관련되는 특징들을 관리하는 전력 관리(850)를 포함한다.
메모리 서브시스템(860)은 디바이스(800)에서 정보를 저장하는 메모리 디바이스(들)(862)를 포함한다. 메모리 서브시스템(860)은 불휘발성(메모리 디바이스에 대한 전력이 중단되는 경우 상태가 변경되지 않음) 및/또는 휘발성(메모리 디바이스에 대한 전력이 중단되는 경우 상태가 불확정적임) 메모리 디바이스들을 포함할 수 있다. 메모리(860)는, 애플리케이션 데이터, 사용자 데이터, 음악, 사진들, 문서들 또는 다른 데이터, 뿐만 아니라 시스템(800)의 애플리케이션들 및 기능들의 실행에 관련되는 시스템 데이터(장기적 또는 일시적)를 저장할 수 있다. 일 실시예에서, 메모리 서브시스템(860)은 (또한 시스템(800)의 제어의 일부로서 고려될 수 있고, 잠재적으로 프로세서(810)의 일부로서 고려될 수 있는) 메모리 제어기(864)를 포함한다. 메모리 제어기(864)는 메모리 디바이스(862)에 커맨드들을 발생시키고 발행하는 스케줄러를 포함한다.
접속성(connectivity)(870)은 디바이스(800)가 외부 디바이스들과 통신할 수 있게 하는 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스는, 헤드셋들, 프린터들 또는 다른 디바이스들과 같은 주변기기들, 뿐만 아니라, 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들과 같은, 별도의 디바이스들일 수 있다.
접속성(870)은 다수의 상이한 타입들의 접속성을 포함할 수 있다. 일반화하기 위해, 디바이스(800)는 셀룰러 접속성(872) 및 무선 접속성(874)을 갖는 것으로 도시된다. 셀룰러 접속성(872)은, GSM(Global System for Mobile communications) 또는 변형물들 또는 파생물들, CDMA(Code Division Multiple Access) 또는 변형물들 또는 파생물들, TDM(Time Division Multiplexing) 또는 변형물들 또는 파생물들, LTE(Long Term Evolution - "4G"라고도 함), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 것과 같이, 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성을 일반적으로 말한다. 무선 접속성(874)은 셀룰러가 아닌 무선 접속성을 말하며, 개인 영역 네트워크들(예를 들어, 블루투스), 로컬 영역 네트워크들(예를 들어, WiFi), 및/또는 광역 네트워크(예를 들어, WiMax), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비-고형 매체(non-solid medium)를 통한 변조된 전자기 방사의 사용에 의한 데이터의 전송을 말한다. 유선 통신은 고형 통신 매체를 통해 발생한다.
주변기기 접속들(880)은, 하드웨어 인터페이스들 및 커넥터들, 뿐만 아니라, 주변 접속들을 이루기 위한 소프트웨어 컴포넌트들(예를 들어 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(800)는 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("to"(882))일 수 있을 뿐만 아니라, 그에 접속되는 주변 디바이스들("from"(884))을 가질 수 있다는 점 양자 모두가 이해될 것이다. 디바이스(800)는 디바이스(800) 상의 콘텐츠를 관리하는 것(예를 들어, 다운로딩 및/또는 업로딩, 변경, 동기화)과 같은 목적들로 다른 컴퓨팅 디바이스들에 접속하는 "도킹" 커넥터를 일반적으로 갖는다. 추가로, 도킹 커넥터는, 디바이스(800)가, 예를 들어, 시청각 또는 다른 시스템들에 출력되는 콘텐츠를 제어하게 하는 특정 주변기기들에 디바이스(800)가 접속하게 할 수 있다.
사유 도킹 커넥터 또는 다른 사유 접속 하드웨어에 더하여, 디바이스(800)는 공통 또는 표준-기반의 커넥터들을 통해 주변기기 접속들(880)을 이룰 수 있다. 공통 타입들은 (다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있는) USB(Universal Serial Bus) 커넥터, MDP(MiniDisplayPort)를 포함하는 DisplayPort, HDMI(High Definition Multimedia Interface), Firewire, 또는 다른 타입을 포함할 수 있다.
일 실시예에서, 시스템(800)의 하나 이상의 컴포넌트들은 컴포넌트들 사이의 통신의 타이밍 및 정확도를 향상시키기 위해 복제본 클럭 분배 경로로부터 생성되는 피드백을 구현한다. 일 실시예에서, 수신 컴포넌트는 스트로브 분배 네트워크에 정합되는 복제본 분배 네트워크를 포함한다. 수신 디바이스는 복제본 네트워크에서의 링 발진기에 의해 지연 시프트의 크기 및 방향을 결정한다. 시스템은, 지연 시프트를 계산하는데 발진들의 카운트를 사용하고, 지연 시프트에 대처하기 위해 하나 이상의 I/O 파라미터들의 동작을 조절한다.
일 양상에서, 부정합형 통신 아키텍처를 갖는 장치는, 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로; 및 샘플링 회로에 스트로브 신호를 제공하도록 제2 증폭기로부터 샘플링 회로까지 연결되는 클럭 분배 네트워크- 제2 증폭기는 제1 증폭기에 정합되지 않음 -를 포함하는 부정합형 수신기 회로; 및 제2 증폭기에 정합되는 제3 증폭기; 일 주기의 시간 동안 발진들을 카운트하는 카운터; 제3 증폭기로부터 카운터까지 연결되는 복제본 클럭 분배 네트워크- 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 복제본임 -; 및 클럭 분배 회로로부터 제3 증폭기까지의 피드백 경로를 포함하는 링 발진기 회로를 포함하한다.
일 실시예에서, 데이터 경로는 제1 증폭기 및 샘플링 회로를 포함하는 샘플링 증폭기를 포함한다. 일 실시예에서, 클럭 분배 네트워크는 H-트리(H-tree) 클럭 분배 네트워크를 포함한다. 일 실시예에서, 부정합형 수신기 회로 및 링 발진기 회로는 단일 집적 회로 다이 상에 집적된다. 일 실시예에서, 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로이다. 일 실시예에서, 피드백 경로는 링 발진기 회로의 응답 시간을 조절하도록 튜닝가능한 RC 회로를 포함한다.
일 실시예에서, 이러한 장치는, 링 발진기 회로에서의 카운터에 의해 카운트되는 발진들의 수에 기초하여 부정합형 수신기 회로의 클럭 분배 네트워크에 대한 지연 조절을 계산하는 로직을 더 포함한다. 일 실시예에서, 이러한 장치는, 수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 메모리 디바이스를 더 포함하고, 로직은 실시간 나눗셈을 수행하지 않고 값에 의해 지연 조절을 계산한다. 일 실시예에서, 이러한 장치는, 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 송신 디바이스로 하여금 자신의 출력 신호의 타이밍을 수신기 회로에 대해 조절하게 하는 로직을 더 포함한다. 일 실시예에서, 이러한 장치는, 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터의 수신 신호들에 대해 조절하게 하는 로직을 더 포함한다.
일 양상에서, 부정합형 수신기 회로를 갖는 메모리 디바이스를 갖는 전자 디바이스는, 프로세서를 포함하는 하드웨어 플랫폼; 하드웨어 플랫폼 상의 메모리 제어기 디바이스로부터 통신을 수신하는 하드웨어 플랫폼 상의 메모리 디바이스; 및 메모리 디바이스로부터 액세스되는 데이터에 기초하여 디스플레이를 생성하도록 연결되는 터치스크린 디스플레이를 포함하고, 메모리 디바이스는, 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로; 및 샘플링 회로에 스트로브 신호를 제공하도록 제2 증폭기로부터 샘플링 회로까지 연결되는 클럭 분배 네트워크- 제2 증폭기는 제1 증폭기에 정합되지 않음 -를 포함하는 부정합형 수신기 회로; 및 제2 증폭기에 정합되는 제3 증폭기; 일 주기의 시간 동안 발진들을 카운트하는 카운터; 및 제3 증폭기로부터 카운터까지 연결되는 복제본 클럭 분배 네트워크- 복제본 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로임 -를 포함하는 링 발진기를 포함한다.
일 실시예에서, 데이터 경로는 제1 증폭기 및 샘플링 회로를 포함하는 샘플링 증폭기를 포함한다. 일 실시예에서, 클럭 분배 네트워크는 H-트리(H-tree) 클럭 분배 네트워크를 포함한다. 일 실시예에서, 부정합형 수신기 회로 및 링 발진기는 단일 집적 회로 다이 상에 집적된다. 일 실시예에서, 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로이다. 일 실시예에서, 피드백 경로는 링 발진기 회로의 응답 시간을 조절하도록 튜닝가능한 RC 회로를 포함한다.
일 실시예에서, 메모리 디바이스는 링 발진기 회로에서의 카운터에 의해 카운트되는 발진들의 수에 기초하여 부정합형 회로의 클럭 분배 네트워크에 대한 지연 조절을 계산하는 로직을 더 포함한다. 일 실시예에서, 메모리 디바이스는 수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 메모리 컴포넌트를 더 포함하고, 로직은 실시간 나눗셈을 수행하지 않고 값에 의해 지연 조절을 계산한다. 일 실시예에서, 메모리 디바이스는 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 송신 디바이스로 하여금 자신의 출력 신호의 타이밍을 수신기 회로에 대해 조절하게 하는 로직을 더 포함한다. 일 실시예에서, 메모리 디바이스는 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터의 수신 신호들에 대해 조절하게 하는 로직을 더 포함한다.
일 양상에서, 부정합형 수신기 회로와 통신하는 방법은, 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 복제본 클럭 분배 네트워크를 통해 발진을 초래하는 신호를 피드백하는 단계- 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 복제본이고, 복제본 증폭기는 부정합형 수신기 회로의 샘플링 증폭기의 복제본이며, 복제본 증폭기의 출력은 클럭 분배 네트워크에 대한 입력임 -; 복제본 클럭 분배 네트워크를 통한 발진들의 수를 일 주기의 시간 동안 카운터에 의해 카운트하는 단계; 복제본 클럭 분배 네트워크를 통한 지연에서의 변화를 계산하는 단계; 및 복제본 클럭 분배 네트워크를 통한 지연에 기초하여 송신기 소스 클럭과 부정합형 수신기 회로 사이의 지연을 조절하는 단계를 포함한다.
일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 단계는 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 단계를 포함한다. 일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 단계는 H-트리 클럭 분배 네트워크를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 단계를 포함한다. 일 실시예에서, 발진들의 수를 카운트하는 단계는 부정합형 수신기 회로와 단일 집적 회로 다이 상에 집적되는 링 발진기 회로에 의해 수행된다. 일 실시예에서, 복제본 클럭 분배 네트워크를 통해 신호를 피드백하는 단계는 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로를 통해 신호를 피드백하는 단계를 포함한다.
일 실시예에서, 이러한 방법은, 부정합형 수신기 회로의 환경적 조건들을 변경하는 것에 기초하여 피드백의 응답을 조절하도록 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 피드백하는 경로에 있는 RC 회로를 튜닝하는 단계를 더 포함한다. 일 실시예에서, 이러한 방법은, 카운터에 의해 카운트되는 발진들의 수에 기초하여 부정합형 수신기 회로의 클럭 분배 네트워크에 대한 지연 조절을 계산하는 단계를 더 포함한다. 일 실시예에서, 이러한 방법은, 수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 단계; 실시간 나눗셈을 수행하지 않고 값에 의해 지연 조절을 계산하는 단계를 더 포함한다. 일 실시예에서, 이러한 방법은, 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 통신 디바이스로 하여금 자신의 출력 신호의 타이밍을 수신기 회로에 대해 조절하게 하는 단계를 더 포함한다. 일 실시예에서, 이러한 방법은, 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터의 수신 신호들에 대해 조절하게 하는 단계를 더 포함한다.
일 양상에서, 부정합형 수신기 회로와 통신하는 장치는, 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 복제본 클럭 분배 네트워크를 통해 발진을 초래하는 신호를 피드백하는 수단- 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 복제본이고, 복제본 증폭기는 부정합형 수신기 회로의 샘플링 증폭기의 복제본이며, 복제본 증폭기의 출력은 클럭 분배 네트워크에 대한 입력임 -; 복제본 클럭 분배 네트워크를 통한 발진들의 수를 일 주기의 시간 동안 카운터에 의해 카운트하는 수단; 복제본 클럭 분배 네트워크를 통한 지연에서의 변화를 계산하는 수단; 및 복제본 클럭 분배 네트워크를 통한 지연에 기초하여 송신기 소스 클럭과 부정합형 수신기 회로 사이의 지연을 조절하는 수단을 포함한다.
일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 수단은 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 수단을 포함한다. 일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 수단은 H-트리 클럭 분배 네트워크를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 수단을 포함한다. 일 실시예에서, 발진들의 수를 카운트하는 수단은 부정합형 수신기 회로와 단일 집적 회로 다이 상에 집적되는 링 발진기 회로에 의해 수행된다. 일 실시예에서, 복제본 클럭 네트워크를 통해 신호를 피드백하는 수단은 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로를 통해 신호를 피드백하는 수단을 포함한다.
일 실시예에서, 이러한 장치는, 부정합형 수신기 회로의 환경적 조건들을 변경하는 것에 기초하여 피드백의 응답을 조절하도록 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 피드백하는 경로에 있는 RC 회로를 튜닝하는 수단을 더 포함한다. 일 실시예에서, 이러한 장치는, 카운터에 의해 카운트되는 발진들의 수에 기초하여 부정합형 수신기 회로의 클럭 분배 네트워크에 대한 지연 조절을 계산하는 수단을 더 포함한다. 일 실시예에서, 이러한 장치는, 수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 수단; 실시간 나눗셈을 수행하지 않고 값에 의해 지연 조절을 계산하는 수단을 더 포함한다. 일 실시예에서, 이러한 장치는, 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 통신 디바이스로 하여금 자신의 출력 신호의 타이밍을 수신기 회로에 대해 조절하게 하는 수단을 더 포함한다. 일 실시예에서, 이러한 장치는, 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터의 수신 신호들에 대해 조절하게 하는 수단을 더 포함한다.
일 양상에서, 콘텐츠를 저장하는 컴퓨터 판독가능 스토리지 매체는, 컴퓨팅 디바이스에 의해 실행될 때, 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 복제본 클럭 분배 네트워크를 통해 발진을 초래하는 신호를 피드백하는 콘텐츠- 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 복제본이고, 복제본 증폭기는 부정합형 수신기 회로의 샘플링 증폭기의 복제본이며, 복제본 증폭기의 출력은 클럭 분배 네트워크에 대한 입력임 -; 복제본 클럭 분배 네트워크를 통한 발진들의 수를 일 주기의 시간 동안 카운터에 의해 카운트하는 콘텐츠; 복제본 클럭 분배 네트워크를 통한 지연에서의 변화를 계산하는 콘텐츠; 및 복제본 클럭 분배 네트워크를 통한 지연에 기초하여 송신기 소스 클럭과 부정합형 수신기 회로 사이의 지연을 조절하는 콘텐츠를 포함한다.
일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 콘텐츠는 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 콘텐츠를 포함한다. 일 실시예에서, 복제본 클럭 분배 네트워크의 출력으로부터 신호를 피드백하는 콘텐츠는 H-트리 클럭 분배 네트워크를 복제하는 클럭 분배 네트워크로부터 신호를 피드백하는 콘텐츠를 포함한다. 일 실시예에서, 발진들의 수를 카운트하는 콘텐츠는 부정합형 수신기 회로와 단일 집적 회로 다이 상에 집적되는 링 발진기 회로에 의해 수행된다. 일 실시예에서, 복제본 클럭 네트워크를 통해 신호를 피드백하는 콘텐츠는 부정합형 수신기 회로의 클럭 분배 네트워크의 등가 회로를 통해 신호를 피드백하는 콘텐츠를 포함한다.
일 실시예에서, 제조 물품은, 부정합형 수신기 회로의 환경적 조건들을 변경하는 것에 기초하여 피드백의 응답을 조절하도록 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 피드백하는 경로에 있는 RC 회로를 튜닝하는 콘텐츠를 더 포함한다. 일 실시예에서, 제조 물품은, 카운터에 의해 카운트되는 발진들의 수에 기초하여 부정합형 수신기 회로의 클럭 분배 네트워크에 대한 지연 조절을 계산하는 콘텐츠를 더 포함한다. 일 실시예에서, 제조 물품은, 수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 콘텐츠; 실시간 나눗셈을 수행하지 않고 값에 의해 지연 조절을 계산하는 콘텐츠를 더 포함한다. 일 실시예에서, 제조 물품은, 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 통신 디바이스로 하여금 자신의 출력 신호의 타이밍을 수신기 회로에 대해 조절하게 하는 콘텐츠를 더 포함한다. 일 실시예에서, 제조 물품은, 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터의 수신 신호들에 대해 조절하게 하는 콘텐츠를 더 포함한다.
본 명세서에 도시된 것과 같은 흐름도들은 다양한 프로세스 액션들의 시퀀스들의 예들을 제공한다. 달리 특정되지 않는다면, 특정 시퀀스 또는 순서로 도시되지만, 액션들의 순서는 수정될 수 있다. 따라서, 도시된 실시예들은 단지 일 예로서 이해되어야 하고, 프로세스는 상이한 순서로 수행될 수 있고, 일부 액션들은 병렬로 수행될 수 있다. 추가적으로, 다양한 실시예들에서 하나 이상의 액션들이 생략될 수 있으며; 따라서 모든 실시예에 모든 액션들이 요구되는 것은 아니다. 다른 프로세스 흐름들이 가능하다.
다양한 동작들 또는 기능들이 본 명세서에 설명되는 정도로, 이들은 소프트웨어 코드, 명령어들, 구성 및/또는 데이터로서 설명되거나 또는 정의될 수 있다. 이러한 콘텐츠는 직접 실행 가능한("객체" 또는 "실행가능" 형태), 소스 코드, 또는 차이 코드(difference code)("델타(delta)" 또는 "패치(patch)" 코드)일 수 있다. 본 명세서에 설명되는 실시예들의 소프트웨어 콘텐츠는, 저장된 콘텐츠를 갖는 제조 물품을 통해, 또는 통신 인터페이스를 통해 데이터를 보내는 통신 인터페이스를 동작하는 방법을 통해, 제공될 수 있다. 머신 판독가능 스토리지 매체는 머신으로 하여금 설명되는 기능 또는 동작을 수행하게 할 수 있고, 기록가능/기록불가능 매체(예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 디스크 스토리지 매체, 광 스토리지 매체, 플래시 메모리 디바이스 등)와 같은, 며신(예를 들어, 컴퓨팅 디바이스, 전자 시스템 등)에 의해 액세스가능한 형태로 정보를 저장하는 임의의 메커니즘을 포함한다. 통신 인터페이스는, 메모리 버스 인터페이스, 프로세서 버스 인터페이스, 인터넷 접속, 디스크 제어기등과 같은, 다른 디바이스에 통신하는 하드와이어드, 무선, 광 등의 매체 중 임의의 것에 인터페이스하는 임의의 메커니즘을 포함한다. 이러한 통신 인터페이스는 소프트웨어 콘텐츠를 설명하는 데이터 신호를 제공하는 통신 인터페이스를 마련하기 위해 구성 파라미터들을 제공하는 것 및/또는 신호들을 보내는 것에 의해 구성될 수 있다. 통신 인터페이스는 통신 인터페이스에 보내어지는 하나 이상의 커맨드들 또는 신호들을 통해 액세스될 수 있다.
본 명세서에 설명되는 다양한 컴포넌트들은 설명되는 동작들 또는 기능들을 수행하는 수단일 수 있다. 본 명세서에 설명되는 각각의 컴포넌트는, 소프트웨어, 하드웨어, 또는 이들의 조합을 포함한다. 이러한 컴포넌트들은, 소프트웨어 모듈들, 하드웨어 모듈들, 특수 목적 하드웨어(예를 들어, 애플리케이션 특정 하드웨어, ASIC들(Application Specific Integrated Circuits), DSP들(Digital Signal Processors) 등), 임베디드 제어기, 하드와이어드 회로(hardwired circuitry) 등으로서 구현될 수 있다.
본 명세서에 설명된 것 외에도, 본 발명의 개시된 실시예들 및 구현들에 대해 그 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있다. 따라서, 본 명세서에서의 예시들 및 예들은 한정적 의미가 아니라 예시적 의미로 해석되어야 한다. 본 발명의 범위는 오직 이하의 청구항들을 참조하여 측정되어야 한다.

Claims (23)

  1. 부정합형 통신 아키텍처를 갖는 장치로서,
    제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로; 및
    상기 샘플링 회로에 스트로브 신호를 제공하도록 제2 증폭기로부터 상기 샘플링 회로까지 연결되는 클럭 분배 네트워크 - 상기 제2 증폭기는 상기 제1 증폭기에 정합되지 않음 -
    를 포함하는 부정합형 수신기 회로; 및
    상기 제2 증폭기에 정합되는 제3 증폭기;
    일 주기의 시간 동안 발진들을 카운트하는 카운터;
    상기 제3 증폭기로부터 상기 카운터까지 연결되는 복제본 클럭 분배 네트워크 - 상기 복제본 클럭 분배 네트워크는 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크의 복제본임 -; 및
    클럭 분배 회로로부터 상기 제3 증폭기까지의 피드백 경로
    를 포함하는 링 발진기 회로
    를 포함하는 장치.
  2. 제1항에 있어서,
    상기 데이터 경로는 상기 제1 증폭기 및 상기 샘플링 회로를 포함하는 샘플링 증폭기를 포함하는 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 클럭 분배 네트워크는 H-트리(H-tree) 클럭 분배 네트워크를 포함하는 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 부정합형 수신기 회로 및 상기 링 발진기 회로는 단일 집적 회로 다이 상에 집적되는 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 복제본 클럭 분배 네트워크는 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크의 등가 회로인 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 피드백 경로는 상기 링 발진기 회로의 응답 시간을 조절하기 위해 튜닝가능한 RC 회로를 포함하는 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 링 발진기 회로에서의 상기 카운터에 의해 카운트되는 발진들의 수에 기초하여 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크에 대한 지연 조절을 계산하는 로직을 더 포함하는 장치.
  8. 제7항에 있어서,
    수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 메모리 디바이스를 더 포함하고, 상기 로직은 실시간 나눗셈을 수행하지 않고 상기 값에 의해 상기 지연 조절을 계산하는 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 상기 송신 디바이스로 하여금 자신의 출력 신호의 타이밍을 상기 수신기 회로에 대해 조절하게 하는 로직을 더 포함하는 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 상기 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터 신호들을 수신하기 위해 조절하게 하는 로직을 더 포함하는 장치.
  11. 부정합형 수신기 회로를 갖는 메모리 디바이스를 갖는 전자 디바이스로서,
    프로세서를 포함하는 하드웨어 플랫폼;
    상기 하드웨어 플랫폼 상의 메모리 제어기 디바이스로부터 통신을 수신하는 상기 하드웨어 플랫폼 상의 메모리 디바이스; 및
    상기 메모리 디바이스로부터 액세스되는 데이터에 기초하여 디스플레이를 생성하도록 연결되는 터치스크린 디스플레이
    를 포함하고,
    상기 메모리 디바이스는,
    제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로; 및
    상기 샘플링 회로에 스트로브 신호를 제공하도록 제2 증폭기로부터 상기 샘플링 회로까지 연결되는 클럭 분배 네트워크 - 상기 제2 증폭기는 상기 제1 증폭기에 정합되지 않음 -
    를 포함하는 부정합형 수신기 회로; 및
    상기 제2 증폭기에 정합되는 제3 증폭기;
    일 주기의 시간 동안 발진들을 카운트하는 카운터; 및
    상기 제3 증폭기로부터 상기 카운터까지 연결되는 복제본 클럭 분배 네트워크 - 상기 복제본 분배 네트워크는 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크의 등가 회로임 -
    를 포함하는 링 발진기 회로
    를 포함하는 전자 디바이스.
  12. 부정합형 수신기 회로와 통신하는 방법으로서,
    복제본 클럭 분배 네트워크를 통해 발진을 초래하기 위해 상기 복제본 클럭 분배 네트워크의 출력으로부터 복제본 증폭기의 입력까지 신호를 피드백하는 단계 - 상기 복제본 클럭 분배 네트워크는 부정합형 수신기 회로의 클럭 분배 네트워크의 복제본이고, 상기 복제본 증폭기는 상기 부정합형 수신기 회로의 샘플링 증폭기의 복제본이며, 상기 복제본 증폭기의 출력은 상기 클럭 분배 네트워크에 대한 입력임 -;
    상기 복제본 클럭 분배 네트워크를 통한 발진들의 수를 일 주기의 시간 동안 카운터에 의해 카운트하는 단계;
    상기 복제본 클럭 분배 네트워크를 통한 지연에서의 변화를 계산하는 단계; 및
    상기 복제본 클럭 분배 네트워크를 통한 상기 지연에 기초하여 송신기 소스 클럭과 상기 부정합형 수신기 회로 사이의 지연을 조절하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서,
    상기 복제본 클럭 분배 네트워크의 출력으로부터 상기 신호를 피드백하는 단계는 제1 증폭기 및 샘플링 회로를 포함하는 데이터 경로를 복제하는 클럭 분배 네트워크로부터 상기 신호를 피드백하는 단계를 포함하는 방법.
  14. 제12항 또는 제13항에 있어서,
    상기 복제본 클럭 분배 네트워크의 출력으로부터 상기 신호를 피드백하는 단계는 H-트리 클럭 분배 네트워크를 복제하는 클럭 분배 네트워크로부터 상기 신호를 피드백하는 단계를 포함하는 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    발진들의 수를 카운트하는 단계는 상기 부정합형 수신기 회로와 단일 집적 회로 다이 상에 집적되는 링 발진기 회로에 의해 수행되는 방법.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서,
    상기 복제본 클럭 분배 네트워크를 통해 상기 신호를 피드백하는 단계는 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크의 등가 회로를 통해 상기 신호를 피드백하는 단계를 포함하는 방법.
  17. 제12항 내지 제16항 중 어느 한 항에 있어서,
    상기 부정합형 수신기 회로의 환경적 조건들을 변경하는 것에 기초하여 상기 피드백의 응답을 조절하도록 상기 복제본 클럭 분배 네트워크의 출력으로부터 상기 복제본 증폭기의 입력까지 피드백하는 경로에 있는 RC 회로를 튜닝하는 단계를 더 포함하는 방법.
  18. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 카운터에 의해 카운트되는 발진들의 수에 기초하여 상기 부정합형 수신기 회로의 상기 클럭 분배 네트워크에 대한 지연 조절을 계산하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서,
    수들의 미리 계산된 나눗셈을 나타내는 값을 저장하는 단계; 및
    실시간 나눗셈을 수행하지 않고 상기 값에 의해 상기 지연 조절을 계산하는 단계
    를 더 포함하는 방법.
  20. 제12항 내지 제19항 중 어느 한 항에 있어서,
    상기 카운터에 의해 카운트되는 발진들의 수를 송신 디바이스에 통신하여 상기 통신 디바이스로 하여금 자신의 출력 신호의 타이밍을 상기 수신기 회로에 대해 조절하게 하는 단계를 더 포함하는 방법.
  21. 제12항 내지 제20항 중 어느 한 항에 있어서,
    상기 카운터에 의해 카운트되는 발진들의 수를 수신기 디바이스에 통신하여 상기 수신기 디바이스로 하여금 자신의 신호 처리 파라미터들의 타이밍을 송신기 회로로부터 신호들을 수신하기 위해 조절하게 하는 단계를 더 포함하는 방법.
  22. 제12항 내지 제21항 중 어느 한 항에 따른 방법을 실행하는 동작들을 수행하는 수단을 포함하는, 부정합형 수신기 회로와 통신하는 장치.
  23. 콘텐츠를 저장하는 컴퓨터 판독가능 스토리지 매체 - 상기 콘텐츠는 실행될 때 제12항 내지 제21항 중 어느 한 항에 따른 방법을 실행하는 동작들을 수행함 - 를 포함하는 제조 물품.
KR1020157033904A 2013-07-01 2014-07-01 부정합형 신호 수신기에 대한 타이밍 제어 KR101876619B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361841857P 2013-07-01 2013-07-01
US61/841,857 2013-07-01
US14/038,537 2013-09-26
US14/038,537 US9658642B2 (en) 2013-07-01 2013-09-26 Timing control for unmatched signal receiver
PCT/US2014/045091 WO2015002973A1 (en) 2013-07-01 2014-07-01 Timing control for unmatched signal receiver

Publications (2)

Publication Number Publication Date
KR20160003811A true KR20160003811A (ko) 2016-01-11
KR101876619B1 KR101876619B1 (ko) 2018-07-09

Family

ID=52115588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157033904A KR101876619B1 (ko) 2013-07-01 2014-07-01 부정합형 신호 수신기에 대한 타이밍 제어

Country Status (8)

Country Link
US (2) US9658642B2 (ko)
EP (2) EP3291237A1 (ko)
JP (2) JP6179836B2 (ko)
KR (1) KR101876619B1 (ko)
CN (2) CN108052479B (ko)
BR (1) BR112015030050B1 (ko)
RU (1) RU2632406C2 (ko)
WO (1) WO2015002973A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582374B2 (en) * 2009-12-15 2013-11-12 Intel Corporation Method and apparatus for dynamically adjusting voltage reference to optimize an I/O system
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
KR20160041318A (ko) * 2014-10-07 2016-04-18 에스케이하이닉스 주식회사 스트로브 신호 인터벌 검출 회로 및 이를 이용한 메모리 시스템
US10199082B2 (en) 2016-01-18 2019-02-05 Avago Technologies International Sales Pte. Limited Automatic delay-line calibration using a replica array
US10218360B2 (en) * 2016-08-02 2019-02-26 Altera Corporation Dynamic clock-data phase alignment in a source synchronous interface circuit
US20180059785A1 (en) * 2016-08-23 2018-03-01 International Business Machines Corporation Remote Control Via Proximity Data
US20180058846A1 (en) * 2016-08-23 2018-03-01 International Business Machines Corporation Remote Control Via Proximity Data
US9984740B1 (en) 2017-03-21 2018-05-29 Micron Technology, Inc. Timing control for input receiver
KR102499037B1 (ko) 2018-01-10 2023-02-13 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20200046245A (ko) 2018-10-24 2020-05-07 삼성전자주식회사 메모리 모듈 및 메모리 시스템의 동작 방법
KR20200053219A (ko) * 2018-11-08 2020-05-18 에스케이하이닉스 주식회사 복수의 클럭 경로를 포함하는 반도체 장치 및 시스템
US11175836B2 (en) 2019-03-01 2021-11-16 Qualcomm Incorporated Enhanced data clock operations in memory
JP2021150843A (ja) 2020-03-19 2021-09-27 キオクシア株式会社 半導体集積回路、受信装置、及び受信装置の制御方法
CN113468840B (zh) * 2020-03-30 2024-05-28 创意电子股份有限公司 时序模型的建立方法
KR20220006927A (ko) 2020-07-09 2022-01-18 삼성전자주식회사 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치, 및 메모리 시스템
US11726721B2 (en) * 2020-09-09 2023-08-15 Samsung Electronics Co., Ltd. Memory device for adjusting delay on data clock path, memory system including the memory device, and operating method of the memory system
KR20230134388A (ko) 2022-03-14 2023-09-21 에스케이하이닉스 주식회사 반도체장치
EP4325492A4 (en) 2022-07-08 2024-03-13 Changxin Memory Technologies, Inc. CONTROL DEVICE, MEMORY, SIGNAL PROCESSING METHOD AND ELECTRONIC DEVICE

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519086A (en) * 1982-06-16 1985-05-21 Western Digital Corporation MOS Phase lock loop synchronization circuit
JPH10340222A (ja) * 1997-06-09 1998-12-22 Nec Corp メモリ装置の入力回路及び出力回路
US6137327A (en) * 1998-11-25 2000-10-24 Siemens Aktiengesellschaft Delay lock loop
RU2193821C2 (ru) * 2000-04-27 2002-11-27 Государственное акционерное общество "Конструкторское бюро "Днепровское" Способ ответвления каналов и устройство для его осуществления
JP2002358782A (ja) * 2001-05-31 2002-12-13 Nec Corp 半導体記憶装置
US6509771B1 (en) * 2001-12-14 2003-01-21 International Business Machines Corporation Enhanced operational frequency for a precise and programmable duty cycle generator
US7000065B2 (en) * 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US6956442B2 (en) * 2003-09-11 2005-10-18 Xilinx, Inc. Ring oscillator with peaking stages
KR100546135B1 (ko) * 2004-05-17 2006-01-24 주식회사 하이닉스반도체 지연 고정 루프를 포함하는 메모리 장치
KR100574989B1 (ko) * 2004-11-04 2006-05-02 삼성전자주식회사 데이터 스트로브 버스라인의 효율을 향상시키는메모리장치 및 이를 구비하는 메모리 시스템, 및 데이터스트로브 신호 제어방법
JP4309368B2 (ja) * 2005-03-30 2009-08-05 エルピーダメモリ株式会社 半導体記憶装置
US7355482B2 (en) 2006-02-17 2008-04-08 Seiko Epson Corporation Methods and apparatus for compensating a variable oscillator for process, voltage, and temperature variations using a replica oscillator
US7647476B2 (en) 2006-03-14 2010-01-12 Intel Corporation Common analog interface for multiple processor cores
US8121237B2 (en) 2006-03-16 2012-02-21 Rambus Inc. Signaling system with adaptive timing calibration
US7602056B2 (en) 2006-06-14 2009-10-13 Intel Corporation On-die termination method for multi-chip packages
KR101206503B1 (ko) * 2006-06-30 2012-11-29 삼성전자주식회사 스큐 제거 회로 및 그에 의한 스큐 제거 방법
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US7716001B2 (en) 2006-11-15 2010-05-11 Qualcomm Incorporated Delay line calibration
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
US7482888B1 (en) * 2007-07-12 2009-01-27 Zerog Wireless, Inc. Fast startup resonant element oscillator
US20100263243A2 (en) * 2008-03-03 2010-10-21 Michael Sayre Greeting card with sliding panel activation
JP5384910B2 (ja) * 2008-11-11 2014-01-08 ルネサスエレクトロニクス株式会社 半導体集積回路及びクロック同期化制御方法
JP2012515376A (ja) 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
US8819474B2 (en) 2009-04-03 2014-08-26 Intel Corporation Active training of memory command timing
KR101585213B1 (ko) 2009-08-18 2016-01-13 삼성전자주식회사 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템
US8331176B2 (en) 2009-11-30 2012-12-11 Intel Corporation Method and system for evaluating effects of signal phase difference on a memory system
US8582374B2 (en) 2009-12-15 2013-11-12 Intel Corporation Method and apparatus for dynamically adjusting voltage reference to optimize an I/O system
US8868992B2 (en) 2009-12-31 2014-10-21 Intel Corporation Robust memory link testing using memory controller
JP2011142566A (ja) * 2010-01-08 2011-07-21 Elpida Memory Inc 半導体装置
US9384152B2 (en) * 2010-02-23 2016-07-05 Rambus Inc. Coordinating memory operations using memory-device generated reference signals
US8930740B2 (en) * 2010-02-23 2015-01-06 Rambus Inc. Regulation of memory IO timing using programmatic control over memory device IO timing
KR101079209B1 (ko) * 2010-04-28 2011-11-03 주식회사 하이닉스반도체 반도체 시스템의 데이터 송수신 장치 및 방법
US9923711B2 (en) 2010-04-30 2018-03-20 Rambus Inc. Low power edge and data sampling
US9401225B2 (en) * 2010-11-19 2016-07-26 Rambus Inc. Timing-drift calibration
US8711603B2 (en) * 2012-05-11 2014-04-29 Micron Technology, Inc. Permutational memory cells
US9507408B2 (en) 2012-09-27 2016-11-29 Intel Corporation Power gating for termination power supplies
US8929157B2 (en) 2012-11-19 2015-01-06 Intel Corporation Power efficient, single-ended termination using on-die voltage supply
US20140176215A1 (en) * 2012-12-21 2014-06-26 Samsung Electronics Co., Ltd. Method of implementing clock skew and integrated circuit adopting the same
US9026725B2 (en) 2012-12-27 2015-05-05 Intel Corporation Training for command/address/control/clock delays under uncertain initial conditions and for mapping swizzled data to command/address signals
US9196384B2 (en) 2012-12-28 2015-11-24 Intel Corporation Memory subsystem performance based on in-system weak bit detection
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver

Also Published As

Publication number Publication date
CN105264605B (zh) 2019-03-08
US10324490B2 (en) 2019-06-18
JP2016526724A (ja) 2016-09-05
JP6409249B2 (ja) 2018-10-24
CN108052479B (zh) 2021-03-26
KR101876619B1 (ko) 2018-07-09
EP3291237A1 (en) 2018-03-07
US9658642B2 (en) 2017-05-23
RU2632406C2 (ru) 2017-10-04
EP3017449B1 (en) 2018-09-12
JP2017208118A (ja) 2017-11-24
EP3017449A1 (en) 2016-05-11
US20170287539A1 (en) 2017-10-05
BR112015030050B1 (pt) 2021-02-09
BR112015030050A2 (pt) 2017-07-25
CN108052479A (zh) 2018-05-18
WO2015002973A1 (en) 2015-01-08
JP6179836B2 (ja) 2017-08-16
CN105264605A (zh) 2016-01-20
EP3017449A4 (en) 2017-02-08
US20150003574A1 (en) 2015-01-01
RU2015151605A (ru) 2017-06-06

Similar Documents

Publication Publication Date Title
KR101876619B1 (ko) 부정합형 신호 수신기에 대한 타이밍 제어
KR102024682B1 (ko) 부정합형 신호 수신기에 대한 주기적 트레이닝
JP6295486B2 (ja) I/oドライバ送信振幅制御
KR101921971B1 (ko) I/o ac 타이밍을 위한 듀티 사이클 기반 타이밍 마지닝
CN110800060B (zh) 双倍数据速率同步动态随机存取存储器数据选通信号校准
TWI520626B (zh) 麥克風的接腳偵測電路與其方法
CN117497021A (zh) 在ddr5 dram中调整到锁存路径的指令延迟
US9710323B2 (en) Delay-compensated error indication signal
US9348356B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US20190189226A1 (en) Link training mechanism by controlling delay in data path

Legal Events

Date Code Title Description
A201 Request for examination
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