KR102384880B1 - 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션 - Google Patents

소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션 Download PDF

Info

Publication number
KR102384880B1
KR102384880B1 KR1020177012788A KR20177012788A KR102384880B1 KR 102384880 B1 KR102384880 B1 KR 102384880B1 KR 1020177012788 A KR1020177012788 A KR 1020177012788A KR 20177012788 A KR20177012788 A KR 20177012788A KR 102384880 B1 KR102384880 B1 KR 102384880B1
Authority
KR
South Korea
Prior art keywords
clock
data
delay
delay unit
unit
Prior art date
Application number
KR1020177012788A
Other languages
English (en)
Other versions
KR20170083046A (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 KR20170083046A publication Critical patent/KR20170083046A/ko
Application granted granted Critical
Publication of KR102384880B1 publication Critical patent/KR102384880B1/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
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/14Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of delay lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)

Abstract

일례로, 제어 디바이스(104)는 데이터 경로(322), 클록 경로(324), 멀티플렉싱 회로(315), 및 캘리브레이션 유닛(302)을 포함한다. 데이터 경로는 샘플링 회로(319)의 데이터 입력에 결합된 데이터 지연 유닛(310)을 포함한다. 클록 경로는 샘플링 회로의 클록 입력에 결합된 클록 지연 유닛(312)을 포함한다. 멀티플렉싱 회로는 레퍼런스 클록 또는 데이터 버스를 데이터 지연 유닛의 입력에 선택적으로 결합시키고, 레퍼런스 클록 또는 소스 클록을 클록 지연 유닛의 입력에 선택적으로 결합한다. 캘리브레이션 유닛은 샘플링 회로의 데이터 출력에 결합된다. 캘리브레이션 유닛은, 데이터 경로와 클록 경로 사이에 상대적 지연을 확립하고 유지하기 위해서 샘플링 회로의 데이터 출력에 기초하여 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록 동작가능하다.

Description

소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션{CALIBRATION IN A CONTROL DEVICE RECEIVING FROM A SOURCE SYNCHRONOUS INTERFACE}
본 개시내용의 예들은 일반적으로 전자 회로들에 관한 것이며, 특히 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션에 관한 것이다.
SDRAM(synchronous dynamic random access memory)들, 이를테면 DDR(double data rate) SDRAM 메모리들은 이들의 성능 및 밀도로 인해 대중적이다. 메모리 칩들의 실제 공간량(amount of real estate)을 감소시키기 위해서, 장치들을 제어하는 부담의 상당 부분이 메모리 제어 디바이스로 오프로딩되었다. 이들 메모리 제어 디바이스들은 마이크로 프로세서, ASIC(application specific integrated circuit)들, FPGA(field programmable gate array) 디바이스들 등에 상주할 수 있거나, 또는 대안으로 SDRAM 메모리들을 제어하기 위해만 전용되는 디바이스들 상에 상주할 수 있다. SDRAM 메모리는, 데이터 버스에 병렬로 소스 클록을 제공하는 소스 동기식 인터페이스를 포함한다.
소스 동기식 인터페이스로부터 수신할 경우, 데이터 버스 상의 스큐와 소스 클록과 데이터 버스 사이의 스큐는 강인한 데이터 획득에 대해 도전과제를 제공한다. 이러한 스큐는 소스 클록에 의한 데이터 버스의 샘플링을 위해 데이터 아이(data eye)의 유효 사이즈를 감소시킬 수 있다. 스큐를 보상하기 위한 하나의 기술은 제어 디바이스의 구현 동안 데이터 및 클록 경로들의 지연을 매칭시키려고 시도하는 것을 포함한다. 그러나, 이러한 기술은, 설계에도 불구하고 데이터 및 클록 경로들의 지연에 변화를 일으킬 수 있는 OCV(on-chip variation)를 겪는다. 또한, 이러한 기술은 특정 전압 및 온도(VT) 포인트로 제한된다. 디바이스 동작 동안 VT 포인트가 변하기 때문에, 데이터 및 클록 경로들의 지연은 설계에도 불구하고 변한다.
소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션을 위한 기술들이 설명된다. 일례에서, 데이터 버스와 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스가 제공된다. 제어 디바이스는 데이터 경로, 클록 경로, 멀티플렉싱 회로 및 캘리브레이션 유닛을 포함한다. 데이터 경로는 샘플링 회로의 데이터 입력에 결합된 데이터 지연 유닛을 포함한다. 클록 경로는 샘플링 회로의 클록 입력에 결합된 클록 지연 유닛을 포함한다. 멀티플렉싱 회로는 레퍼런스 클록 또는 데이터 버스를 데이터 지연 유닛의 입력에 선택적으로 결합시키고, 레퍼런스 클록 또는 소스 클록을 클록 지연 유닛의 입력에 선택적으로 결합시키도록 동작가능하다. 캘리브레이션 유닛은 샘플링 회로의 데이터 출력에 결합된다. 캘리브레이션 유닛은, 데이터 경로와 클록 경로 사이에 상대적 지연을 확립하고 유지하기 위해서 샘플링 회로의 데이터 출력에 기초하여 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록 동작가능하다.
선택적으로, 캘리브레이션 유닛은, 제 1 모드에서 레퍼런스 클록을 데이터 지연 유닛 및 클록 지연 유닛 둘 모두의 입력들에 결합시키고, 그리고 제 2 모드에서 데이터 버스를 데이터 지연 유닛의 입력에 그리고 소스 클록을 클록 지연 유닛의 입력에 결합시키도록, 멀티플렉싱 회로를 제어하도록 동작가능하다.
선택적으로, 제 1 모드에 있는 동안, 캘리브레이션 유닛은, 데이터 경로 및 클록 경로 상에서 신호들을 정렬(align)하고 클록 지연 유닛의 출력을 90도 만큼 시프트시키기 위해서, 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정한다.
선택적으로, 제 1 모드에 있는 동안, 캘리브레이션 유닛은 데이터 경로 및 클록 경로 상의 신호들을 정렬하기 위해서 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하고, 제 2 모드에 있는 동안, 캘리브레이션 유닛은 소스 클록을 데이터 버스의 데이터 아이에 센터링하기 위해서 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정한다.
선택적으로, 데이터 버스는 복수의 데이터 신호들을 포함할 수 있고, 데이터 지연 유닛은 각각의 복수의 데이터 신호들과 연관된 복수의 디지털 지연 라인들을 포함한다.
선택적으로, 제 1 모드에 있는 동안, 캘리브레이션 유닛은 복수의 데이터 신호들을 정렬하기 위해 복수의 디지털 지연 라인들의 탭 값들을 조정한다.
선택적으로, 제어 디바이스는 레퍼런스 클록을 수신하도록 결합된 입력을 갖는 마스터 지연 유닛 및 마스터 지연 유닛의 출력에 따라 레퍼런스 클록을 샘플링하도록 결합된 플립-플롭을 더 포함할 수 있다. 캘리브레이션 유닛은 플립-플롭의 데이터 출력에 결합될 수 있고, 캘리브레이션 유닛은 마스터 지연 유닛의 출력 및 레퍼런스 클록을 정렬하고, 마스터 지연 유닛의 출력과 레퍼런스 클록 사이의 마스터 상대적 지연을 확립하고, 그리고 마스터 상대적 지연을 유지하기 위해 마스터 지연 유닛의 지연 값을 조정하도록 동작가능할 수 있다.
선택적으로, 캘리브레이션 유닛은, 마스터 지연 유닛의 지연 값 대 데이터 지연 유닛과 클록 지연 유닛의 지연 값들의 비들을 유지하기 위해서 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정함으로써, 데이터 경로와 클록 경로 사이에 상대적 지연을 유지하도록 동작가능할 수 있다.
선택적으로, 제어 디바이스는 레퍼런스 클록을 수신하도록 결합된 입력과 플립-플롭의 데이터 입력에 결합된 출력을 갖는 고정 지연 회로를 더 포함할 수 있다.
선택적으로, 소스 동기식 인터페이스는 SDRAM(synchronous dynamic random access memory) 인터페이스를 포함하고, 제어 디바이스는 SDRAM 인터페이스를 갖는 SDRAM 시스템에 결합된 IC(integrated circuit)에 배치된다.
다른 예에서, 시스템은 메모리 제어 디바이스에 결합된 SDRAM(synchronous dynamic random access memory) 시스템을 포함한다. SDRAM 시스템은 데이터 버스 및 소스 클록을 포함한다. 메모리 제어 디바이스는 샘플링 회로, 데이터 지연 유닛, 클록 지연 유닛, 멀티플렉싱 회로, 및 캘리브레이션 유닛을 포함한다. 데이터 지연 유닛은 샘플링 회로의 데이터 입력에 결합된다. 클록 지연 유닛은 샘플링 회로의 클록 입력에 결합된다. 멀티플렉싱 회로는 레퍼런스 클록 또는 데이터 버스를 데이터 지연 유닛의 입력에 선택적으로 결합시키고, 레퍼런스 클록 또는 소스 클록을 클록 지연 유닛의 입력에 선택적으로 결합시키도록 동작가능하다. 캘리브레이션 유닛은 샘플링 회로의 데이터 출력에 결합된다. 캘리브레이션 유닛은, 데이터 지연 유닛과 클록 지연 유닛의 출력들 사이에 상대적 지연을 확립하고 유지하기 위해서 샘플링 회로의 데이터 출력에 기초하여 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록 동작가능하다.
선택적으로, 캘리브레이션 유닛은, 제 1 모드에서 레퍼런스 클록을 데이터 지연 유닛 및 클록 지연 유닛 둘 모두의 입력들에 결합시키도록 멀티플렉싱 회로를 제어하고, 그리고 제 1 모드에 있는 동안, 데이터 지연 유닛 및 클록 지연 유닛의 출력들을 정렬하고 클록 지연 유닛의 출력을 90도만큼 시프트시키기 위해 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록 동작가능할 수 있다.
선택적으로, 캘리브레이션 유닛은, 제 1 모드에서 레퍼런스 클록을 데이터 지연 유닛 및 클록 지연 유닛 둘 모두의 입력들에 결합시키도록 멀티플렉싱 회로를 제어하고, 그리고 제 1 모드에 있는 동안, 신호 정렬을 위해 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록ㄴ 동작가능할 수 있다. 캘리브레이션 유닛은 또한, 제 2 모드에서 데이터 버스를 데이터 지연 유닛의 입력에 그리고 소스 클록을 클록 지연 유닛의 입력에 결합시키도록 멀티플렉싱 회로를 제어하고, 제 2 모드에 있는 동안, 데이터 버스의 데이터 아이에 소스 클록을 센터링하기 위해 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하도록 동작가능할 수 있다.
선택적으로, 데이터 버스는 복수의 데이터 신호들을 더 포함할 수 있고, 데이터 지연 유닛은 각각의 복수의 데이터 신호들과 연관된 복수의 디지털 지연 라인들을 포함한다. 제 1 모드에 있는 동안, 캘리브레이션 유닛은 복수의 데이터 신호들을 정렬하기 위해 복수의 디지털 지연 라인들의 탭 값들을 조정하도록 동작가능할 수 있다.
선택적으로, 메모리 제어 디바이스는 레퍼런스 클록을 수신하도록 결합된 입력을 갖는 마스터 지연 유닛 및 마스터 지연 유닛의 출력에 따라 레퍼런스 클록을 샘플링하도록 결합된 플립-플롭을 더 포함할 수 있다. 캘리브레이션 유닛은 플립-플롭의 데이터 출력에 결합될 수 있고, 캘리브레이션 유닛은, 마스터 지연 유닛의 출력 및 레퍼런스 클록을 정렬하고; 마스터 지연 유닛의 출력과 레퍼런스 클록 사이의 마스터 상대적 지연을 확립하고 마스터 상대적 지연을 유지하기 위해 마스터 지연 유닛의 지연 값을 조정하고; 그리고 마스터 지연 유닛의 지연 값 대 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들의 비(ratio)들을 유지하기 위해 데이터 지연 유닛과 클록 지연 유닛의 지연 값들을 조정함으로써 데이터 경로와 클록 경로 사이에 상대적 지연을 유지하도록 동작가능할 수 있다.
다른 예로, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법은, 레퍼런스 클록을 데이터 경로 및 클록 경로에 결합하는 단계 ―데이터 경로는 샘플링 회로의 데이터 입력에 결합된 데이터 지연 유닛을 포함하고, 클록 경로는 샘플링 회로의 클록 입력에 결합된 클록 지연 유닛을 포함함―; 데이터 경로와 클록 경로 사이에 상대적 지연을 확립하도록 데이터 지연 유닛 및 클록 지연 유닛을 제어하는 단계; 데이터 버스를 데이터 경로에 그리고 소스 클록을 클록 경로에 결합하는 단계; 및 데이터 경로와 클록 경로 사이에 상대적 지연을 유지하도록 데이터 지연 유닛 및 클록 지연 유닛을 제어하는 단계를 포함한다.
선택적으로, 데이터 경로와 클록 경로 사이에 상대적 지연을 확립하기 위해서 데이터 지연 유닛 및 클록 지연 유닛을 제어하는 것은 데이터 경로 및 클록 경로 상에서 신호들을 정렬하고 클록 지연 유닛의 출력을 90도 만큼 시프트시키도록 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하는 것을 포함할 수 있다.
선택적으로, 데이터 경로와 클록 경로 사이에 상대적 지연을 확립하기 위해서 데이터 지연 유닛 및 클록 지연 유닛을 제어하는 것은 데이터 경로 및 클록 경로 상에서 신호들을 정렬하기 위해 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하는 것, 데이터 버스를 데이터 경로에 그리고 소스 클록을 클록 경로에 결합하는 것 및 데이터 버스의 데이터 아이에 소스 클록을 센터링하기 위해서 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하는 것을 포함할 수 있다.
선택적으로, 방법은 레퍼런스 클록을 마스터 지연 유닛에 결합하는 단계, 마스터 지연 유닛의 출력 및 레퍼런스 클록을 정렬하는 단계, 마스터 지연 유닛의 출력과 레퍼런스 클록 사이의 마스터 상대적 지연을 확립하기 위해 마스터 지연 유닛을 제어하는 단계, 및 마스터 상대적 지연을 유지하기 위해 마스터 지연 유닛의 지연 값을 조정하는 단계를 더 포함할 수 있다. 데이터 경로와 클록 경로 사이에 상대적 지연을 유지하기 위해서 데이터 지연 유닛과 클록 지연 유닛을 제어하는 것은, 마스터 지연 유닛의 지연 값 대 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들의 비들을 유지하기 위해서 데이터 지연 유닛 및 클록 지연 유닛의 지연 값들을 조정하는 것을 포함할 수 있다.
선택적으로, 소스 동기식 인터페이스는 SDRAM(synchronous dynamic random access memory) 인터페이스를 포함할 수 있고, 데이터 경로 및 클록 경로는 SDRAM 인터페이스를 갖는 SDRAM 시스템에 결합된 IC(integrated circuit)에 배치된다.
이들 양상 및 다른 양상이 다음의 상세한 설명을 참조하여 이해될 수 있다.
상기 언급된 피처들이 상세히 이해될 수 있는 방식으로, 상기에 간략히 요약된 보다 구체적인 설명이 예시적인 구현들을 참고하여 설명될 수 있으며, 예시적인 구현들 중 일부는 첨부된 도면들에 도시된다. 그러나, 첨부된 도면들은 단지 통상적인 예시적 구현들만을 도시하고, 따라서, 본 개시내용의 범위를 한정하는 것으로 간주되어서는 안 된다는 것을 주목한다.
도 1은 SDRAM(synchronous dynamic random access memory) 시스템에 결합된 IC(integrated circuit)를 갖는 시스템의 예를 도시하는 블록도이다.
도 2는 메모리 제어 디바이스의 예를 도시하는 블록도이다.
도 3은 소스 동기식 디바이스의 소스 동기식 인터페이스로부터 수신하기 위해 사용되는 타이밍 로직의 예를 도시하는 블록도이다.
도 4a 및 도 4b는 소스 동기식 인터페이스로부터 수신하기 위해 결합된 제어 디바이스의 데이터 및 클록 경로들에 결합된 신호들의 예들을 도시하는 신호 플롯들이다.
도 5는 정렬 및 클록 센터링 이후 소스 동기식 인터페이스로부터 수신하기 위해 결합된 제어 디바이스의 데이터 및 클록 경로들 상의 신호들의 예를 도시하는 신호 플롯들이다.
도 6은 데이터 버스와 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법의 예를 도시하기 위한 흐름도이다.
도 7은 소스 동기식 인터페이스로부터 수신하기 위해 결합된 제어 디바이스의 마스터 지연 유닛을 관리하는 방법의 예를 도시하는 흐름도이다.
이해를 돕기 위해서, 가능한 경우, 도면들에 공통되는 동일한 엘리먼트들을 나타내기 위해 동일한 도면 부호들이 사용되었다. 일 예의 엘리먼트들이 다른 예들에 유리하게 포함될 수 있다는 것이 고려된다.
소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션을 위한 기술들이 설명된다. 일례로, 소스 동기식 인터페이스를 위한 제어 디바이스는, 데이터를 성공적으로 획득하기 위해서 병렬 데이터 버스의 비트들과 그의 소스 동기식 클록 사이의 지연 스큐를 제거한다. 제어 디바이스는, 시스템의 전압, 온도 또는 둘 모두(VT)가 변함에 따라 디-스큐 효과를 유지한다. 제어 디바이스는 데이터 및 클록 경로들을 따라 온-칩 프로세스 변화 및 미스매치의 네거티브 효과들을 제거하므로, 샘플링 회로에 대한 데이터 및 클록 경로들이 지연 매칭된다. VT가 시간에 따라 변화함에 따라, 제어 디바이스는 클록과 데이터 사이에 상대적 지연을 유지한다. 본 개시내용의 이들 양상 및 추가적인 양상이 아래에 설명된다.
도 1은 SDRAM(synchronous dynamic random access memory) 시스템(106)에 결합된 IC(integrated circuit)(102)를 갖는 시스템(100)의 예를 도시하는 블록도이다. IC(102) 및 SDRAM 시스템(106)은 PCB(printed circuit board)(101) 또는 다른 타입의 기판 상에 장착될 수 있다. IC(102)는 메모리 제어 디바이스(104)를 포함한다. 메모리 제어 디바이스(104)는 버스(109)를 통해 SDRAM 시스템(106)에 결합된다. 버스(109)는 PCB(101) 상의 상호접속부를 이용하여 구현된다. 버스(109)는 메모리 제어 디바이스(104)와 SDRAM 시스템(106) 사이에 제어 인터페이스(112)와 소스 동기식 인터페이스(114)를 제공한다. 제어 인터페이스(112)는 어드레스, 커맨드 및 클록 신호들과 같은 제어 신호들을 SDRAM 시스템(106)에 전달한다. 소스 동기식 인터페이스(114)는 데이터 버스(116) 및 소스 클록(118)을 포함한다. SDRAM 시스템(106)의 경우, 데이터 버스(116)는 데이터(DQ) 신호들을 전달하고, 소스 클록(118)은 하나 또는 그 초과의 데이터 스트로브(DQS) 신호들을 포함한다. 버스(109)는 다른 신호들, 이를 테면, 전압 서플라이 신호들을 전달할 수 있다. IC(102)는, 메모리 제어 디바이스(104)에 전용되는 디바이스, 또는 다른 기능부, 이를 테면, 마이크로 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array), SoC(system-on-chip) 등을 갖는 디바이스일 수 있다.
SDRAM 시스템(106)은 하나 또는 그 초과의 SDRAM 디바이스들(110)을 포함한다. SDRAM 디바이스들(110)은 PCB(101)에 부착된 하나 또는 그 초과의 모듈들, 이를테면, 하나 또는 그 초과의 DIMM(dual inline memory module)들 상에 메모리의 하나 또는 그 초과의 랭크들을 제공할 수 있다. 대안으로, SDRAM 디바이스(110)들은 어떤 특정 모듈러 구조 없이 PCB(101)에 장착될 수 있다. 예시적인 SDRAM 디바이스들(110)은 DDR SDRAM 디바이스들(예를 들어, DDR2, DDR3 또는 DDR4 디바이스들)을 포함한다. SDRAM 시스템(106)은, 레지스터들, 제어기들 등(미도시)과 같이 SDRAM 디바이스들(110)의 동작을 지원하는 다른 회로들을 포함할 수 있다.
예를 들어, SDRAM 디바이스들(110) 각각은 8개의 DQ 신호들 및 적어도 하나의 DQS 신호(예를 들어, DQS 신호 및 무효화된 DQS 신호)를 갖는 소스 동기식 인터페이스를 포함할 수 있다. SDRAM 시스템(106)의 랭크는 총 72개의 DQ 신호들 및 적어도 9개의 DQS 신호들을 갖는 소스 동기식 인터페이스를 제공하기 위해 9개의 SDRAM 디바이스들(110)을 포함할 수 있다. SDRAM 디바이스들(110)은 다른 개수의 DQ 및 DQS 신호들과의 소스 동기식 인터페이스들을 가질 수 있고, 랭크들은 상이한 수의 SDRAM 디바이스들을 가질 수 있고, 소스 동기식 인터페이스(114)는 다른 폭들을 가질 수 있다. 예를 들어, 일부 SDRAM 시스템들은 144 DQ 신호들의 폭을 갖는 데이터 버스를 제공한다.
도 2은 메모리 제어 디바이스(104)의 예를 도시하는 블록도이다. 메모리 제어 디바이스(104)는 애플리케이션 인터페이스(202), 메모리 제어기(204), 물리적(PHY) 유닛(210), 및 입/출력(IO) 회로들(216)을 포함한다. 애플리케이션 인터페이스(202)는 다른 회로(미도시)로부터 SDRAM 시스템(106)에 기록될 데이터("기록 데이터")를 수신하고, SDRAM 시스템(106)으로부터 판독된 데이터("판독 데이터")를 다른 회로(미도시)로 제공한다. 애플리케이션 인터페이스(202)는 메모리 제어기(204)로 기록 데이터를 제공한다. 메모리 제어기(204)는 SDRAM 시스템(106)으로 그리고 SDRAM 시스템(106)으로부터 트랜잭션들을 생성한다. 메모리 제어기(204)는 SDRAM 시스템(106)에 기록 데이터를 저장하기 위해 기록 트랜잭션들을 생성하고, SDRAM 시스템(106)으로부터 판독 데이터를 획득하기 위해 판독 트랜잭션들을 생성한다.
IO 회로들(216)은 버스(109) 상에서 신호들을 구동하고, 버스(109)로부터 신호들을 수신하고, 신호들을 정형하는 것 등을 위한 회로들을 포함한다. PHY 유닛(210)은 메모리 제어기(204)와 IO 회로들(216) 사이에서 인터페이스를 제공한다. PHY 유닛(210)은, 제어 인터페이스(112)를 통한 IO 회로들(216)에 의한 송신을 위해 어드레스, 커맨드 및 클록 신호들을 출력한다. PHY 유닛(210)은 데이터를 SDRAM 시스템(106)에 기록하기 위해 소스 동기식 인터페이스(114)를 통해 IO 회로들(216)에 의해 송신하기 위해 DQ 및 DQS 신호들을 출력한다. PHY 유닛(210)은 SDRAM 시스템(106)으로부터 데이터를 판독하기 위해 소스 동기식 인터페이스(114)를 통해 IO 회로들(216)에 의해 수신된 입력 DQ 및 DQS 신호들을 수신한다.
PHY 유닛(210)은 기록 경로 로직(212) 및 판독 경로 로직(214)을 포함한다. 기록 경로 로직(212)은 커맨드들 및 기록 데이터의 SDRAM 시스템(106)으로의 송신에 대한 기록 트랜잭션들을 메모리 제어기(204)로부터 포맷한다. 판독 경로 로직(214)은 SDRAM 시스템(106)으로의 커맨드들의 송신에 대한, 그리고 SDRAM 시스템(106)으로부터의 데이터의 수신에 대한 판독 트랜잭션들을 메모리 제어기(204)로부터 포맷한다. 판독 경로 로직(214)은 소스 동기식 인터페이스(114)로부터의 판독 데이터의 캡처를 제어하기 위한 타이밍 로직(208)을 포함한다. 타이밍 로직(208)은, SDRAM 시스템(106)의 소스 동기식 인터페이스(114)로부터 판독 데이터의 수신 시, 데이터 버스(116) 상의 스큐와 데이터 버스(116)와 소스 클록(118) 사이의 스큐를 보상한다.
도 3은 타이밍 로직(208)의 예를 도시하는 블록도이다. 타이밍 로직(208)은 SDRAM 시스템(106)의 소스 동기식 인터페이스에 대하여 설명되었지만, 임의의 타입의 소스 동기식 디바이스 또는 시스템의 소스 동기식 인터페이스들로부터의 수신을 위해 타이밍 로직(208)이 사용될 수 있다는 것이 아래의 설명으로부터 명백할 것이다. 일례로, 타이밍 로직(208)은 데이터 경로(322), 클록 경로(324), 멀티플렉싱 회로(315), 및 캘리브레이션 유닛(302)을 포함한다. 데이터 경로(322)는 샘플링 회로(319)의 데이터 입력에 결합된 데이터 지연 유닛(310)을 포함한다. 클록 경로(324)는 샘플링 회로(319)의 클록 입력에 결합된 클록 지연 유닛(312)을 포함한다. 데이터 경로(322)는 N 비트 폭이며, 여기서, N은 0 보다 큰 정수이고 데이터 버스(116)의 폭에 대응한다. 데이터 지연 유닛(310)은, 데이터 경로(322) 상의 각각의 신호에 대해 하나 씩, N개의 디지털 지연 라인들(디지털 지연 라인(들)(311))을 포함할 수 있다. 클록 지연 유닛(312)은 클록 경로(324) 상의 신호에 대한 디지털 지연 라인(313)을 포함할 수 있다. 데이터 경로(322)는 또한, 멀티플렉싱 회로(315)와 데이터 지연 유닛(310) 사이에서, 그리고 데이터 지연 유닛(310)과 샘플링 회로(319) 사이에서 신호들을 라우팅하기 위한 컨덕터들(화살표들에 의해 개략적으로 도시됨)을 포함한다. 클록 경로(324)는 또한, 멀티플렉싱 회로(315)와 클록 지연 유닛(312) 사이에서, 그리고 클록 지연 유닛(312)과 샘플링 회로(319) 사이에서 신호를 라우팅하기 위한 컨덕터들(화살표들에 의해 개략적으로 도시됨)을 포함한다.
샘플링 회로(319)의 데이터 출력이 캘리브레이션 유닛에 결합된다. 샘플링 회로(319)의 데이터 출력은 데이터 경로(322)의 폭에 대응하는 N-비트들 폭이다. 샘플링 회로(319)는, 데이터 경로(322) 상의 각각의 신호에 대해 하나 씩, N개의 플립-플롭들(플립-플롭(들)(320))을 포함할 수 있다. 클록 지연 유닛(312)의 출력은 플립-플롭(들)(320) 각각의 클록 입력에 결합된다.
멀티플렉싱 회로(315)는 멀티플렉서(314) 및 멀티플렉서(316)를 포함한다. 멀티플렉서(314)는 소스 동기식 인터페이스(114)의 데이터 버스(116)에 결합된 입력들 및 클록 소스(304)에 의해 생성된 레퍼런스 클록을 포함한다. 멀티플렉서(314)의 입력들은 N-비트들 폭이며, 여기서, 하나의 입력이 데이터 버스(116)의 N개의 신호들을 수신하고, 다른 입력은 레퍼런스 클록에 연결된다. 데이터 경로(322)로 결합될 데이터 버스(116) 또는 레퍼런스 클록 중 어느 하나를 선택하기 위해서 캘리브레이션 유닛(302)이 멀티플렉서(314)의 제어 입력에 결합된다. 멀티플렉서(316)는 소스 동기식 인터페이스(114)의 소스 클록(118)에 결합된 입력들 및 레퍼런스 클록을 포함한다. 캘리브레이션 유닛(302)이 멀티플렉서(316)의 제어 입력에 결합되어 소스 클록(118) 또는 레퍼런스 클록 중 어느 하나가 클록 경로(324)에 결합될지를 선택한다. 멀티플렉싱 회로(315)는 IO 회로들(216)을 통해 데이터 버스(116) 및 소스 클록(118)으로부터 신호들을 수신할 수 있다.
일례로, 타이밍 로직(208)은 또한 플립-플롭(318)의 클록 포트에 결합된 마스터 지연 유닛(308)을 포함한다. 마스터 지연 유닛(308)은 디지털 지연 라인(309)을 포함할 수 있다. 마스터 지연 유닛(308)은 레퍼런스 클록을 수신하도록 결합된 입력을 포함한다. 플립-플롭(318)의 데이터 입력이 레퍼런스 클록을 수신하기 위해 결합된다. 일례로, 플립-플롭(318)의 데이터 입력이, 고정 지연을 레퍼런스 클록에 적용하는 고정 지연 회로(306)의 출력에 결합될 수 있다. 플립-플롭(318)의 데이터 출력이 캘리브레이션 유닛(302)에 결합된다.
캘리브레이션 유닛(302)은 마스터 지연 유닛(308), 데이터 지연 유닛(310), 및 클록 지연 유닛(312)의 입력들을 제어하도록 결합된다. 캘리브레이션 유닛(302)은, 샘플링 회로(319) 및 플립-플롭(318)의 데이터 출력들에 기초하여, 마스터 지연 유닛(308), 데이터 지연 유닛(310), 및 클록 지연 유닛(312)의 지연 값들을 셋팅한다. 예를 들어, 캘리브레이션 유닛(302)은 디지털 지연 라인(309), 디지털 지연 라인(들)(311), 및 디지털 지연 라인(313)의 탭 값들을 셋팅할 수 있다. 캘리브레이션 유닛(302)은, 플립-플롭(318) 및 샘플링 회로(319)의 데이터 출력들에 대한 응답으로 지연 값들(328)을 출력하는 하나 또는 그 초과의 상태 머신들(상태 머신(들)(326))을 포함할 수 있다.
동작 시, 캘리브레이션 유닛(302)은, 데이터 트랜젝션들(예를 들어, SDRAM 시스템(106)에 대한 판독 트랜젝션들)의 개시 전에 데이터 경로(322) 및 클록 경로(324)를 동적으로 디-스큐잉함으로써, 전압, 온도, 또는 둘 모두의 변화들(VT에 대한 변화들로 지칭됨)뿐만 아니라 OCV(on-chip variation)의 효과를 캘리브레이팅해 내기 위해서 타이밍 로직(208)을 제어한다. 데이터 경로(322) 상의 신호(들)에 인가된 지연은 데이터 지연 유닛(310)에 의해 적용된 지연과 데이터 경로(322)의 고유 지연의 합이다. 마찬가지로, 클록 경로(324) 상의 신호에 인가된 지연은 클록 지연 유닛(312)에 의해 적용된 지연과 클록 경로(324)의 본질적인 지연의 합이다. 데이터 경로(322) 및 클록 경로(324)의 고유 지연들은 내부(예를 들어, 온-칩) 스큐를 발생시킨다. PCB(101) 상의 데이터 버스(116) 및 소스 클록(118)에 적용된 지연들은 외부 스큐(예를 들어, IC(102) 외부의 엘리먼트들에 의해 발생되는 스큐)로 지칭된다.
데이터 경로(322) 및 클록 경로(324)의 고유 지연들은 메모리 제어 디바이스(104) 내의 VT에서의 변화들에 따라 변하며, 따라서 내부 스큐가 VT에서의 이러한 변화들에 따라 변한다. 대조적으로, 메모리 제어 디바이스(104) 내 VT에서의 변화들은 외부 환경들에 실질적인 영향을 미치지 않으므로, 외부 스큐는 메모리 제어 디바이스(104) 내의 VT에서의 변화들에 따라 일정하거나 또는 실질적으로 일정하다. 데이터 경로(322) 및 클록 경로(324)가 지연 매칭되지 않은 경우, 데이터 버스와 소스 클록 사이의 상대적 지연이 시간에 따라 (예를 들어, VT가 변함에 따라) 변할 수 있다. 타이밍 로직(208)은 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 특정 절대 지연 값들의 락킹(lock)을 시도함으로써 스큐를 보상하지 않는다. 데이터 지연 유닛(310) 및 클록 지연 유닛(312)에 대한 특정 절대 지연 값들의 락킹은, 그들이 확립했던 특정 VT 포인트에 대해서만 유효하고 VT 포인트가 변경됨에 따라 내부 스큐를 보상하지 않을 것이다. 절대 지연 값들의 락킹 대신, 타이밍 로직(208)은, 데이터 경로(322)와 클록 경로(324) 사이에 상대적 지연을 확립하고 데이터 트랜잭션들 동안 상대적 지연을 유지하도록 동작함으로써 스큐를 보상한다.
캘리브레이션 유닛(302)은 일반적으로 3개의 캘리브레이션 단계들 : (1)데이터 아이(eye)를 최대화하고 내부 스큐를 보상하기 위해 데이터 경로(322)와 클록 경로(324) 상에서 신호들을 정렬하는 단계; (2)데이터 아이에 소스 클록을 센터링하는 단계; 및 (3) 자동화된 VT 추적을 수행하기 위해 데이터 트랜잭션들 동안 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 지연 값들을 업데이트하는 단계를 수행한다. 캘리브레이션 유닛(302)은, 2개의 모드들: (1)멀티플렉싱 회로(315)가 레퍼런스 클록을 데이터 경로(322)와 클록 경로(324)에 결합하는 셀프-캘리브레이션 모드; 및 (2)멀티플렉싱 회로(315)가 데이터 버스(116)를 데이터 경로(322)에 결합하고 소스 클록(118)을 클록 경로(324)에 결합하는 트랜잭션 모드로 동작하도록 멀티플렉싱 회로(315)를 제어할 수 있다. 외부 스큐가 (예를 들어, 버스(109)의 PCB 트레이스 매칭을 통해) 최소화되는 것으로 가정하여 캘리브레이션 프로세스가 먼저 기술된다.
제 1 캘리브레이션 단계(정렬)에서, 캘리브레이션 유닛(302)은 셀프-캘리브레이션 모드를 호출한다. 캘리브레이션 유닛(302)은, 데이터 버스(116) 및 소스 클록(118) 상의 신호들을 정렬하기 위해서 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 지연 값들을 조정한다. 데이터 버스(116)가 복수의 데이터 신호들을 포함하는 경우(예를 들어, N>1), 캘리브레이션 유닛(302)은 데이터 버스(116) 상의 개별 데이터 신호들을 정렬하기 위해서 데이터 지연 유닛(310)의 지연 값들을 조정한다. 특정 신호를 다른 신호와 정렬하는데 필요한 지연 값을 "정렬 지연 값"이라 지칭한다. 이외에도, 캘리브레이션 유닛(302)은, 마스터 지연 유닛(308)의 출력 및 레퍼런스 클록 신호를 (예를 들어, 고정 지연 회로(306)에 의한 출력에 따라) 정렬하기 위해 마스터 지연 유닛(308)의 지연 값을 조정한다. 그런다음, 캘리브레이션 유닛(302)은, 레퍼런스 클록 신호와 마스터 지연 유닛(308)의 출력 사이에 상대적 지연("마스터 상대적 지연"으로 지칭됨)을 확립하기 위해 마스터 지연 유닛(308)의 지연 값을 조정한다. 예를 들어, 캘리브레이션 유닛(302)은 마스터 지연 유닛(308)의 출력을 T/2만큼 시프트할 수 있고, T는 레퍼런스 클록의 기간이다.
도 4a는 셀프-캘리브레이션 모드에서의 데이터 경로(322) 및 클록 경로(324)에 결합된 신호들의 예들을 도시하는 신호 플롯이다. 본 예에서, 데이터 버스(116)는 4개의 데이터 신호들을 포함하고, 따라서, 데이터 경로(322) 내에 데이터 0 내지 데이터 3으로 지칭되는 4개의 신호 경로들이 있다. 클록 경로(324)는 클록(Clock)으로 지칭되는 단일 신호 경로를 포함한다. 정렬 전에, 데이터 경로(322) 상의 신호들은 서로에 대해 지연된다. 캘리브레이션 유닛(302)은, 다른 신호들에 대한 정렬 지연 값들을 결정하기 위해서, 신호들 중 하나를 레퍼런스로서 선택하고 데이터 지연 유닛(310)의 지연 값들을 조정할 수 있다. 일반적으로, 가장 최근의 에지를 갖는 신호는, 데이터 경로(322) 상의 데이터 신호이거나 또는 클록 경로(324) 상의 클록 신호일 수 있는 레퍼런스로서 선택될 수 있다. 본 예에서, 데이터 3 상의 신호가 레퍼런스로 선택되고 연관된 정렬 지연 값, A3은 0이다. 데이터 0 내지 데이터 2의 신호들은 데이터 3의 레퍼런스 신호에 대해 지연되며, 연관된 정렬 지연 값들(A0, A1 및 A2)을 갖는다. 클록(Clock) 상의 신호는 데이터 3 상의 신호에 대해 지연되고, ADQS의 연관된 정렬 지연 값을 갖는다. 캘리브레이션 유닛(302)은, A0, A1, A2, A3, 및 ADQS를 결정하기 위해서 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 지연 값들을 조정한다.
도 4b는 셀프 캘리브레이션 모드에서의 마스터 데이터 및 클록 신호들의 예들을 도시하는 신호 플롯이다. 마스터 데이터로 지칭되는 신호가 플립-플롭(318)의 데이터 입력에 결합된다. 마스터 클록으로 지칭되는 신호가 마스터 지연 유닛(308)에 의해 출력되고, 플립-플롭(318)의 클록 입력에 결합된다. 캘리브레이션 유닛(302)은 마스터 데이터와 마스터 클록 사이에서 정렬 지연 값, AM을 결정한다. 고정 지연 회로(306)는, 마스터 데이터와 마스터 클록 간에 일부 초기 넌-제로 지연이 존재하도록 구성될 수 있다. 상기 언급된 바와 같이, 캘리브레이션 유닛(302)은, 그런다음 마스터 상대적 지연을 확립하기 위해서 고정량 만큼 마스터 지연 유닛(308)의 출력을 시프트(예를 들어, T/2만큼 시프트)한다.
도 3으로 돌아가면, 캘리브레이션 유닛(302)은, 지연 값들을 조정하는 것과 플립-플롭(318) 및 샘플링 회로(319)의 데이터 출력들을 측정하는 것의 반복(들)에 기초하여 정렬 지연 값들(A0, A1, A2, A3, ADQS 및 AM)을 결정하기 위해서 상태 머신(들)(326)을 이용할 수 있다. 제 2 캘리브레이션 단계(클록 센터링)에서, 캘리브레이션 유닛(302)은 셀프-캘리브레이션 모드를 다시 호출(또는 유지)할 수 있다. 캘리브레이션 유닛(302)은, 데이터 아이에 클록 경로(324) 상의 신호를 센터링하기 위해 클록 지연 유닛(312)의 지연 값을 조정한다. 클록 경로(324)가 제 1 캘리브레이션 단계에서 데이터 경로(322)와 정렬되었기 때문에, 클록 경로(324) 상의 신호를 90도(예를 들어, 클록 기간 T의 1/4) 만큼 시프트시키도록 클록 지연 유닛(312)의 지연 값을 조정함으로써 클록 센터링이 수행된다.
도 5는, 정렬 및 클록 센터링 이후, 데이터 경로(322)와 클록 경로(324) 상의 신호들의 예를 도시하는 신호 플롯이다. 데이터 0, 데이터 1, 데이터 2 및 데이터 3의 신호들은 상기 논의된 바와 같이 정렬된다. 클록 경로(324) 상의 신호는, 데이터 아이에 신호를 센터링하기 위해 시프트 지연(ADQS _QT)만큼 시프트된다(예를 들어, ADQS _QT=T/4, T는 클록 기간임). 따라서, 클록 지연 유닛(312)의 지연 값은 정렬 지연 값(ADQS)과 시프트 지연(ADQS_QT)의 합이다.
도 3으로 돌아가면, 제 2 캘리브레이션 단계(클록 센터링) 이후, 캘리브레이션 유닛(302)은 데이터 경로(322)와 클록 경로(324) 사이에 상대적 지연을 확립한다. 상대적 지연은 특정 VT 포인트에서 내부 스큐를 보상한다. 셀프-캘리브레이션 이후, 캘리브레이션 유닛(302)은 트랜잭션 모드를 호출할 수 있고, 판독 트랜잭션들 동안 소스 클록이 데이터 아이에 센터링될 것이다. 제 3 캘리브레이션 단계(VT 추적)에서, 캘리브레이션 유닛(302)은 데이터 지연 유닛(310)과 클록 지연 유닛(312)의 지연 값들을 조정함으로써 데이터 경로(322)와 클록 경로(324) 사이의 상대적 지연을 유지하도록 동작한다. VT 추적 동안, 캘리브레이션 유닛(302)은, VT가 변경됨에 따라 지연 정렬 동안 확립된 마스터 상대적 지연을 유지하기 위해서 마스터 지연 유닛(308)의 지연 값을 조정한다. 캘리브레이션 유닛(302)은 마스터 지연 유닛(308)의 지연 값과 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 지연 값들 사이의 비("기어 비들"로 지칭됨)를 유지한다. 캘리브레이션 유닛(302)은 기어 비들을 유지하기 위해 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 절대 지연 값들을 변경하여, 이는, 데이터 경로(322)와 클록 경로(324) 사이에 상대적 지연을 유지시키고, VT의 변경들에 걸쳐 데이터 아이에 소스 클록이 센터링된 채로 있게 할 것이다.
외부 스큐가 최소화될 경우, 캘리브레이션 프로세스의 정렬 및 클록 센터링 단계들은 셀프-캘리브레이션 모드를 이용하여 수행될 수 있다. 외부 캘리브레이션 프로세스가 필요하지 않다(예를 들어, SDRAM 시스템(106)과의 캘리브레이션 트랜잭션들을 포함하는 외부 트레이닝 프로세스가 필요하지 않다). 외부 스큐가 최소화되지 않는 경우, 캘리브레이션 프로세스의 정렬 단계에서 수행된 정렬은 외부 스큐의 결과로서 데이터 버스(116) 및 소스 클록(118)의 정렬을 발생시키지 않을 것이다. 이와 같이, 셀프-캘리브레이션 모드에서의 클록 센터링은 데이터 아이에 소스 클록(118)의 센터링을 발생시키지 않을 것이다. 따라서, 일부 예들에서, 캘리브레이션 유닛(302)은 셀프-캘리브레이션 정렬 후에 외부 캘리브레이션을 수행할 수 있다. 캘리브레이션 유닛(302)은, PHY 유닛(210)으로부터의 외부 캘리브레이션 제어 신호에 대한 응답으로 외부 캘리브레이션을 호출할 수 있다. 외부 캘리브레이션의 경우, 캘리브레이션 유닛(302)은 데이터 버스(116)를 데이터 경로(322)에 그리고 소스 클록(118)을 클록 경로(324)에 결합시키기 위해 트랜잭션 모드를 호출한다. PHY 유닛(210)은 SDRAM 시스템(106)과의 하나 또는 그 초과의 캘리브레이션 트랜잭션들을 개시하고, 캘리브레이션 유닛(302)은 데이터 아이에 소스 클록을 센터링하기 위해 데이터 지연 유닛(310) 및 클록 지연 유닛(312)의 지연 값들을 조정한다. 새로운 지연 값들은 특정 VT 포인트에서 외부 스큐 및 내부 스큐 둘 모두에 대해 고려한다. 그런다음, 캘리브레이션 유닛(302)은, 내부 스큐의 대응하는 변경들을 보상하기 위해서, 상기 언급된 바와 같이, 지연 값들을 조정하고 기어 비들을 유지하기 위해서 판독 트랜잭션들 동안 VT 추적을 수행할 수 있다. 상기 언급된 바와 같이, 외부 스큐는 메모리 제어 디바이스(104) 내부의 VT 변화들에 걸쳐 일정하거나 또는 실질적으로 일정하다.
도 6은 데이터 버스와 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법(600)의 예를 도시하기 위한 흐름도이다. 방법(600)은, 캘리브레이션 유닛(302)이 셀프-캘리브레이션 모드의 경우 레퍼런스 클록을 데이터 및 클록 경로들에 결합시키도록 동작하는 단계(602)에서 시작한다. 단계(604)에서, 캘리브레이션 유닛(302)은, 데이터 및 클록 경로들(322, 324) 사이에 상대적 지연을 확립하도록 데이터 및 클록 지연 유닛들(310, 312)을 제어한다. 일례로, 단계(604)는, 캘리브레이션 유닛(302)이 신호 정렬을 위해 데이터 및 클록 지연 유닛들(310, 312)의 지연 값들을 조정하는 단계(610)에서 시작한다. 단계(612)에서, 캘리브레이션 유닛(302)은, 외부 캘리브레이션이 수행되어야 하는지를 결정한다. 예를 들어, 캘리브레이션 유닛(302)은 PHY 유닛(210)으로부터 외부 캘리브레이션을 수행하기 위한 명령을 수신할 수 있다. 외부 캘리브레이션이 수행되지 않는 경우, 단계(604)는, 캘리브레이션 유닛(302)이 클록 지연 유닛(312)의 출력을 90도 만큼 시프트시키는 단계(614)로 진행한다. 외부 캘리브레이션이 수행되는 경우, 단계(604)는, 캘리브레이션 유닛(302)이 데이터 버스를 데이터 경로(322)에 그리고 소스 클록을 클록 경로(324)에 결합시키도록 동작하는 단계(616)로 진행한다. 단계(618)에서, 캘리브레이션 유닛(302)은, 데이터 아이에 소스 클록을 센터링하기 위해서 데이터 및 클록 지연 유닛들(310, 312)의 지연 값들을 조정한다.
단계(606)에서, 캘리브레이션 유닛(302)은, 트랜젝션 모드의 경우, 데이터 버스를 데이터 경로(322)에 그리고 소스 클록을 클록 경로(324)에 결합시키도록 동작한다. 일부 예들에서, 데이터 버스 및 소스 클록이 이미 데이터 경로(322) 및 클록 경로(324)에 각각 결합된 경우 단계(606)가 생략될 수 있다. 단계(608)에서, 캘리브레이션 유닛(302)은, 상대적 지연을 유지하도록 데이터 및 클록 지연 유닛들(310, 312)을 제어한다. 일례로, 단계(608)는, 캘리브레이션 유닛(302)이 마스터 지연 유닛(308)의 지연 값에 대하여 기어 비들을 유지하기 위해 데이터 및 클록 지연 유닛들(310, 312)의 지연 값들을 조정하는 단계(620)를 포함한다.
도 7은 마스터 지연 유닛(308)을 관리하는 방법(700)의 일례를 도시하는 흐름도이다. 방법(700)은, 레퍼런스 클록이 마스터 지연 유닛(308)에 결합되는 단계(702)에서 시작한다. 예를 들어, 도 3에 도시된 바와 같이, 마스터 지연 유닛(308)의 입력이 클록 소스(304)의 출력에 결합된다. 단계(703)에서, 캘리브레이션 유닛(302)은 신호 정렬을 위해 마스터 지연 유닛의 지연 값을 조정한다. 단계(704)에서, 캘리브레이션 유닛(302)은 마스터 지연 유닛의 출력과 레퍼런스 클록 사이에 마스터 상대적 지연을 확립한다. 캘리브레이션 유닛(302)은 셀프-캘리브레이션 동안 단계(704)를 수행할 수 있다. 단계(706)에서, 캘리브레이션 유닛(302)은 마스터 상대적 지연을 유지한다. 캘리브레이션 유닛(302)은 마스터 상대적 지연을 유지하기 위해서 마스터 지연 유닛(308)의 지연 값을 조정함으로써 트랜잭션들 동안 단계(706)를 수행할 수 있다.
앞의 내용은 특정 예들에 관한 것이지만, 다른 예 및 추가적인 예가 그의 기본 범위로부터 벗어나지 않고 창안될 수 있고, 그 범위는 후속하는 청구범위에 의해 결정된다.

Claims (15)

  1. 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스로서,
    샘플링 회로의 데이터 입력에 결합된 데이터 지연 유닛을 포함하는 데이터 경로;
    상기 샘플링 회로의 클록 입력에 결합된 클록 지연 유닛을 포함하는 클록 경로;
    레퍼런스 클록 또는 상기 데이터 버스를 상기 데이터 지연 유닛의 입력에 선택적으로 결합시키고, 상기 레퍼런스 클록 또는 상기 소스 클록을 상기 클록 지연 유닛의 입력에 선택적으로 결합시키도록 동작가능한 멀티플렉싱 회로; 및
    상기 샘플링 회로의 데이터 출력에 결합된 캘리브레이션 유닛을 포함하고,
    상기 캘리브레이션 유닛은, 상기 데이터 경로와 상기 클록 경로 사이에 상대적 지연을 확립하고 유지하기 위해서 상기 샘플링 회로의 상기 데이터 출력에 기초하여 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하도록 동작가능한, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  2. 제 1 항에 있어서,
    상기 캘리브레이션 유닛은, 제 1 모드에서 상기 레퍼런스 클록을 상기 데이터 지연 유닛 및 상기 클록 지연 유닛 둘 모두의 입력들에 결합시키고, 그리고 제 2 모드에서 상기 데이터 버스를 상기 데이터 지연 유닛의 상기 입력에 그리고 상기 소스 클록을 상기 클록 지연 유닛의 상기 입력에 결합시키도록, 상기 멀티플렉싱 회로를 제어하도록 동작가능한, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  3. 제 2 항에 있어서,
    상기 제 1 모드에 있는 동안, 상기 캘리브레이션 유닛은, 상기 데이터 경로 및 상기 클록 경로 상에서 신호들을 정렬(align)하고 상기 클록 지연 유닛의 출력을 90도 만큼 시프트시키기 위해서, 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  4. 제 2 항에 있어서,
    상기 제 1 모드에 있는 동안, 상기 캘리브레이션 유닛은 상기 데이터 경로 및 상기 클록 경로 상의 신호들을 정렬하기 위해서 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하고, 상기 제 2 모드에서, 상기 캘리브레이션 유닛은 상기 데이터 버스의 데이터 아이(eye)에 상기 소스 클록을 센터링(center)하기 위해서 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 상기 지연 값들을 조정하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  5. 제 2 항에 있어서,
    상기 데이터 버스는 복수의 데이터 신호들을 포함하고, 상기 데이터 지연 유닛은 각각의 복수의 데이터 신호들과 연관된 복수의 디지털 지연 라인들을 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  6. 제 5 항에 있어서,
    상기 제 1 모드에 있는 동안, 상기 캘리브레이션 유닛은 상기 복수의 데이터 신호들을 정렬하기 위해 상기 복수의 디지털 지연 라인들의 탭 값들을 조정하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  7. 제 1 항에 있어서,
    상기 레퍼런스 클록을 수신하도록 결합된 입력을 갖는 마스터 지연 유닛; 및
    상기 마스터 지연 유닛의 출력에 따라 상기 레퍼런스 클록을 샘플링하도록 결합된 플립-플롭을 더 포함하고,
    상기 캘리브레이션 유닛은 상기 플립-플롭의 데이터 출력에 결합되고, 상기 캘리브레이션 유닛은 상기 마스터 지연 유닛의 출력 및 상기 레퍼런스 클록을 정렬하고, 상기 마스터 지연 유닛의 상기 출력과 상기 레퍼런스 클록 사이의 마스터 상대적 지연을 확립하고, 그리고 상기 마스터 지연 유닛의 지연 값을 조정하여 상기 마스터 상대적 지연을 유지하도록 동작가능한, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  8. 제 7 항에 있어서,
    상기 캘리브레이션 유닛은, 상기 마스터 지연 유닛의 상기 지연 값 대 상기 데이터 지연 유닛과 상기 클록 지연 유닛의 상기 지연 값들의 비들을 유지하기 위해서 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정함으로써, 상기 데이터 경로와 상기 클록 경로 사이에 상기 상대적 지연을 유지하도록 동작가능한, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  9. 제 7 항에 있어서,
    상기 레퍼런스 클록을 수신하도록 결합된 입력과 상기 플립-플롭의 데이터 입력에 결합된 출력을 갖는 고정 지연 회로를 더 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  10. 제 1 항에 있어서,
    상기 소스 동기식 인터페이스는 SDRAM(synchronous dynamic random access memory) 인터페이스를 포함하고, 상기 제어 디바이스는 상기 SDRAM 인터페이스를 갖는 SDRAM 시스템에 결합된 IC(integrated circuit)에 배치되는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하기 위한 제어 디바이스.
  11. 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법으로서,
    상기 데이터 버스 대신에, 레퍼런스 클록을 데이터 경로의 데이터 지연 유닛의 입력에 결합하는 단계 ―상기 데이터 지연 유닛은 샘플링 회로의 데이터 입력에 결합됨―;
    상기 소스 클록 대신에, 상기 레퍼런스 클록을 클록 경로의 클록 지연 유닛의 입력에 결합시키는 단계 ―상기 클록 지연 유닛은 상기 샘플링 회로의 클록 입력에 결합됨―;
    상기 데이터 경로와 상기 클록 경로 사이에 상대적 지연을 확립하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛을 제어하는 단계;
    상기 레퍼런스 클록 대신에, 상기 데이터 버스를 상기 데이터 경로의 상기 데이터 지연 유닛에 그리고 상기 레퍼런스 클록 대신에, 상기 소스 클록을 상기 클록 경로의 상기 클록 지연 유닛에 결합하는 단계; 및
    상기 데이터 경로와 상기 클록 경로 사이에 상기 상대적 지연을 유지하도록 상기 샘플링 회로의 데이터 출력에 기초하여 상기 데이터 지연 유닛 및 상기 클록 지연 유닛을 제어하는 단계를 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법.
  12. 제 11 항에 있어서,
    상기 데이터 경로와 상기 클록 경로 사이에 상기 상대적 지연을 확립하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛을 제어하는 단계는,
    상기 데이터 경로 및 상기 클록 경로 상에서 신호들을 정렬하고; 그리고
    상기 클록 지연 유닛의 출력을 90도 만큼 시프트시키도록
    상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하는 단계를 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법.
  13. 제 11 항에 있어서,
    상기 데이터 경로와 상기 클록 경로 사이에 상기 상대적 지연을 확립하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛을 제어하는 단계는,
    상기 데이터 경로 및 상기 클록 경로 상에서 신호들을 정렬하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하는 단계;
    상기 데이터 버스를 상기 데이터 경로에 그리고 상기 소스 클록을 상기 클록 경로에 결합하는 단계; 및
    상기 소스 클록을 상기 데이터 버스의 데이터 아이에 센터링하기 위해서 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 상기 지연 값들을 조정하는 단계를 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법.
  14. 제 11 항에 있어서,
    상기 레퍼런스 클록을 마스터 지연 유닛에 결합하는 단계;
    상기 마스터 지연 유닛의 출력 및 상기 레퍼런스 클록을 정렬하는 단계;
    상기 마스터 지연 유닛의 출력과 상기 레퍼런스 클록 사이의 마스터 상대적 지연을 확립하도록 상기 마스터 지연 유닛을 제어하는 단계; 및
    상기 마스터 상대적 지연을 유지하도록 상기 마스터 지연 유닛의 지연 값을 조정하는 단계를 더 포함하고;
    상기 데이터 경로와 상기 클록 경로 사이에 상기 상대적 지연을 유지하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛을 제어하는 단계는,
    상기 마스터 지연 유닛의 상기 지연 값 대 상기 데이터 지연 유닛과 상기 클록 지연 유닛의 상기 지연 값들의 비들을 유지하도록 상기 데이터 지연 유닛 및 상기 클록 지연 유닛의 지연 값들을 조정하는 단계를 포함하는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법.
  15. 제 11 항에 있어서,
    상기 소스 동기식 인터페이스는 SDRAM(synchronous dynamic random access memory) 인터페이스를 포함하고, 상기 데이터 경로 및 상기 클록 경로는 상기 SDRAM 인터페이스를 갖는 SDRAM 시스템에 결합된 IC(integrated circuit)에 배치되는, 데이터 버스 및 소스 클록을 갖는 소스 동기식 인터페이스로부터 수신하는 방법.
KR1020177012788A 2014-11-06 2015-06-23 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션 KR102384880B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/534,487 2014-11-06
US14/534,487 US9355696B1 (en) 2014-11-06 2014-11-06 Calibration in a control device receiving from a source synchronous interface
PCT/US2015/037181 WO2016073038A1 (en) 2014-11-06 2015-06-23 Calibration in a control device receiving from a source synchronous interface

Publications (2)

Publication Number Publication Date
KR20170083046A KR20170083046A (ko) 2017-07-17
KR102384880B1 true KR102384880B1 (ko) 2022-04-07

Family

ID=53541921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012788A KR102384880B1 (ko) 2014-11-06 2015-06-23 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션

Country Status (6)

Country Link
US (1) US9355696B1 (ko)
EP (1) EP3215950B1 (ko)
JP (1) JP6434161B2 (ko)
KR (1) KR102384880B1 (ko)
CN (1) CN107077449B (ko)
WO (1) WO2016073038A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864713B2 (en) * 2014-12-05 2018-01-09 Marvell Israel (M.I.S.L.) Ltd. Optimal sampling of data-bus signals using configurable individual time delays
US10009197B1 (en) 2016-10-10 2018-06-26 Xilinx, Inc. Method and apparatus for intersymbol interference compensation
US10103718B1 (en) * 2017-04-05 2018-10-16 Xilinx, Inc. Recalibration of source synchronous systems
US11003203B2 (en) 2018-07-23 2021-05-11 Xilinx, Inc. Circuits for and methods of calibrating a circuit in an integrated circuit device
CN110956990B (zh) * 2018-09-26 2022-03-01 展讯通信(上海)有限公司 Sram读取延时控制电路及sram
US11079946B2 (en) * 2018-10-26 2021-08-03 Micron Technology, Inc. Write training in memory devices
CN109358819B (zh) * 2018-11-28 2024-02-20 四川九洲电器集团有限责任公司 一种基于Iodelay固件的AD采样自校准系统和方法
CN110347620A (zh) * 2019-05-29 2019-10-18 深圳市紫光同创电子有限公司 一种fpga电路和系统
CN111157878A (zh) * 2019-12-31 2020-05-15 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 焊点测试结构及其测试方法
CN114094996A (zh) * 2021-11-09 2022-02-25 成都海光微电子技术有限公司 一种校准电路、校准方法、接口和相关设备
CN117555389A (zh) * 2023-12-01 2024-02-13 灿芯半导体(苏州)有限公司 高速源同步主机接口采样的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291187A (en) * 1991-05-06 1994-03-01 Compaq Computer Corporation High-speed video display system
US6646953B1 (en) 2000-07-06 2003-11-11 Rambus Inc. Single-clock, strobeless signaling system
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
JP4450586B2 (ja) 2003-09-03 2010-04-14 株式会社ルネサステクノロジ 半導体集積回路
US7675317B2 (en) 2007-09-14 2010-03-09 Altera Corporation Integrated circuits with adjustable body bias and power supply circuitry
US7795935B2 (en) 2007-09-29 2010-09-14 Intel Corporation Bias signal delivery
US7973594B2 (en) 2009-02-05 2011-07-05 Indian Institute Of Science Power monitoring for optimizing operation of a circuit
US8427194B2 (en) * 2010-05-24 2013-04-23 Alexander Roger Deas Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram
JP2011258134A (ja) * 2010-06-11 2011-12-22 Renesas Electronics Corp インタフェース回路
US8736338B2 (en) * 2012-04-11 2014-05-27 Freescale Semiconductor, Inc. High precision single edge capture and delay measurement circuit
US8941430B2 (en) 2012-09-12 2015-01-27 Nvidia Corporation Timing calibration for on-chip interconnect
CN107302350B (zh) * 2013-03-15 2020-11-27 高通股份有限公司 用于调谐电压的方法和设备
CN104135256B (zh) 2014-07-29 2017-02-15 东南大学 一种带自校准功能的延时采样电路

Also Published As

Publication number Publication date
CN107077449A (zh) 2017-08-18
US9355696B1 (en) 2016-05-31
CN107077449B (zh) 2019-03-15
EP3215950B1 (en) 2019-09-18
US20160133305A1 (en) 2016-05-12
KR20170083046A (ko) 2017-07-17
EP3215950A1 (en) 2017-09-13
JP2017536639A (ja) 2017-12-07
WO2016073038A1 (en) 2016-05-12
JP6434161B2 (ja) 2018-12-05

Similar Documents

Publication Publication Date Title
KR102384880B1 (ko) 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션
US20230274775A1 (en) Strobe-offset control circuit
US20230236970A1 (en) Memory module with local synchronization and method of operation
US9306584B2 (en) Multi-function delay locked loop
US8565033B1 (en) Methods for calibrating memory interface circuitry
US9330749B1 (en) Dynamic selection of output delay in a memory control device
US7079446B2 (en) DRAM interface circuits having enhanced skew, slew rate and impedance control
JP5305543B2 (ja) メモリシステムの書き込みタイミングを較正する方法および装置
US9959917B2 (en) Output timing control circuit of semiconductor apparatus and method thereof
WO2008130418A2 (en) Calibration of read/write memory access via advanced memory buffer
US7929361B2 (en) Circuit using a shared delay locked loop (DLL) and method therefor
US20120210079A1 (en) Semiconductor memory device for transferring data at high speed
US9570135B2 (en) Apparatuses and methods to delay memory commands and clock signals
US10241538B2 (en) Resynchronization of a clock associated with each data bit in a double data rate memory system
US20220059154A1 (en) Signal skew in source-synchronous system
US20240055068A1 (en) Signal skew correction in integrated circuit memory devices
CN116569263A (zh) 集成电路存储器设备中的信号偏斜校正
Koutsomitsos et al. Advanced calibration techniques for high-speed source–synchronous interfaces

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