KR20160040140A - 메조크로너스 ddr 시스템을 위한 저 레이턴시 동기화 스킴 - Google Patents

메조크로너스 ddr 시스템을 위한 저 레이턴시 동기화 스킴 Download PDF

Info

Publication number
KR20160040140A
KR20160040140A KR1020157035382A KR20157035382A KR20160040140A KR 20160040140 A KR20160040140 A KR 20160040140A KR 1020157035382 A KR1020157035382 A KR 1020157035382A KR 20157035382 A KR20157035382 A KR 20157035382A KR 20160040140 A KR20160040140 A KR 20160040140A
Authority
KR
South Korea
Prior art keywords
clock signal
data
clean
sampling
flip
Prior art date
Application number
KR1020157035382A
Other languages
English (en)
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 KR20160040140A publication Critical patent/KR20160040140A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/093Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using special filtering or amplification characteristics in the loop
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • Y02B60/1228
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

일 실시예에서, 메모리 인터페이스는 기준 클록 신호를 수신하고, 그리고 기준 클록 신호에 기초하여 클린 클록 신호를 생성하도록 구성된 클린업 위상-고정 루프(PLL; phase-locked loop)를 포함한다. 메모리 인터페이스는 또한 데이터, 데이터 클록 신호, 및 클린 클록 신호를 수신하도록 구성된 동기화 회로를 포함하고, 동기화 회로는 추가로 데이터 클록 신호를 이용하여 데이터를 샘플링하고, 그리고 샘플링된 데이터를 클린 클록 신호와 동기화하도록 구성된다.

Description

메조크로너스 DDR 시스템을 위한 저 레이턴시 동기화 스킴{LOW LATENCY SYNCHRONIZATION SCHEME FOR MESOCHRONOUS DDR SYSTEM}
[0001]본 개시물의 양상들은 전반적으로 메모리 인터페이스들에 관한 것이며, 보다 구체적으로 메모리 인터페이스들에 대한 동기화 시스템들 및 방법들에 관한 것이다.
[0002]SoC(system on a chip)는 외부 메모리 디바이스와 SoC 상의 하나 이상의 블록들(예를 들어, CPU, GPU 등)과 인터페이싱하기 위한 메모리 인터페이스를 포함할 수 있다. 메모리 인터페이스는 중심에 위치한 메모리 제어기, 및 SoC의 주변부를 따라 위치된 복수의 물리(PHY) 블록들을 포함할 수 있다. 메모리 제어기는 외부 메모리 디바이스와 외부 메모리 디바이스에 액세스하는데 필요한 SoC 상의 블록들 사이에서 데이터의 흐름을 관리한다. SoC 상의 블록이 데이터를 메모리 외부 디바이스에 기록할 필요가 있을 경우, 메모리 제어기는, 클록 신호와 커맨드/어드레스(CA) 신호를 따라 PHY 블록들 중 하나 이상의 블록에 데이터를 전송한다. 하나 이상의 PHY 블록들은 적용가능한 메모리 표준에 따라 외부 메모리 디바이스로 출력하기 위해 데이터, 클록 신호 및 CA 신호를 컨디셔닝한다.
[0003]다음은, 이러한 실시예들의 기본적인 이해를 제공하기 위해서 하나 이상의 실시예들의 단순화된 개요를 제공한다. 이 개요는 모든 고려되는 실시예들의 광범위한 개관이 아니며, 모든 실시예들의 핵심 또는 중요한 엘리먼트들을 식별하려고 의도되지도, 임의의 또는 모든 실시예들의 범위를 기술하려고 의도되지도 않는다. 그 유일한 목적은 하나 이상의 실시예들의 일부 개념들을 이후에 제시되는 보다 상세한 설명에 대한 서두로서 단순화된 형태로 제공하는 것이다.
[0004]일 양상에 따르면, 메모리 인터페이스가 본원에 설명된다. 메모리 인터페이스는 기준 클록 신호를 수신하고, 그리고 기준 클록 신호에 기초하여 클린 클록 신호를 생성하도록 구성된 클린업 위상-고정 루프(PLL; phase-locked loop)를 포함한다. 메모리 인터페이스는 또한 데이터, 데이터 클록 신호, 및 클린 클록 신호를 수신하도록 구성된 동기화 회로를 포함하고, 동기화 회로는 추가로 데이터 클록 신호를 이용하여 데이터를 샘플링하고, 그리고 샘플링된 데이터를 클린 클록 신호와 동기화하도록 구성된다.
[0005]제 2 양상은 데이터 동기화를 위한 방법에 관한 것이다. 방법은 기준 클록 신호에 기초하여 클린 클록 신호를 생성하는 단계, 데이터 클록 신호를 이용하여 데이터를 샘플링하는 단계, 및 샘플링된 데이터를 클린 클록 신호와 동기화하는 단계를 포함한다.
[0006]제 3 양상은 데이터 동기화를 위한 장치에 관한 것이다. 장치는 기준 클록 신호에 기초하여 클린 클록 신호를 생성하기 위한 수단, 데이터 클록 신호를 이용하여 데이터를 샘플링하기 위한 수단, 및 샘플링된 데이터를 클린 클록 신호와 동기화하기 위한 수단을 포함한다.
[0007]앞의 목적 및 관련 목적들의 성취를 위해서, 하나 이상의 실시예들은 이후의 청구범위에서 전적으로 설명되고 특정하게 지적되는 특징들을 포함한다. 다음 설명 및 연계된 도면들은 하나 이상의 실시예들의 특정 예시적인 양상들을 상세하게 제시한다. 그러나, 이러한 양상들은, 다양한 실시예들의 원리들이 사용될 수 있고 설명된 실시예들이 모든 이러한 양상들 및 그들의 등가물들을 포함하도록 의도되는 여러가지 방식들 중 극히 소수만을 나타낸다.
[0008]도 1은 메모리 인터페이스를 지닌 SoC(system on a chip)의 예를 도시한다.
[0009]도 2는 본 개시물의 일 실시예에 따른 메모리 인터페이스를 도시한다.
[0010]도 3은 본 개시물의 일 실시예에 따른 동기화 회로를 도시한다.
[0011]도 4는 본 개시물의 일 실시예에 따라 사분면(quadrant)들로 분할되는 클린 클록 신호를 도시한다.
[0012]도 5는 본 개시물의 다른 실시예에 따른 동기화 회로를 도시한다.
[0013]도 6은 본 개시물의 일 실시예에 따른 위상 검출기를 도시한다.
[0014]도 7은 본 개시물의 일 실시예에 따른 클린 클록 신호의 상이한 사분면들에서 정렬된 4개의 캘리브레이션 신호들의 예를 도시한다.
[0015]도 8은 본 개시물의 일 실시예에 따른 사이클 슬립들을 방지할 수 있는 동기화 회로를 도시한다.
[0016]도 9는 본 개시물의 일 실시예에 따른 트루스 테이블(truth table)을 도시한다.
[0017]도 10 및 도 11은 메모리 인터페이스에서 물리(PHY) 블록들 간의 지연 불일치들의 예들을 도시한다.
[0018]도 12는 정적 사이클 슬립을 발생시키는 PHY 블록들 간의 지연 불일치의 예를 도시한다.
[0019]도 13은 본 개시물의 일 실시예에 따른 디폴트 엔트리들 및 푸시-아웃 엔트리들을 포함하는 트루스 테이블을 도시한다.
[0020]도 14는 정적 사이클 슬립을 발생시키는 PHY 블록들 간의 지연 불일치의 다른 예를 도시한다.
[0021]도 15는 본 개시물의 다른 실시예에 따른 디폴트 엔트리들 및 푸시-아웃 엔트리들을 포함하는 트루스 테이블을 도시한다.
[0022]도 16은 본 개시물의 실시예에 따른 데이터를 동기화하는 방법에 대한 흐름도이다.
[0023]첨부된 도면들과 관련하여 하기 설명된 상세한 설명은 다양한 구성들의 설명으로서 의도되고 본원에 설명된 개념들이 실시될 수 있는 유일한 구성들을 나타내도록 의도되지 않는다. 상세한 설명은 다양한 개념들의 완전한 이해를 제공하는 목적을 위해 특정 상세들을 포함한다. 그러나, 이들 개념들이 이들 특정 상세들 없이 실시될 수 있다는 것이 당업자들에게 명백할 것이다. 몇몇 예들에서, 잘 알려진 구조들 및 컴포넌트들은 그런 개념들을 모호하게 함을 회피하기 위하여 블록도 형태로 도시된다.
[0024]도 1은 SoC(system on a chip)(110) 상의 하나 이상의 블록들(예를 들어, CPU, GPU 등)을 외부 메모리 디바이스(예를 들어, DDR SDRAM(double data rate synchronous dynamic random access memory))와 인터페이싱하기 위해 메모리 인터페이스를 갖는 SoC(110)의 예를 도시한다. 단순함을 위해서, 메모리 인터페이스를 이용하여 외부 메모리에 액세스하는 SoC(110) 상의 외부 메모리 디바이스 및 블록들은 도 1에 도시되지 않는다. 본 개시물이 이 예로 제한되지 않고 다른 타입들의 메모리 디바이스들에 적용될 수 있다는 것을 인식하더라도, 메모리 인터페이스가 외부 DDR SDRAM의 예를 이용하여 아래에 설명된다.
[0025]메모리 인터페이스는 중앙에 위치된 메모리 제어기(115)와, SoC(110)의 주변기기를 따라 위치된 복수의 물리(PHY) 블록들(120a-120e 및 125a-125e)을 포함한다. 메모리 제어기(115)는, 외부 DDR SDRAM에 액세스할 필요가 있는 SoC(110) 상의 블록과 외부 DDR SDRAM 사이에서 데이터의 흐름을 관리한다. 메모리 액세스는 외부 DDR SDRAM에 데이터를 기록하는 것과 외부 DDR SDRAM으로부터 데이터를 판독하는 것을 포함할 수 있다. 예를 들어, SoC(110) 상의 블록이 외부 DDR SDRAM에 데이터를 기록할 필요가 있을 경우, 메모리 제어기(115)는 대응하는 DDR 데이터, 클록 신호 및 CA(command/address) 신호를 생성하여 PHY 블록들(120a-120e 및 125a-125e) 중 하나 이상의 PHY 블록들로 전송한다. 하나 이상의 PHY 블록들(120a-120e 및 125a-125e)은 DDR 데이터, 클록 신호 및 CA 신호를, 적용가능한 메모리 표준에 따라 외부 DDR SDRAM에 출력하기 위해 컨디셔닝한다.
[0026]DDR 데이터는 4-바이트 데이터 워드에 대응하는 4 바이트들의 폭을 가질 수 있다. 이 예에서, 메모리 제어기(115)는 PHY 블록들 중 4개(예를 들어, PHY 블록들(120a-120d))와 DDR 데이터의 4 바이트들을 동시에 전송하며, 여기서, 각각의 바이트는 4개의 PHY 블록들 중 상이한 PHY 블록으로 전송된다. 메모리 제어기(115)는 또한, 4개의 PHY 블록들 각각에 클록 신호를 전송한다. 이와 같이, 4개의 PHY 블록들 각각은 클록 신호와 DDR 데이터의 개별 바이트들을 수신한다. 메모리 제어기(115)는 또한 CA 신호를, 외부 DDR SDRAM으로 출력하기 위해 PHY 블록들 중 다섯번째 블록(예를 들어, PHY 블록(120e))으로 전송한다.
[0027]도 1에 도시된 예에서, SoC(110)는, DDR 데이터를 동일한 메모리 디바이스 또는 상이한 메모리 디바이스들로 이송하기 위한 2개의 메모리 채널들(CH0 및 CH1으로 표기됨)을 구비한다. 예를 들어, 메모리 제어기(115)는 채널 CH0에 대한 DDR 데이터 및 CA 신호를 PHY 블록들(120a-120e)로 전송할 수 있다. 채널 CH0에 대한 DDR 데이터는 4 바이트들(DQ0, DQ1, DQ2 및 DQ3으로 표기됨)의 폭을 구비할 수 있으며, 여기서, 각각의 바이트는 PHY 블록들(120a-120d) 중 개별 블록으로 전송된다. 채널 CH0에 대한 CA 신호는 PHY 블록(120e)으로 전송된다. 메모리 제어기(115)는 채널 CH1에 대한 DDR 데이터 및 CA 신호를 PHY 블록들(125a-125e)로 전송할 수 있다. 채널 CH1에 대한 DDR 데이터는 4 바이트들(DQ0, DQ1, DQ2 및 DQ3로 표기됨)의 폭을 구비할 수 있으며, 여기서, 각각의 바이트는 PHY 블록들(125a-125d) 중 개별 블록으로 전송된다. 채널 CH0에 대한 CA 신호는 PHY 블록(125e)으로 전송된다.
[0028]DDR SDRAM과의 인터페이싱은 고속으로 인해 극단적인 도전과제일 수 있는데, 이는 SoC와 DDR SDRAM 사이에서 만족될 필요가 있는 엄격한 타이밍 요건들로 해석된다. 하나의 과제는, 완전히 상이한 바이트들에 대해 중앙-생성(centrally-generated) DDR 데이터 및 클록 신호를 SoC의 주변기기 상의 대응하는 PHY 블록들에 분배하는 것이다. 이외에도, PHY 블록들은 SoC의 주변기기를 따라 멀리 떨어져서 이격될 수 있다. 그 결과, DDR 데이터 및 클록 신호의 상이한 바이트들은 상대적으로 장거리들(예를 들어, 10 내지 20 밀리미터)에 걸쳐 SoC의 주변기기들에 대한 상이한 경로들을 가로질러야 한다.
[0029]상기 문제를 해결하기 위한 일 접근법은 중앙에 위치된 메모리 제어기로부터 소스 동기식 인터페이스를 통해 SoC의 주변기기로 DDR 데이터를 전송하는 것이다. 그러나, 이 접근법은, 클록 속도들이 기가헤르쯔 범위에 도달할 경우 극도로 지루하고 거의 도달가능하지 않게 된다. DDR SDRAM에 도달하는 클록은 또한 엄격한 지터(Tjit) 및 듀티 사이클(Tdc) 요건들을 충족시켜야 하는데, 이는, SoC의 다양한 부분들에 대한 전압 및 온도 유도식 지터들로 인해 SoC의 주변기기로 분배되는 중앙-생성 클록에 대해서는 달성하기 곤란하다.
[0030]SoC에 걸쳐 데이터를 전송하기 위한 다른 접근법은 FIFO(first-in-first-out) 디바이스와 같은 회로에 걸쳐 표준 비동기식 클록 도메인을 이용하는 것이다. 이러한 접근법은 도메인 크로싱을 위해 여러 가지 추가 클록 사이클들을 발생시키며, 이는 레이턴시-민감 시스템에 대해 막대한 불이익이 될 수 있다. 이 접근법은 또한, DDR 데이터의 동일한 워드에 대응하는 바이트들이 외부 DDR SDRAM으로 출력될 경우 거기에 맞춰 조절되는 것을 보증하기 위해서 PHY 블록들 간의 조정(coordination)을 요구한다.
[0031]도 2는 본 개시물의 양상에 따른 메모리 인터페이스(205)를 도시한다. 메모리 인터페이스(205)는 메모리 제어기(115) 및 클록 위상-고정 루프(PLL)(210)를 포함하며, 이 둘 모두는 SoC(110) 상에 중앙에 위치될 수 있다. 메모리 인터페이스(205)는 또한 클린업 PLL(225) 및 동기화 회로(230)를 포함하며, 이 둘 모두는 SoC(110)의 주변기기 근처에 위치되고 도 1에 도시된 PHY 블록들 중 하나에 포함될 수 있다. 메모리 인터페이스(205)는 또한 주파수 분배기(212)를 포함할 수 있다.
[0032]동작 시, 클록 PLL(210)은 수정 발진기(미도시)로부터 입력 클록 신호를 수신하고, 입력 클록 신호에 기초하여 출력 클록을 생성한다. 메모리 제어기(115)는 외부 DDR SDRAM에 액세스하는 SoC(110) 상의 블록(미도시)으로부터의 데이터에 기초하여 DDR 데이터를 생성한다. 메모리 제어기(115)는 또한, 클록 PLL(210)로부터의 출력 클록 신호에 기초하여 데이터 클록 신호를 생성한다. 고속 데이터 이송의 경우, 데이터 클록 신호는 약 1 기가헤르쯔 또는 그 초과의 주파수를 가질 수 있다. 메모리 제어기(115)는 DDR 데이터와 데이터 클록 신호를 동기화 회로(230)에 출력한다. DDR 데이터는 메모리 제어기(115)에서 데이터 클록 신호의 상승 에지들에 맞춰 조절될 수 있다. DDR 데이터 및 데이터 클록 신호는, 대략 SoC(110)의 중앙으로부터 SoC(110)의 주변기기 근처에 위치되는 동기화 회로(230)까지 SoC(110)를 가로질러 비교적 장거리(예를 들어, 10 내지 20 밀리미터들)에 걸쳐 이동한다.
[0033]주파수 분배기(212)는 또한 클록 PLL(210)로부터 출력 클록 신호를 수신하고, 출력된 클록 신호의 주파수를 N으로 제산하여 더 낮은 주파수 기준 클록 신호를 생성하고, 이는 클린업 PLL(225)로 출력된다. 더 낮은 주파수 클록 신호가 더 적은 전력을 소비하기 때문에 전력 소비를 감소시키기 위해서 주파수 감축이 완료된다. 기준 클록 신호가 대략 SoC(110)의 중앙으로부터 클린업 PLL(225)(SoC(110)의 주변기기 근처에 위치됨)로 SoC(110)를 가로질러 비교적 장거리(예를 들어, 10 내지 20 밀리미터들)에 걸쳐 이동한다. 그 결과, 기준 클록 신호는 기준 클록 신호가 클린업 PLL(225)에 도달하는 시각까지 SoC의 다양한 부분들로부터의 지터를 누적시킨다.
[0034]클린업 PLL(225)은 기준 신호의 지터를 감소시키고 기준 클록 신호의 주파수를 N으로 승산하여 클린 클록 신호를 생성한다. 클린 클록 신호는 데이터 클록 신호와 동일한 주파수를 가질 수 있지만, 반드시 동일한 위상을 갖지는 않을 수 있다. 클린업 PLL(225)는 지터를 감쇠시키는 루프 필터(예를 들어, 저역 통과 루프 필터)를 이용하여 지터를 감소시킨다. 외부 DDR SDRAM으로 출력되는 DDR 출력 클록 신호용으로 클린 클록 신호가 사용될 수 있다. 이는, 클린 클록 신호(SoC(110)의 주변기기 근처에서 생성됨)가, 외부 DDR SDRAM으로의 출력을 위해 단거리를 이동하여 SoC(110)이 IO 핀에 도달해야만 하고, 따라서 낮은 지터를 갖기 때문이다. 클린 클록 신호는 또한 DDR SDRAM에 데이터 스트로브 신호를 생성시키기 위해서 사용될 수 있으며, DDR SDRAM은 DDR 데이터를 샘플링(캡쳐)하기 위해 사용될 수 있다. 낮은 지터는, 클록 및 데이터 스트로브 타이밍 요건들이 더 용이하게 DDR SDRAM에 충족될 수 있게 한다.
[0035]동기화 회로(230)는 메모리 제어기(115)로부터 DDR 데이터와 데이터 클록 신호를 수신하고 클린업 PLL(225)로부터 클린 클록 신호를 수신하며, 클린업 PLL(225)은 동기화 회로(230) 근처에 위치되고 따라서 동기화 회로(230)에 대해 국소적인 장소이다. 동기화 회로(230)는 데이터 클록 신호를 이용하여 DDR 데이터를 샘플링(캡처)한다. 예를 들어, 동기화 회로(230)는 데이터 클록 신호의 상승 에지 또는 하강 에지 상에서 DDR 데이터를 캡쳐할 수 있다. 이후, 동기화 회로(230)는 캡처된 DDR 데이터를 클린 클록 신호와 동기화한다. 이와 같이, 동기화 회로(230)는 DDR 데이터를 데이터 클록 도메인으로부터 클린 클록 도메인으로 시간을 다시 맞춘다(retimes). 동기화 회로(230)는 시간이 다시 맞춰진 DDR 데이터를 외부 DDR SDRAM으로 출력시킬 수 있다. 시간이 다시 맞춰진 DDR 데이터는 SoC(110) 상의 하나 이상의 IO 핀들을 경유하여 외부 DDR SDRAM으로 직접 출력될 수 있거나, 또는 하나 이상의 IP 핀들을 경유하여 외부 DDR SDRAM으로 출력되기 전에 개별적인 PHY 블록에서 추가 프로세싱을 받을 수 있다.
[0036]하나의 동기화 회로와 하나의 클린업 PLL이 예시의 용이함으로 위해서 도 2에 도시되었지만, 메모리 인터페이스는 SoC(110)의 주변기기를 따라 상이한 위치들에서 복수의 동기화 회로들 및 클린업 PLL들을 포함할 수 있다는 것을 인식해야 한다. 예를 들어, 도 1에 도시된 PHY 블록들 각각은 하나 이상의 동기화 회로들 및 하나 이상의 클린업 PLL들을 포함할 수 있다.
[0037]도 3은 본 개시물의 일 실시예에 따른 동기화 회로(330)를 도시한다. 동기화 회로(330)는 제 1-스테이지 플립-플롭(335), 상승-에지(RE; rising-edge) 플립-플롭(340), 하강-에지(FE; falling-adge) 플립-플롭(350), 출력 플립-플롭(365), 멀티플렉서(360), 위상 검출기(370), 및 셀렉터(380)를 포함한다.
[0038]제 1-스테이지 플립-플롭(335)은 메모리 제어기(115)로부터 DDR 데이터 및 데이터 클록 신호를 수신하고, 데이터 클록 신호의 하강 에지들 상에서 DDR 데이터를 샘플링(캡쳐)한다. 제 1-스테이지 플립-플롭(335)은 샘플링된(캡처된) DDR 데이터를 RE 플립-플롭(340) 및 FE 플립-플롭(350)에 출력한다.
[0039]RE 플립-플롭(340)은 클린 클록 신호의 상승 에지들 상의 제 1-스테이지 플립-플롭(335)로부터 DDR 데이터를 샘플링하고, FE 플립-플롭(350)은 클린 클록 신호의 하강 에지들 상의 제 1-스테이지 플립-플롭(335)으로부터 DDR 데이터를 샘플링한다. RE 플립-플롭(340) 및 FE 플립-플롭(350)은 각각 RE-샘플링 DDR 데이터 및 FE-샘플링 DDR 데이터를 멀티플렉서(360)로 출력한다. 멀티플렉서(360)는 선택적으로, 아래에서 추가로 논의되는 바와 같이, 셀렉터(380)로부터의 커맨드들에 기초하여 RE-샘플링 DDR 데이터 또는 FE-샘플링 DDR 데이터를 출력 플립-플롭(360)으로 출력한다. 출력 플립-플롭(360)은 클린 클록 신호에 맞춰 조절되는 클린 DDR 데이터를 생성하기 위해서 클린 클록 신호의 하강 에지들 상에서 멀티플렉서(260)의 출력을 샘플링(캡처)한다. 이와 같이, 동기화 회로(330)는 DDR 데이터를 데이터 클록 도메인으로부터 클린 클록 도메인으로 시간을 다시 맞춘다. 상기 논의된 바와 같이, 클린 클록 신호는 DDR SDRAM으로 출력되는 DDR 클록용으로 사용될 수 있으며, 이 경우, 동기화 회로(330)는 DDR 데이터를 DDR 클록 출력과 동기화한다.
[0040]상기 논의된 바와 같이, 클린업 PLL(225)로부터의 클린 클록 신호 및 데이터 클록 신호는 동일한 주파수를 가질 수 있지만, 반드시 동일한 위상을 갖지는 않는다. 위상 검출기(370)는 클린 클록 신호와 데이터 클록 신호를 수신하고, 2개의 클록 신호들 간의 위상차(오프셋)를 결정한다. 위상 검출의 입도(granularity)는 클록 사이클(기간)의 4분의 1이거나 더 미세한 입도일 수 있다. 셀렉터(380)는, 아래에 추가로 논의되는 바와 같이, 위상 검출기(370)으로부터의 위상 검출에 기초하여 RE 플립-플롭(340)으로부터의 RE-샘플링 DDR 데이터 또는 FE 플립-플롭(350)으로부터의 FE-샘플링 DDR 데이터를 선택하도록 멀티플렉서(360)에 명령한다.
[0041]일 실시예에서, 셀렉터(380)는, 데이터 클록 신호의 하강 에지(샘플링 에지)가 위상 검출기(370)로부터의 위상 검출에 기초하여 클린 클록 신호의 상승 에지 또는 하강 에지에 더 가까운지 여부를 결정한다. 데이터 클록 신호의 하강 에지(샘플링 에지)가 클린 클록 신호의 상승 에지에 더 가까운 경우, 셀렉터(380)는 FE 플립-플롭(350)으로부터 FE-샘플링 DDR 데이터를 선택하도록 멀티플렉서(360)를 명령한다. 데이터 클록 신호의 하강 에지(샘플링 에지)가 클린 클록 신호의 하강 에지에 더 가까운 경우, 셀렉터(380)는 RE 플립-플롭(340)으로부터 RE-샘플링 DDR 데이터를 선택하도록 멀티플렉서(360)를 명령한다. 이와 같이, 셀렉터(380)는, 데이터 클록 신호의 하강 에지(샘플링 에지)로부터 더 멀리 떨어져 있는 클린 클록 신호의 에지 상의 DDR 데이터를 샘플링하는 플립-플롭(340 및 350)의 출력을 선택한다. 이는, 제 1-스테이지 플립-플롭(335)로부터의 DDR 데이터가 데이터 클록 신호의 하강 에지들(샘플링 에지들) 상에서 변하기 때문이다. 그 결과, 제 1-스테이지 플립-플롭(335)로부터의 DDR 데이터는, 데이터 클록 신호의 하강 에지(샘플링 에지)로부터 더 멀리 떨어져 있는 클린 클록 신호의 에지 상에 샘플링될 경우 안정한 상태가 될 가능성이 더 높다(따라서, 준안정 상태(metastable state)를 발생시킬 가능성이 더 낮다).
[0042]일 실시예에서, 위상 검출기(370)의 입도는 클록 사이클(기간)의 4분의 1이다. 이에 관하여, 도 4는 클린 클록 신호(410)의 예를 도시하며, 여기서 클린 클록 신호(410)의 각각의 사이클은 4개의 사분면들(1내지 4로 라벨링됨)로 분할된다. 이 실시예에서, 위상 검출기(370)는, 데이터 클록 신호의 하강 에지(샘플링 에지)가 클린 클록 신호(410)의 4개의 사분면들 중 어느 사분면에 존재할지를 나타내는 값을 출력할 수 있다. 위상 검출기(370)가, 데이터 클록 신호의 하강 에지가 1 사분면 또는 4 사분면에 존재한다는 것을 나타내는 경우, 데이터 클록 신호의 하강 에지는 클린 클록 신호(410)의 하강 에지보다 클린 클록 신호(410)의 상승 에지에 더 가까워지는 것으로 여겨질 수 있다. 이 경우, 셀렉터(380)는, FE-샘플링 DDR 데이터를 FE 플립-플롭(350)으로부터 선택하도록 멀티플렉서(360)를 명령할 수 있다. 위상 검출기(370)는, 데이터 클록 신호의 하강 에지가 2 사분면 또는 3 사분면에 존재한다는 것을 나타내는 경우, 데이터 클록 신호의 하강 에지는 클린 클록 신호(410)의 상승 에지보다 클린 클록 신호(410)의 하강 에지에 더 가까워지는 것으로 여겨질 수 있다. 이 경우, 셀렉터(380)는, RE-샘플링 DDR 데이터를 RE 플립-플롭(340)으로부터 선택하도록 멀티플렉서(360)를 명령할 수 있다.
[0043]도 5는 다른 실시예에 따른 동기화 회로(530)를 도시하며, 이 실시예에서, 위상 검출기(570)는 메모리 제어기(115)로부터의 캘리브레이션 신호를 이용하여 위상 검출을 수행한다. 메모리 제어기(115)는 캘리브레이션 신호를 동기화 회로(530)로 주기적으로 출력할 수 있다. 예를 들어, 메모리 제어기(115)는 데이터 클록 신호의 사이클들의 M개 마다 캘리브레이션 신호를 한번 출력할 수 있다. 각각의 캘리브레이션 신호는 펄스 신호 또는 다른 타입의 신호를 포함할 수 있다. 메모리 제어기(115)는 메모리 제어기(115)로부터 동기화 회로(530)로 DDR 데이터를 전송하기 위해 사용되는 데이터 라인 상에 캘리브레이션 신호를 주기적으로 출력할 수 있으며, DDR 데이터와 캘리브레이션 신호는 데이터 라인 상에서 상이한 시각들에 전송된다.
[0044]캘리브레이션 신호가 메모리 제어기(115)로부터 출력되는 경우, 제 1-스테이지 플립-플롭(335)은 데이터 클록 신호의 하강 에지(샘플링 에지) 상에서 캘리브레이션 신호를 캡처한다. 그 결과, 캡처된 캘리브레이션 신호의 상승 에지는 데이터 클록 신호의 하강 에지(샘플링 에지)에 맞춰 대략적으로 조절된다. 위상 검출기(570)는 제 1-스테이지 플립-플롭(335)로부터 캡처된 캘리브레이션 신호를 수신하고 캡처된 캘리브레이션 신호의 상승 에지와 클린 클록 신호의 상승 에지 사이의 위상차(오프셋)를 결정한다. 캡처된 캘리브레이션 신호의 상승 에지가 데이터 클록 신호의 하강 에지(샘플링 에지)에 맞춰 대략적으로 조절되기 때문에, 위상차는 데이터 클록 신호의 하강 에지(샘플링 에지)와 클린 클록 신호의 상승 에지 사이의 위상차와 대략 동일하다.
[0045]위상 검출기(570)는 결정된 위상차를 셀렉터(380)에 출력하며, 셀렉터(380)는 위상차에 기초하여 RE 플립-플롭(340)으로부터의 RE-샘플링 DDR 데이터를 또는 FE 플립-플롭(350)으로부터의 FE-샘플링 DDR 데이터를 선택하도록 멀티플렉서(360)에 명령한다. 예를 들어, 위상 검출기(570)가 클록 사이클의 4분의 1의 입도를 갖는 경우, 셀렉터(380)는, 캡처된 캘리브레이션 신호의 상승 에지가 2 사분면 또는 3 사분면에 존재한다는 것을 위상 검출기(570)가 나타낼 경우 RE 플립-플롭(340)으로부터 RE-샘플링된 DDR 데이터를 선택하도록 멀티플렉서(360)에 명령할 수 있다. 셀렉터(380)는, 캡처된 캘리브레이션 신호의 상승 에지가 1 사분면 또는 4 사분면에 존재한다는 것을 위상 검출기(570)가 나타낼 경우 FE 플립-플롭(350)으로부터 FE-샘플링 DDR 데이터를 선택하도록 멀티플렉서(360)에 명령할 수 있다.
[0046]일 실시예에서, 셀렉터(380)는 가장 최근에 수신된 캘리브레이션 신호를 이용한 위상 검출에 기초하여 RE 플립-플롭(340) 또는 FE 플립-플롭(350)을 선택하도록 멀티플렉서(360)에 명령할 수 있다. 이와 같이, 선택은, 캘리브레이션 신호가 메모리 제어기(115)로부터 수신되고 캘리브레이션 신호들 사이에서 일정하게 유지될 경우에만 업데이트된다. 그 결과, 위상 검출들(그에 따른 셀렉터 업데이트들)의 빈도는 캘리브레이션 신호들의 주파수를 제어함으로써 제어될 수 있다. 캘리브레이션 신호들의 주파수가 SoC(110)의 지터의 특성화에 기초하여 제어되고 미세-조정될 수 있다.
[0047]도 6은 본 개시물의 일 양상에 따른 위상 검출기(570)의 예시적인 구현예를 도시한다. 이 실시예에서, 위상 검출기(570)는 클록 사이클의 4분의 1의 입도를 갖는다. 위상 검출기(570)는 제 1 입력 플립-플롭(610-1), 제 2 입력 플립-플롭(610-2), 제 3 입력 플립-플롭(610-3), 제 4 입력 플립-플롭(610-2), 제 1 출력 플립-플롭(620-1), 제 2 출력 플립-플롭(620-2), 제 3 출력 플립-플롭(620-3), 제 4 출력 플립-플롭(610-4), 및 인코더(630)를 포함한다.
[0048]제 1, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-1 내지 610-4) 각각은 그의 데이터 입력부 D에서 제 1-스테이지 플립-플롭(335)의 출력으로부터 캘리브레이션 신호를 수신한다. 제 1 입력 플립-플롭(610-1)은 그의 클록 입력(Clk)에서 클린 클록 신호를 수신하고, 제 2 입력 플립-플롭(610-2)은 그의 클록 입력(Clk)에서 90도 시프트된 클린 클록 신호를 수신하고, 제 3 입력 플립-플롭(610-3)은 그의 클록 입력(Clk)에서 180도 시프트된 클린 클록 신호를 수신하고, 그리고 제 4 입력 플립-플롭(610-4)은 그의 클록 입력(Clk)에서 270도 시프트된 클린 클록 신호를 수신한다.
[0049]제 1 입력 플립-플롭(610)은 클린 클록 신호의 상승 에지 상의 캘리브레이션 신호를 샘플링하고, 제 2 입력 플립-플롭(610-2)은 90도 시프트된 클린 클록 신호의 상승 에지 상의 캘리브레이션 신호를 샘플링하고, 제 3 입력 플립-플롭(610-3)은 180도 시프트된 클린 클록 신호의 상승 에지 상의 캘리브레이션 신호를 샘플링하고, 제 4 입력 플립-플롭(610-4)은 270도 시프트된 클린 클록 신호의 상승 에지 상의 캘리브레이션 신호를 샘플링한다. 이와 같이, 제 1, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-1 내지 610-4)은 서로 90도 떨어져 이격된 4개의 상이한 샘플 포인트들에서 캘리브레이션 신호를 샘플링한다.
[0050]출력 플립-플롭들(620-1 내지 620-4) 각각이 입력 플립-플롭(610-1 내지 610-4) 중 개별적인 플립-플롭의 출력에 결합된다. 예를 들어, 제 1 출력 플립-플롭(620-1)이 제 1 입력 플립-플롭(610-1)의 출력에 결합되고, 제 2 출력 플립-플롭(620-2)이 제 2 입력 플립-플롭(610-2)의 출력에 결합되는 식이다. 출력 플립-플롭들(620-1 내지 620-4) 각각이 클린 클록 신호의 상승 에지 상의 개별적인 입력 플립-플롭(610-1 내지 610-4)의 출력 값을 샘플링(캡처)하고 샘플링된 출력 값을 인코더(630)로 출력한다. 이와 같이, 인코더(630)가 4개의 값들(도 6에서 Dsamp[0] 내지 Dsamp[3]으로 표기됨)을 수신하며, 각각의 값은 4개의 샘플 포인트들 중 상이한 샘플 포인트에서 샘플링된 캘리브레이션 신호에 대응한다.
[0051]이후, 인코더(630)는, 츨력 플립-플롭들(620-1 내지 620-4)로부터의 4개의 값들에 기초하여 캘리브레이션 신호의 상승 에지가 어느 사분면에 존재하는지를 결정하고 결정된 사분면을 나타내는 위상-검출 신호를 셀렉터(380)에 출력한다. 위상-검출 신호는, 캘리브레이션 신호의 상승 에지가 존재하는 사분면을 식별하는 2-비트 신호(도 6에서 Pout[1:0]으로 표기됨)일 수 있다.
[0052]위상 검출기(570)의 동작이 이제 도 7에 대한 일 실시예에 따라 설명될 것이다. 도 7은, 각각의 클록 사이클이 4개의 사분면들로 분할되는 클린 클록 신호(710)의 예를 도시한다. 도 7은 또한, 각각, 제 1, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-1, 610-2, 610-3 및 610-4)에 대응하는 4개의 샘플 포인트들 ph0, ph90, ph180 및 ph270을 도시한다. 도 7은 추가로, 4개의 예시적인 캘리브레이션 신호들(720-1 내지 720-4)을 도시하며, 여기서 각각의 캘리브레이션 신호는 클린 클록 신호(710)의 상이한 사분면에 존재하는 상승 에지를 가지며, 각각의 캘리브레이션 신호는 대략적으로 하나의 사이클 클록과 동일한 펄스 폭을 갖는다.
[0053]캘리브레이션 신호들(710-1 내지 710-4) 각각에 대해서, 도 7은 그 캘리브레이션 신호에 대한 제 1, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-1 내지 610-4)로부터의 4개의 출력 값들을 도시한다. 예를 들어, 1 사분면에 존재하는 상승 에지를 갖는 캘리브레이션 신호(710-1)의 경우, 제 1 출력 플립-플롭(610-1)은 로직 0을 출력하고, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-2, 610-3, 및 610-4) 각각이 로직 1을 출력한다(캘리브레이션 신호(720-1)의 파형 상에 "0111"로 나타내어짐). 2 사분면에 존재하는 상승 에지를 갖는 캘리브레이션 신호(710-2)의 경우, 제 1 및 제 2 입력 플립-플롭들(610-1 및 610-2) 각각은 로직 0을 출력하고, 제 3 및 제 4 입력 플립-플롭들(610-3 및 610-4) 각각이 로직 1을 출력한다(캘리브레이션 신호(720-2)의 파형 상에 "0011"로 나타내어짐). 3 사분면에 존재하는 상승 에지를 갖는 캘리브레이션 신호(710-3)의 경우, 제 1, 제 2 및 제 3 입력 플립-플롭들(610-1, 610-2 및 610-3) 각각은 로직 1을 출력하고, 제 4 입력 플립-플롭들(610-4)이 로직 0을 출력한다(캘리브레이션 신호(720-3)의 파형 상에 "1110"로 나타내어짐). 마지막으로, 4 사분면에 존재하는 상승 에지를 갖는 캘리브레이션 신호(710-4)의 경우, 제 1, 제 2, 제 3 및 제 4 입력 플립-플롭들(610-1 내지 610-4) 각각이 로직 1을 출력한다(캘리브레이션 신호(720-4)의 파형 상에 "1111"로 나타내어짐). 인코더(630)는, 각각의 사분면에 대해 상기 주어진 출력 값들에 따라 캘리브레이션 신호의 상승 에지가 어느 사분면에 존재할지를 결정하도록 프로그래밍될 수 있다.
[0054]도 8은 본 개시물의 다른 실시예에 따른 동기화 회로(830)를 도시한다. 동기화 회로(830)는, 이 동기화 회로(830)가 제 1, 제 2 및 제 3 RE 플립-플롭들(840, 842 및 844)과, 제 1, 제 2 및 제 3 FE 플립-플롭들(850, 852 및 854)을 포함하는 것을 제외하고, 도 5에 도시된 동기화 회로와 유사하다.
[0055]제 1, 제 2 및 제 3 RE 플립-플롭들(844, 842 및 842)이 직렬로 결합된다. 제 1 RE 플립-플롭(840)은 클린 클록 신호의 상승 에지들 상의 제 1-스테이지 플립-플롭(335)의 출력을 샘플링하고, 제 2 RE 플립-플롭(842)은 클린 클록 신호의 상승 에지들 상의 제 1 RE 플립-플롭(840)의 출력을 샘플링하고, 제 3 RE 플립-플롭(844)은 클린 클록 신호의 상승 에지들 상의 제 2 RE 플립-플롭(842)의 출력을 샘플링한다.
[0056]제 1, 제 2 및 제 3 FE 플립-플롭들(854, 852 및 854)이 직렬로 결합된다. 제 1 FE 플립-플롭(850)은 클린 클록 신호의 하강 에지들 상의 제 1-스테이지 플립-플롭(335)의 출력을 샘플링하고, 제 2 FE 플립-플롭(852)은 클린 클록 신호의 하강 에지들 상의 제 1 FE 플립-플롭(850)의 출력을 샘플링하고, 제 3 FE 플립-플롭(854)은 클린 클록 신호의 하강 에지들 상의 제 2 RE 플립-플롭(852)의 출력을 샘플링한다.
[0057]멀티플렉서(860)의 입력이 RE 플립-플롭들(840, 842 및 844)의 출력들에, FE 플립-플롭들(850, 852 및 854)의 출력들, 및 제 1-스테이지 플립-플롭(335)의 출력에 결합된다. 셀렉터(880)는, 위상 검출기(570)으로부터의 위상-검출 신호들에 기초하여 플립-플롭들 중 하나의 출력을 선택하도록 멀티플렉서(360)에게 명령한다. 멀티플렉서(360)는 선택된 출력을 출력 플립-플롭(365)에 결합하고, 출력 플립-플롭(365)은 클린 클록 신호의 하강 에지들 상에서 선택된 출력을 샘플링(캡처)하여 클린 클록 신호(이는 DDR 클록 출력용으로 사용될 수 있음)와 동기화되는 DDR 데이터를 생성한다.
[0058]이와 같이, 플립-플롭들(335, 840, 842, 844, 850, 852 및 854)은 7개의 상이한 샘플 포인트들에 대응하는 샘플링된 데이터를 제공한다. 제 1, 제 2 및 제 3 RE 플립-플롭들(840, 842 및 844)의 샘플 포인트들은 서로로부터 1 클록 사이클만큼 오프셋된다. 제 1, 제 2 및 제 3 FE 플립-플롭들(850, 852 및 854)의 샘플 포인트들은 서로로부터 1 클록 사이클만큼 오프셋되고, 제 1, 제 2 및 제 3 RE 플립-플롭들(840, 842 및 844)의 샘플 포인트들로부터 클록 사이클의 절반 만큼 오프셋된다. 이와 같이, 플립-플롭들 중 하나의 출력을 선택함으로써, 셀렉터(880)는 선택된 플립-플롭에 대응하는 샘플 포인트를 선택한다.
[0059]본 실시예에 따른 동기화 회로(830)는 상이한 PHY 블록들 간의 사이클 슬립들을 방지할 수 있다. 사이클 슬립은, 메모리 제어기(115)에서 동일한 클록 사이클에 대응하는 2개의 데이터 바이트들이 개별적인 PHY 블록들에서 상이한 클록 사이클들에서 샘플링(캡처)될 경우 발생할 수 있다. 그 결과, 메모리 제어기(115)에서 조절되는 2 데이터 바이트들은 PHY 블록들에서 더 이상 조절되지 않는다. 동기화 회로(830)는, 아래에 추가로 논의되는 바와 같이, 동기화 회로(830)의 출력을 풀링 인(pulling in) 또는 푸쉬 아웃(pushing out)함으로써 사이클 슬립을 방지할 수 있다.
[0060]데이터 클록 신호와 클린 클록 신호 간의 위상차가 하나의 PHY 블록에서 시간에 따라 드리프트(drift)할 경우 사이클 슬립이 발생될 수 있지만, 다른 PHY 블록에서는 드리프트하지 않거나 또는 다른 PHY 블록에서 상이한 양만큼 드리프트한다. 위상 드리프트는 SoC의 온도 변화들 및/또는 다른 원인에 의해 발생될 수 있다. 메모리 제어기(115)와 상이한 PHY 블록들 간의 정적 지연 불일치들에 의해 정적 사이클 슬립이 발생될 수 있다. 동기화 회로(830)는 사이클 슬립들의 타입들 둘 모두를 방지할 수 있다.
[0061]위상 드리프트로 인한 사이클 슬립을 방지하기 위해서, 셀렉터(880)는 메모리 제어기(115)로부터의 캘리브레이션 신호들과 클린 클록 신호 사이의 위상 드리프트를 검출하고, 검출된 드리프트를 보상하기 위해 멀티플렉서(360)의 선택을 그에 따라 조정하도록 구성될 수 있다. 위상 드리프트가 점진적인 경우, 셀렉터(880)는 위상 검출기(570)로부터 위상-검출 신호들의 변화들을 시간에 따라 추적함으로써 드리프트를 검출할 수 있다.
[0062]위상 검출기(570)가 캘리브레이션 신호들의 상승 에지가 어느 사분면에 존재하는지를 나타내는 위상-검출 신호를 출력하는 실시예의 경우, 셀렉터(880)는 위상-검출 신호들에 의해 나타내어진 사분면의 변화들을 추적함으로써 위상 드리프트를 검출할 수 있다. 위상 드리프트가 위상-검출 신호들 사이에서 90도 미만이라고 가정하면, 셀렉터(880)는 위상-검출 신호들에 의해 나타내어진 사분면에서의 변화들에 기초하여 위상 드리프트의 방향을 결정할 수 있다. 셀렉터(880)는 이후, 검출된 위상 드리프트를 보상하기 위해서 멀티플렉서(360)에 의해 플립-플롭 선택을 조정함으로써, 사이클 슬립을 방지할 수 있다.
[0063]일 실시예에서, 셀렉터(880)는 트루스 테이블(905)을 이용하여 구현될 수 있고, 이것의 예가 도 9에 도시된다. 트루스 테이블(905)에서, 각각의 로우가 하나의 사분면에 대응하고 각각의 컬럼은 멀티플렉서(860)가 선택할 수 있는 플립-플롭들 중 상이한 플립-플롭에 대응한다. 제 1, 제 2 및 제 3 RE 플립-플롭들(840, 842 및 844)은 각각, 트루스 테이블(905)에서 RE0, RE1 및 RE2로 나타내어진다. 제 1, 제 2 및 제 3 FE 플립-플롭들(850, 852 및 854)은 각각, 트루스 테이블(905)에서 RE0, RE1 및 RE2로 나타내어진다. 제 1-스테이지 플립-플롭(335)은, 제 1-스테이지 플립-플롭(335)의 출력이 동기화 회로(830)에서 데이터 런치 포인트(data launch point)이기 때문에 트루스 테이블(905)에서 "런치(Launch)"로 나타내어진다.
[0064]트루스 테이블(905)에서, 각각의 사분면에는 a(n),(n+1) 또는 (n-1)로 주석이 달린다. 이는, 위상 드리프트의 상이한 양들에 대응하는 사분면들을 구분하기 위해 사용된다. 예를 들어, 트루스 테이블(905)에서, 4(n+1) 사분면은 4(n) 사분면으로부터 일 방향으로 1 클록 사이클의 위상 드리프트에 대응할 수 있고, 4(n-1) 사분면은 4(n) 사분면으로부터 반대 방향으로 1 클록 사이클의 위상 드리프트에 대응할 수 있다.
[0065]일 실시예에서, 셀렉터(880)는 트루스 테이블(905)의 특정 엔트리에서 시작하고, 시작 엔트리에 기초하여 플립-플롭들 중 하나를 선택할 수 있다. 예를 들어, 위상 검출기(570)는 처음에, 1 사분면을 나타내는 위상-검출 신호를 출력할 수 있다. 이 예에서, 셀렉터(800)는 트루스 테이블(905)의 1(n) 사분면에 대응하는 엔트리에서 시작하고 제 1 FE 플립-플롭(850)의 출력을 선택할 수 있다. 시작 조건이 확립된 후, 셀렉터(880)는, 아래에 추가로 논의되는 바와 같이, 위상 드리프트를 보상하기 위해서 트루스 테이블(905)을 이용하여 플립-플롭 선택을 업데이트할 수 있다.
[0066]예를 들어, 위상-검출 신호들에 의해 나타내어진 사분면이 초기화 이후 1 사분면에서 2 사분면으로 변경될 경우, 셀렉터(880)는, 트루스 테이블(905)에서 2(n) 사분면에 대응하는 엔트리로 이동하고 제 1 RE 플립-플롭(840)의 출력을 선택한다. 위상-검출 신호들에 의해 나타내어진 사분면이 후속하여 2 사분면로부터 3 사분면으로 변경되는 경우, 셀렉터(880)는 트루스 테이블(905)에서 3(n+1) 사분면에 대응하는 엔트리로 이동한다. 이 경우, 플립-플롭 선택은 변하지 않는다. 위상-검출 신호들에 의해 나타내어진 사분면이 3 사분면으로부터 4 사분면으로 나중에 변하는 경우, 셀렉터(880)는 4(n+1) 사분면에 대응하는 엔트리로 이동하고 제 1-스테이지 플립-플롭(335)의 출력을 선택한다. 이 예에서, 사분면은, 셀렉터(380)로 하여금 트루스 테이블(905)의 우측으로 이동하게 하는 위상 드리프트로 인해 변경되며, 따라서 위상 드리프트를 보상하기 위해서 셀렉터(380)의 출력을 풀링 인(pull in)한다.
[0067]다른 예에서, 위상-검출 신호들에 의해 나타내어진 사분면이 초기화 이후 1 사분면에서 4 사분면로 변경될 경우, 셀렉터(880)는, 트루스 테이블(905)에서 4(n) 사분면에 대응하는 엔트리로 이동한다. 이 경우, 플립-플롭 선택은 변하지 않는다. 위상-검출 신호들에 의해 나타내어진 사분면이 4 사분면로부터 3 사분면으로 나중에 변하는 경우, 셀렉터(880)는 트루스 테이블(905)의 3(n) 사분면에 대응하는 엔트리로 이동하고 제 2 RE 플립-플롭(852)의 출력을 선택한다. 위상-검출 신호들에 의해 나타내어진 사분면이 3 사분면으로부터 2 사분면로 나중에 변하는 경우, 셀렉터(880)는 2(n-1) 사분면에 대응하는 엔트리로 이동한다. 경우, 플립-플롭 선택은 변하지 않는다. 위상-검출 신호들에 의해 나타내어진 사분면이 2 사분면으로부터 1 사분면로 나중에 변하는 경우, 셀렉터(880)는 트루스 테이블(905)에서 1(n-1) 사분면에 대응하는 엔트리로 이동하고 제 2 FE 플립-플롭(852)의 출력을 선택한다. 이 예에서, 사분면은, 셀렉터(380)로 하여금 트루스 테이블(905)의 좌측으로 이동하게 하는 위상 드리프트로 인해 변경되며, 따라서 위상 드리프트를 보상하기 위해서 셀렉터(380)의 출력을 푸쉬 아웃(push out)한다.
[0068]이와 같이, 어느 한 방향의 위상 드리프트를 보상하기 위해 멀티플렉서(860)에 의한 플립-플롭 선택을 조정하기 위해서 트루스 테이블(905)이 사용될 수 있다. 시작 엔트리가 상술된 예에서 트루스 테이블(905)의 1(n) 사분면에 대응하더라도, 본 개시물의 실시예들이 이 예로 제한되지 않는다는 것을 인식하게 된다. 예를 들어, 위상 검출기(570)는 처음에, 4 사분면을 나타내는 위상-검출 신호를 출력할 수 있다. 이 예에서, 셀렉터(880)는 트루스 테이블(905)의 4(n) 사분면에 대응하는 엔트리를 시작 포인트로서 사용할 수 있다. 이와 같이, 시작 엔트리는 위상 검출기(570)에 의해 나타내어진 최초 사분면에 의존할 수 있다. 더욱이, 본 개시물의 실시예들은 도 9에 도시된 특정 트루스-테이블 엔트리들로 제한되지 않는다는 것이 인식될 것이다.
[0069]논의된 바와 같이, 정적 사이클 슬립은 메모리 제어기(115)와 상이한 PHY 블록들 간의 정적 지연 불일치들(예를 들어, 메모리 제어기(115)로부터 상이한 PHY 블록들까지의 신호 경로들의 길이들에 있어서의 불일치)에 의해 발생될 수 있다. 정적 사이클 슬립의 결과로서, 메모리 제어기(115)에서 동일한 사이클에 있는 2개의 데이터 바이트들은 PHY 블록들에서 결국 상이한 사이클들에 있게 될 수 있다.
[0070]정적 사이클 슬립을 해결하기 위해서, 본 개시물은 SoC 상의 복수의 PHY 블록들 간의 정적 사이클 슬립을 결정하고 정적 사이클 슬립을 캘리브레이팅하기 위한 방법을 제공한다. 일 실시예에서, PHY 블록들 각각은 도 8에 도시된 동기화 회로(830)를 포함할 수 있다.
[0071]SoC의 부팅 시간 동안 또는 바로 직후에, 메모리 제어기(115)는 캘리브레이션 신호를 PHY 블록들 각각으로 전송한다. PHY 블록들 각각에서의 위상 검출기(570)는 개별적인 캘리브레이션 신호가 DDR 클록 신호의 어느 사분면에서 조절되는지를 결정한다. 각각의 PHY 블록은 이후, 결정된 사분면을 메모리 제어기(115) 또는 다른 제어기로 리포트할 수 있다. PHY 블록들 각각이 동일한 사분면을 리포트하는 경우, 메모리 제어기(115)는 아무것도 하지 않을 수 있다. 그러나, PHY 블록들이 상이한 사분면들을 리포트하는 경우, 정적 지연 불일치가 명백하다. 이 경우, 메모리 제어기(115)는, PHY 블록들에 의해 리포트되는 상이한 사분면들을 분석하고 발생된 정적 불일치가 정적 사이클 슬립인지 여부를 결정할 수 있고, 그러하다면, 정적 사이클 슬립을 캘리브레이팅할 방법을 결정한다.
[0072]이에 관하여, 도 10은 3개의 PHY 블록들에 의해 리포트된 사분면들의 예를 도시한다. PHY 블록들 중 첫 번째 블록은 CA 신호용으로 사용되고, PHY 블록들 중 두 번째 블록은 데이터 바이트(DQ0)용으로 사용되고, PHY 블록들 중 세 번째 블록은 데이터 바이트(DQ1)용으로 사용된다. 이 예에서, 제 1 PHY 블록이 1 사분면에서 조절되고, 제 2 PHY 블록이 2 사분면에서 조절되고, 그리고 제 3 PHY 블록이 3 사분면에서 조절된다. DDR 클록 신호 상의 윗방향 화살표는 PHY 블록들의 출력들의 조절을 나타낸다. 이 예에서, PHY 블록들의 출력들이 조절되고 정적 사이클 슬립 정정이 필요하지 않다.
[0073]도 11은, 제 1 PHY 블록이 2 사분면에서 조절되고, 제 2 PHY 블록이 3 사분면에서 조절되고, 그리고 제 3 PHY 블록이 4 사분면에서 조절되는 예를 도시한다. 이 예에서, PHY 블록들의 출력들이 또한 조절된다.
[0074]도 12는, 제 1 PHY 블록이 3 사분면에서 조절되고, 제 2 PHY 블록이 4 사분면에서 조절되고, 그리고 제 3 PHY 블록이 1 사분면에서 조절되는 예를 도시한다. 이 예에서, 제 1 및 제 2 PHY 블록들의 출력들이 조절된다. 그러나, 제 3 PHY 블록의 출력이 1 클록 사이클만큼 제 1 및 제 2 PHY 블록들의 출력들로부터 오프셋되어, 정적 사이클 슬립을 발생시킨다. 정적 사이클 슬립은, 제 1 및 제 2 PHY 블록들의 출력들에 맞춰 조절하기 위해서 1 클록 사이클만큼 제 3 PHY 블록들의 출력을 풀링 인함으로써 정정될 수 있다.
[0075]대안으로, 정적 사이클 슬립은, 제 3 PHY 블록의 출력들에 맞춰 조절하기 위해서 1 클록 사이클만큼 제 1 및 제 2 PHY 블록들의 출력들을 푸쉬 아웃함으로써 정정될 수 있다. 이 경우, 메모리 제어기(115)는, 정적 사이클 슬립을 정정하기 위해서 명령들을 제 1 및 제 2 PHY 블록들로 전송하여 1 클록 사이클만큼 푸쉬 아웃할 수 있다. 제 1 및 제 2 PHY 블록들 각각의 동기화 회로(830)은 이후, 개별적인 멀티플렉서(860)에 의해 플립-플롭 선택을 변경함으로써 1 클록 사이클만큼 각각의 출력을 푸쉬 아웃할 수 있다. 예를 들어, 제 1 FE 플립-플롭(850)이 처음으로 선택될 경우, 동기화 회로(830)는 제 2 FE 플립-플롭(852)으로 시프트함으로써 1 클록 사이클만큼 푸쉬 아웃할 수 있으며, 이는 제 1 FE 플립-플롭(850)으로부터 1 클록 사이클만큼 지연된다.
[0076]도 13은 일 실시예에 따른 트루스 테이블(1305)을 도시한다. 이 트루스 테이블(1305)은 디폴트 엔트리들의 세트("DEF"로 라벨링됨)와 푸쉬-아웃 엔트리들의 세트("PUSH"로 라벨링됨)를 포함한다. DEF 엔트리들은 디폴트 조건에 대응하고 PUSH 엔트리들은 디폴트 조건으로부터의 하나의 클록 사이클의 푸쉬 아웃에 대응한다. 이 실시예에서, 푸쉬 아웃되지 않은 PHY 블록들은 트루스 테이블에서 DEF 엔트리들을 이용하여 플립-플롭 선택을 수행하고, 정적 사이클 슬립을 정정하기 위해 푸쉬 아웃되는 PHY 블록들은 트루스 테이블(1305)에서 PUSH 엔트리들을 이용하여 플립-플롭 선택을 수행한다. 도 12에 도시된 예의 경우, 제 1 및 제 2 PHY 블록들의 동기화 회로들(830)은, 이들이 푸쉬 아웃되도록 명령을 받기 때문에 플립-플롭 선택을 수행하기 위해 PUSH 엔트리들을 이용할 수 있다. 제 3 PHY 블록의 동기화 회로(830)는 플립-플롭 선택을 수행하기 위해 DEF 엔트리들을 이용할 수 있다.
[0077]도 14는, 제 1 PHY 블록이 4 사분면에서 조절되고, 제 2 PHY 블록이 1 사분면에서 조절되고, 제 3 PHY 블록이 2 사분면에서 조절되는 예를 도시한다. 이 예에서, 제 2 및 제 3 PHY 블록들의 출력들이 조절된다. 그러나, 제 1 PHY 블록의 출력이 제 2 및 제 3 PHY 블록들의 출력들로부터 1 클록 사이클 만큼 오프셋되어, 정적 사이클 슬립을 발생시킨다. 정적 사이클 슬립은, 제 1 블록 PHY 블록의 출력에 맞춰 조절하기 위해 제 2 및 제 3 PHY 블록들의 출력들을 1 클록 사이클만큼 풀링 인함으로써 정정될 수 있다.
[0078]대안으로, 정적 사이클 슬립은, 제 2 및 제 3 블록 PHY 블록들의 출력들에 맞춰 조절하기 위해 제 1 PHY 블록의 출력을 1 클록 사이클만큼 푸쉬 아웃함으로써 정정될 수 있다. 이 경우, 메모리 제어기(115)는 정적 사이클 슬립을 정정하기 위해 1 클록 사이클만큼 푸쉬 아웃하는 명령들을 제 1 PHY 블록에 전송할 수 있다.
[0079]도 15는 일 실시예에 따른 트루스 테이블(1505)을 도시한다. 트루스 테이블(1505)는 디폴트 엔트리들의 세트("DEF"로 라벨링됨)와 푸쉬-아웃 엔트리들의 세트("PUSH"로 라벨링됨)를 포함한다. 이 실시예에서, 푸쉬 아웃되지 않은 PHY 블록들은 트루스 테이블(1505)에서 DEF 엔트리들을 이용하여 플립-플롭 선택을 수행하고, 정적 사이클 슬립을 정정하기 위해 푸쉬 아웃되는 PHY 블록들은 트루스 테이블(1505)에서 PUSH 엔트리들을 이용하여 플립-플롭 선택을 수행한다. 도 14에 도시된 예의 경우, 제 1 PHY 블록의 동기화 회로들(830)은 플립-플롭 선택을 수행하기 위해 PUSH 엔트리들을 이용할 수 있고, 제 2 및 제 3 PHY 블록들의 동기화 회로(830)가 플립-플롭 선택을 수행하기 위해 DEF 엔트리들을 이용할 수 있다.
[0080]정적 사이클 드리프트를 정정하기 위한 방법은 상기 주어진 특정 예들로 제한되지 않는다는 것을 인식해야 한다. 예를 들어, 하나의 캘리브레이션 신호를 각각의 PHY 블록으로 전송하는 대신, 메모리 제어기(115)는 각각의 PHY 블록으로 복수의 캘리브레이션 신호들을 출력할 수 있다. 이 예에서, 각각의 PHY 블록은 캘리브레이션 신호들 각각에 대한 사분면을 결정할 수 있고 캘리브레이션 신호들 중 최고의 캘리브레이션 신호인 것으로 결정되는 사분면을 메모리 제어기(115)로 리포트한다.
[0081]다른 예에서, 메모리 제어기(115)는 검출된 정적 사이클 슬립을 정정하기 위해 하나 이상의 PHY 블록들을 1 클록 사이클만큼 풀링 인할 것을 명령할 수 있다. 이 예에서, 트루스 테이블은 트루스 테이블의 DEF 엔트리들의 우측에 위치된 풀-인(PULL) 엔트리들을 포함할 수 있고, 풀링 인하도록 명령을 받는 PHY 블록은 플립-플롭 선택을 수행하기 위해 PULL 엔트리들을 사용할 수 있다. 예를 들어, 도 12의 예에 도시된 정적 사이클 슬립이 제 3 PHY 블록을 1 클록 사이클만큼 풀링 인함으로써 정정될 수 있으므로, 제 3 PHY 블록의 출력을 제 1 및 제 2 PHY 블록들의 출력들에 맞춰 조절한다. 이 경우, 제 3 PHY 블록은 PULL 엔트리들을 사용할 수 있고 제 1 및 제 2 PHY 블록들은 DEF 엔트리들을 사용할 수 있다.
[0082]도 16은 본 개시물의 일 실시예에 따라 데이터를 동기화하기 위한 방법(1600)의 흐름도이다. 방법(1600)은 메모리 제어기(115)로부터의 데이터를 클린 클록 신호와 시간을 다시 맞추기 위해 SoC의 주변기기 근처에 위치된 PHY 블록에서 수행될 수 있으며, 시간이 다시 맞춰진 데이터는 외부 메모리(예를 들어, DDR SDRAM)로의 클록 출력(예를 들어, DDR 클록 출력)으로서 사용될 수 있다.
[0083]단계(1610)에서, 클린 클록 신호가 기준 클록 신호에 기초하여 생성된다. 예를 들어, 클린 클록 신호는, 기준 클록 신호에서의 지터를 감쇠시키는 위상-고정 루프(PLL)(예를 들어, 클린업 PLL(225))에 의해 생성될 수 있다.
[0084]단계(1620)에서, 데이터가 데이터 클록 신호를 이용하여 샘플링된다. 예를 들어, 데이터 및 데이터 클록 신호는 메모리 제어기(예를 들어, 메모리 제어기(115))로부터 전송될 수 있고, (SoC 상에 중앙에 위치될 수 있는) 메모리 제어기부터 SoC의 주변기기까지 SoC에 걸쳐 상대적으로 장거리를 이동할 수 있다. 데이터는 데이터 클록 신호의 상승 에지들 또는 하강 에지들 상의 데이터를 샘플링(캡처)하는 플립-플롭(예를 들어, 입력 플립-플롭)을 이용하여 샘플링될 수 있다.
[0085]단계(1630)에서, 샘플링된 데이터는 클린 클록 신호와 동기화된다. 예를 들어, 샘플링된 데이터는 클린 클록 신호를 이용하여 기록되는(clocked) 하나 이상의 플립-플롭들(예를 들어, 플립-플롭들(840, 842, 844, 850, 852, 854, 및 365) 중 하나 이상)에 의해 샘플링될 수 있다.
[0086]당업자는, 본 개시물의 실시예들이 본원에 설명된 예들로 제한되지 않는다는 것을 인식할 것이다. 예를 들어, 제 1-스테이지 플립-플롭은 데이터 클록 신호의 상승 에지들 상에서 DDR 데이터를 샘플링할 수 있다. 이 경우, 제 1-스테이지 플립-플롭의 샘플링 에지들은 데이터 클록 신호의 상승 에지들에 대응할 것이다. 추가로, 동기화 회로(830)는 임의의 수의 RE 플립-플롭들 및 임의의 수의 FE 플립-플롭들을 포함할 수 있다. 예를 들어, 필요에 따라, 동기화 회로로 하여금 더 넓은 범위에 걸쳐 위상 드리프트들을 정정하게 하도록 RE 플립-플롭들 및 FE 플립-플롭들의 수가 증가될 수 있다. 이 경우, 트루스 테이블은 추가의 RE 플립-프랍들 및 FE 플립-플롭들에 대한 엔트리들을 포함함도록 확장될 수 있다.
[0001]당업자들은 추가로, 본원에 개시된 개시물과 관련하여 설명된 다양한 예시적 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 다의 결합들로서 구현될 수 있다는 것을 인식할 것이다. 하드웨어 및 소프트웨어의 이 상호교환가능성을 명확하게 예시하기 위해서, 다양한 예시적 컴포넌트들, 블록들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 설명되었다. 그런 기능성이 하드웨어로 구현되는지 소프트웨어로 구현되는지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약들에 따른다. 당업자들은 각각의 특정 애플리케이션에 대하여 가변하는 방식들로 설명된 기능성을 구현할 수 있지만, 그런 구현 판정들은 본 개시의 범위에서 벗어나게 하는 것으로 해석되지 않아야 한다.
[0002]본원의 개시물과 연계하여 설명된 다양한 예시적인 블록들 및 회로들은, 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합에 의해 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로 구현될 수 있다.
[0003]본원의 개시물과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이 둘의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM(random access memory), 플래쉬 메모리, ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 레지스터, 하드디스크, 착탈식 디스크, CD-ROM(compact disc read-only memory), 또는 기술 분야에서 공지된 저장 매체의 임의의 다른 형태에 상주할 수 있다. 예시적인 비일시적(예를 들어, 유형의) 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하여 저장 매체에 정보를 기록하도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 이러한 프로세서 및 저장 매체는 주문형 집적 회로(ASIC)에 상주할 수 있다. ASIC은 컴퓨팅 디바이스 또는 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에서 별개의 컴포넌트들로서 상주할 수 있다.
[0004]하나 이상의 예시적인 설계들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되면, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 전송될 수 있다. 컴퓨터-판독가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 이송을 용이하게 하는 임의의 매체를 비롯한 컴퓨터 저장 매체 및 통신 매체 둘 모두를 포함한다. 저장 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드 수단을 명령들 또는 데이터 구조들의 형태로 전달하거나 또는 저장하기 위해 사용될 수 있으며 범용 또는 특수 목적 컴퓨터, 또는 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결은, 송신된 신호들의 비일시적 저장을 수반하는 정도까지 컴퓨터-판독가능 매체로 적절하게 지칭될 수 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 라인(DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신될 경우, 신호가 임의의 비일시적 시간 길이 동안 저장 매체 또는 디바이스 메모리 상의 송신 체인에서 보유되는 정도까지 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 여기에 사용된 디스크(disk) 와 디스크(disc)는, 콤팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크(DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서 디스크(disk)는 통상 자기적으로 데이터를 재생하는 한편, 디스크(disc)는 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
[0087]본 개시물의 이전 설명은 당업자가 개시된 실시예들을 만들거나 이용할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 당업자들에게 쉽게 명백할 것이며 본원에 정의된 일반 원리들은 본 개시물의 정신 또는 범위에서 벗어남이 없이 다른 변형예들에 적용될 수 있다. 따라서, 본 개시물은 본원에 도시된 실시예들로 한정하도록 의도되는 것이 아니라, 다음 청구범위에 의해 정해지는 바와 같은 원리들 및 신규한 특징들과 가능한 일관되는 최광의의 범위에 부합되도록 의도된다.

Claims (23)

  1. 메모리 인터페이스로서,
    기준 클록 신호를 수신하고, 그리고 상기 기준 클록 신호에 기초하여 클린 클록 신호를 생성하도록 구성된 클린업 위상-고정 루프(PLL; phase-locked loop); 및
    데이터, 데이터 클록 신호, 및 상기 클린 클록 신호를 수신하도록 구성된 동기화 회로를 포함하고,
    상기 동기화 회로는 추가로 상기 데이터 클록 신호를 이용하여 상기 데이터를 샘플링하고, 그리고 샘플링된 데이터를 상기 클린 클록 신호와 동기화하도록 구성되는, 메모리 인터페이스.
  2. 제 1 항에 있어서,
    상기 동기화 회로 및 상기 클린업 PLL은 칩의 주변기기 근처에 위치되고, 상기 데이터 및 상기 데이터 클록 신호는 상기 칩의 중앙 가까이에 위치되는 메모리 제어기로부터 발신되는, 메모리 인터페이스.
  3. 제 2 항에 있어서,
    상기 기준 클록 신호 및 상기 데이터 클록 신호는 둘 모두가 공통 클록 신호로부터 유도되는, 메모리 인터페이스.
  4. 제 1 항에 있어서,
    상기 동기화 회로는,
    상기 데이터 클록 신호의 샘플링 에지들 상에서 상기 데이터를 샘플링하도록 구성되는 입력 플립-플롭;
    상기 클린 클록 신호의 상승 에지들 상의 상기 입력 플립-플롭의 출력을 샘플링하도록 구성된 상승-에지(RE) 플립-플롭;
    상기 클린 클록 신호의 하강 에지들 상의 상기 입력 플립-플롭의 출력을 샘플링하도록 구성된 하강-에지(FE) 플립-플롭;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하도록 구성되는 위상 검출기; 및
    결정된 위상차에 기초하여 상기 RE 플립-플롭의 출력 또는 상기 FE 플립-플롭의 출력을 선택하도록 구성되는 셀렉터를 더 포함하는, 메모리 인터페이스.
  5. 제 4 항에 있어서,
    상기 셀렉터는, 결정된 위상차에 기초하여 상기 데이터 클록 신호의 샘플링 에지가 상기 클린 클록 신호의 상승 에지에 더 가까운지 또는 상기 클린 클록 신호의 하강 에지에 더 가까운지 여부를 결정하고, 상기 데이터 클록의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 하강 에지에 더 가까운 경우 상기 RE 플립-플롭의 상기 출력을 선택하고, 그리고 상기 데이터 클록 신호의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 상승 에지에 더 가까운 경우 상기 FE 플립-플롭의 상기 출력을 선택하도록 구성되는, 메모리 인터페이스.
  6. 제 4 항에 있어서,
    상기 입력 플립-플롭은 상기 데이터 클록 신호의 샘플링 에지 상의 캘리브레이션 신호를 샘플링하도록 구성되고, 그리고 상기 위상 검출기는, 샘플링된 캘리브레이션 신호와 상기 클린 클록 신호 사이의 위상차를 결정함으로써 상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하도록 구성되는, 메모리 인터페이스.
  7. 제 1 항에 있어서,
    상기 동기화 회로는,
    상기 데이터 클록 신호의 샘플링 에지들 상에서 상기 데이터를 샘플링하도록 구성된 입력 플립-플롭;
    상기 클린 클록 신호의 상승 에지들 상의 상기 입력 플립-플롭의 출력을 샘플링하도록 구성된 제 1 상승-에지(RE) 플립-플롭;
    상기 클린 클록 신호의 상승 에지들 상의 상기 제 1 RE 플립-플롭의 출력을 샘플링하도록 구성된 제 2 RE 플립-플롭;
    상기 클린 클록 신호의 하강 에지들 상의 상기 입력 플립-플롭의 출력을 샘플링하도록 구성된 제 1 하강-에지(FE) 플립-플롭;
    상기 클린 클록 신호의 하강 에지들 상의 상기 제 1 FE 플립-플롭의 출력을 샘플링하도록 구성된 제 2 FE 플립-플롭;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하도록 구성되는 위상 검출기; 및
    결정된 위상차에 기초하여, 상기 제 1 RE 플립-플롭의 출력, 상기 제 2 RE 플립-플롭의 출력, 상기 제 1 FE 플립-플롭의 출력, 또는 상기 제 2 FE 플립-플롭의 출력을 선택하도록 구성되는 셀렉터를 더 포함하는, 메모리 인터페이스.
  8. 제 7 항에 있어서,
    상기 셀렉터는 트루스(truth) 테이블을 이용하여 상기 선택을 수행하도록 구성되는, 메모리 인터페이스.
  9. 제 8 항에 있어서,
    상기 트루스 테이블은 엔트리들의 제 1 세트와 엔트리들의 제 2 세트를 포함하고, 상기 셀렉터는, 상기 엔트리들의 제 1 세트를 이용하여 디폴트 조건으로 선택을 수행하고 그리고 상기 셀렉터가 상기 동기화 회로의 출력을 푸쉬 아웃(push out)하거나 또는 풀 인(pull in)하라는 명령을 수신하는 경우 상기 엔트리들의 제 2 세트를 이용하여 상기 선택을 수행하도록 구성되는, 메모리 인터페이스.
  10. 데이터 동기화를 위한 방법으로서,
    기준 클록 신호에 기초하여 클린 클록 신호를 생성하는 단계;
    데이터 클록 신호를 이용하여 데이터를 샘플링하는 단계; 및
    상기 샘플링된 데이터를 상기 클린 클록 신호와 동기화하는 단계를 포함하는, 데이터 동기화를 위한 방법.
  11. 제 10 항에 있어서,
    상기 데이터 및 상기 데이터 클록 신호는 칩의 중앙 가까이에 위치되는 메모리 제어기로부터 발신되고, 상기 방법은 상기 칩의 주변기기 근처에서 수행되는, 데이터 동기화를 위한 방법.
  12. 제 11 항에 있어서,
    상기 기준 클록 신호 및 상기 데이터 클록 신호 둘 모두는 공통 클록으로부터 유도되는, 데이터 동기화를 위한 방법.
  13. 제 10 항에 있어서,
    상기 클린 클록 신호를 생성하는 단계는 위상-고정 루프(PLL)를 이용하여 상기 기준 클록 신호에서의 지터를 감쇠시키는 단계를 포함하는, 데이터 동기화를 위한 방법.
  14. 제 10 항에 있어서,
    상승-에지(RE) 샘플링 데이터를 생성하기 위해서 상기 클린 클록 신호의 상승 에지들 상에서 샘플링 데이터를 샘플링하는 단계;
    하강-에지(FE) 샘플링 데이터를 생성하기 위해서 상기 클린 클록 신호의 하강 에지들 상에서 샘플링 데이터를 샘플링하는 단계;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하는 단계; 및
    결정된 위상차에 기초하여 상기 RE 샘플링 데이터 또는 상기 FE 샘플링 데이터를 선택하는 단계를 더 포함하는, 데이터 동기화를 위한 방법.
  15. 제 14 항에 있어서,
    상기 RE 샘플링 데이터 또는 상기 FE 샘플링 데이터를 선택하는 단계는,
    상기 데이터 클록 신호의 샘플링 에지가 상기 클린 클록 신호의 상승 에지에 더 가까운지 또는 상기 클린 클록 신호의 하강 에지에 더 가까운지 여부를 결정된 위상차에 기초하여 결정하는 단계;
    상기 데이터 클록의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 하강 에지에 더 가까운 경우 상기 RE 샘플링 데이터를 선택하는 단계; 및
    상기 데이터 클록 신호의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 상승 에지에 더 가까운 경우 상기 FE 샘플링 데이터를 선택하는 단계를 포함하는, 데이터 동기화를 위한 방법.
  16. 제 14 항에 있어서,
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하는 단계는,
    상기 데이터 클록 신호를 이용하여 캘리브레이션 신호를 샘플링하는 단계; 및
    샘플링된 캘리브레이션 신호와 상기 클린 클록 신호 사이의 위상차를 결정하는 단계를 포함하는, 데이터 동기화를 위한 방법.
  17. 제 10 항에 있어서,
    클린-클록 샘플링 데이터를 생성하기 위해서 상기 클린 클록 신호를 이용하여 복수의 상이한 샘플 포인트들에서 샘플링 데이터를 샘플링하는 단계;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하는 단계; 및
    결정된 위상차에 기초하여 상기 샘플 포인트들 중 하나에 대응하는 상기 클린-클록 샘플링 데이터를 선택하는 단계를 더 포함하는, 데이터 동기화를 위한 방법.
  18. 데이터 동기화를 위한 장치로서,
    기준 클록 신호에 기초하여 클린 클록 신호를 생성하기 위한 수단;
    데이터 클록 신호를 이용하여 데이터를 샘플링하기 위한 수단; 및
    상기 샘플링된 데이터를 상기 클린 클록 신호와 동기화하기 위한 수단을 포함하는, 데이터 동기화를 위한 장치.
  19. 제 18 항에 있어서,
    상기 데이터 및 상기 데이터 클록 신호는 칩의 중앙 가까이에 위치되는 메모리 제어기로부터 발신되고, 방법은 상기 칩의 주변기기 근처에서 수행되는, 데이터 동기화를 위한 장치.
  20. 제 19 항에 있어서,
    상기 기준 클록 신호 및 상기 데이터 클록 신호 둘 모두는 공통 클록 신호로부터 유도되는, 데이터 동기화를 위한 장치.
  21. 제 18 항에 있어서,
    상승-에지(RE) 샘플링 데이터를 생성하기 위해서 상기 클린 클록 신호의 상승 에지들 상에서 샘플링 데이터를 샘플링하기 위한 수단;
    하강-에지(FE) 샘플링 데이터를 생성하기 위해서 상기 클린 클록 신호의 하강 에지들 상에서 샘플링 데이터를 샘플링하기 위한 수단;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하기 위한 수단; 및
    결정된 위상차에 기초하여 상기 RE 샘플링 데이터 또는 상기 FE 샘플링 데이터를 선택하기 위한 수단을 더 포함하는, 데이터 동기화를 위한 장치.
  22. 제 21 항에 있어서,
    상기 선택하기 위한 수단은,
    상기 데이터 클록 신호의 샘플링 에지가 상기 클린 클록 신호의 상승 에지에 더 가까운지 또는 상기 클린 클록 신호의 하강 에지에 더 가까운지 여부를 결정된 위상차에 기초하여 결정하기 위한 수단;
    상기 데이터 클록의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 하강 에지에 더 가까운 경우 상기 RE 샘플링 데이터를 선택하기 위한 수단; 및
    상기 데이터 클록 신호의 상기 샘플링 에지가 상기 클린 클록 신호의 상기 상승 에지에 더 가까운 경우 상기 FE 샘플링 데이터를 선택하기 위한 수단을 더 포함하는, 데이터 동기화를 위한 장치.
  23. 제 18 항에 있어서,
    복수의 클린-클록 샘플링 데이터를 생성하기 위해서 복수의 상이한 샘플 포인트들에서 상기 클린 클록 신호를 이용하여 상기 샘플링 데이터를 샘플링하기 위한 수단;
    상기 데이터 클록 신호와 상기 클린 클록 신호 사이의 위상차를 결정하기 위한 수단; 및
    결정된 위상차에 기초하여 상기 샘플 포인트들 중 하나에 대응하는 상기 클린-클록 샘플링 데이터를 선택하기 위한 수단을 더 포함하는, 데이터 동기화를 위한 장치.
KR1020157035382A 2013-05-24 2014-06-02 메조크로너스 ddr 시스템을 위한 저 레이턴시 동기화 스킴 KR20160040140A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/902,705 2013-05-24
US13/902,705 US9123408B2 (en) 2013-05-24 2013-05-24 Low latency synchronization scheme for mesochronous DDR system
PCT/US2014/000141 WO2014189551A1 (en) 2013-05-24 2014-06-02 Low latency synchronization scheme for mesochronous ddr system

Publications (1)

Publication Number Publication Date
KR20160040140A true KR20160040140A (ko) 2016-04-12

Family

ID=51298925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157035382A KR20160040140A (ko) 2013-05-24 2014-06-02 메조크로너스 ddr 시스템을 위한 저 레이턴시 동기화 스킴

Country Status (5)

Country Link
US (2) US9123408B2 (ko)
EP (1) EP3028161B1 (ko)
JP (1) JP6306160B2 (ko)
KR (1) KR20160040140A (ko)
WO (1) WO2014189551A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8760945B2 (en) * 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US9123408B2 (en) 2013-05-24 2015-09-01 Qualcomm Incorporated Low latency synchronization scheme for mesochronous DDR system
KR20150040540A (ko) * 2013-10-07 2015-04-15 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US9478268B2 (en) * 2014-06-12 2016-10-25 Qualcomm Incorporated Distributed clock synchronization
US9495285B2 (en) 2014-09-16 2016-11-15 Integrated Device Technology, Inc. Initiating operation of a timing device using a read only memory (ROM) or a one time programmable non volatile memory (OTP NVM)
US9209961B1 (en) * 2014-09-29 2015-12-08 Apple Inc. Method and apparatus for delay compensation in data transmission
US10187067B2 (en) * 2014-10-14 2019-01-22 Qatar University Phase-locked loop (PLL)-type resolver/converter method and apparatus
US9553570B1 (en) 2014-12-10 2017-01-24 Integrated Device Technology, Inc. Crystal-less jitter attenuator
US9324397B1 (en) * 2015-01-16 2016-04-26 Qualcomm Incorporated Common die for supporting different external memory types with minimal packaging complexity
US9369139B1 (en) 2015-02-14 2016-06-14 Integrated Device Technology, Inc. Fractional reference-injection PLL
US9336896B1 (en) 2015-03-23 2016-05-10 Integrated Device Technology, Inc. System and method for voltage regulation of one-time-programmable (OTP) memory programming voltage
US9455045B1 (en) 2015-04-20 2016-09-27 Integrated Device Technology, Inc. Controlling operation of a timing device using an OTP NVM to store timing device configurations in a RAM
US9362924B1 (en) * 2015-07-08 2016-06-07 Integrated Device Technology, Inc. Method and apparatus for fast frequency acquisition in PLL system
US9362928B1 (en) 2015-07-08 2016-06-07 Integrated Device Technology, Inc. Low-spurious fractional N-frequency divider and method of use
US9954516B1 (en) 2015-08-19 2018-04-24 Integrated Device Technology, Inc. Timing device having multi-purpose pin with proactive function
US9590637B1 (en) 2015-08-28 2017-03-07 Integrated Device Technology, Inc. High-speed programmable frequency divider with 50% output duty cycle
JP6584885B2 (ja) * 2015-09-14 2019-10-02 株式会社東芝 雑音除去機能を有する機器
US9847869B1 (en) 2015-10-23 2017-12-19 Integrated Device Technology, Inc. Frequency synthesizer with microcode control
US9614508B1 (en) 2015-12-03 2017-04-04 Integrated Device Technology, Inc. System and method for deskewing output clock signals
US9893877B2 (en) * 2016-01-15 2018-02-13 Analog Devices Global Circuits, systems, and methods for synchronization of sampling and sample rate setting
US10075284B1 (en) 2016-01-21 2018-09-11 Integrated Device Technology, Inc. Pulse width modulation (PWM) to align clocks across multiple separated cards within a communication system
US9852039B1 (en) 2016-02-03 2017-12-26 Integrated Device Technology, Inc Phase locked loop (PLL) timing device evaluation system and method for evaluating PLL timing devices
US9859901B1 (en) 2016-03-08 2018-01-02 Integrated Device Technology, Inc. Buffer with programmable input/output phase relationship
US9692394B1 (en) 2016-03-25 2017-06-27 Integrated Device Technology, Inc. Programmable low power high-speed current steering logic (LPHCSL) driver and method of use
US9698787B1 (en) 2016-03-28 2017-07-04 Integrated Device Technology, Inc. Integrated low voltage differential signaling (LVDS) and high-speed current steering logic (HCSL) circuit and method of use
US9581973B1 (en) 2016-03-29 2017-02-28 Integrated Device Technology, Inc. Dual mode clock using a common resonator and associated method of use
US9954541B1 (en) 2016-03-29 2018-04-24 Integrated Device Technology, Inc. Bulk acoustic wave resonator based fractional frequency synthesizer and method of use
US9654121B1 (en) 2016-06-01 2017-05-16 Integrated Device Technology, Inc. Calibration method and apparatus for phase locked loop circuit
US10164758B2 (en) 2016-11-30 2018-12-25 Taiwan Semicondcutor Manufacturing Co., Ltd. Read-write data translation technique of asynchronous clock domains
KR102371264B1 (ko) * 2017-04-21 2022-03-07 에스케이하이닉스 주식회사 메모리 시스템
US10965442B2 (en) * 2018-10-02 2021-03-30 Qualcomm Incorporated Low-power, low-latency time-to-digital-converter-based serial link
US11580048B1 (en) 2019-03-18 2023-02-14 Cadence Designs Systems, Inc. Reference voltage training scheme
CN110059036B (zh) * 2019-04-15 2022-04-26 西安微电子技术研究所 一种存储体内部多异步接口访问控制装置及方法
US11262786B1 (en) * 2020-12-16 2022-03-01 Silicon Laboratories Inc. Data delay compensator circuit
CN113206665A (zh) * 2021-03-15 2021-08-03 新华三技术有限公司 一种信号采样方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548620A (en) * 1994-04-20 1996-08-20 Sun Microsystems, Inc. Zero latency synchronized method and apparatus for system having at least two clock domains
DE60219156T2 (de) 2002-07-22 2007-12-13 Texas Instruments Inc., Dallas Verfahren und Einrichtung für die parallele Synchronisation von mehreren seriellen Datenströmen
US7178048B2 (en) * 2003-12-23 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for signal synchronization based on plural clock signals
US7532697B1 (en) 2005-01-27 2009-05-12 Net Logic Microsystems, Inc. Methods and apparatus for clock and data recovery using a single source
US7269093B2 (en) 2005-10-31 2007-09-11 Infineon Technologies Ag Generating a sampling clock signal in a communication block of a memory device
US7593273B2 (en) * 2006-11-06 2009-09-22 Altera Corporation Read-leveling implementations for DDR3 applications on an FPGA
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US7975164B2 (en) * 2008-06-06 2011-07-05 Uniquify, Incorporated DDR memory controller
US20100005214A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Enhancing bus efficiency in a memory system
US8145171B2 (en) 2008-10-08 2012-03-27 Qualcomm Incorporated Clock clean-up phase-locked loop (PLL)
US8737162B2 (en) * 2009-01-12 2014-05-27 Rambus Inc. Clock-forwarding low-power signaling system
US8222932B2 (en) * 2010-02-23 2012-07-17 Agilent Technologies, Inc. Phase-locked loop with switched phase detectors
US8269533B2 (en) 2010-09-03 2012-09-18 Advanced Micro Devices, Inc. Digital phase-locked loop
US8356155B2 (en) * 2010-09-13 2013-01-15 Advanced Micro Devices, Inc. Dynamic RAM Phy interface with configurable power states
US8880831B2 (en) * 2011-05-12 2014-11-04 Advanced Micro Devices, Inc. Method and apparatus to reduce memory read latency
US8897084B2 (en) * 2011-09-08 2014-11-25 Apple Inc. Dynamic data strobe detection
US9123408B2 (en) 2013-05-24 2015-09-01 Qualcomm Incorporated Low latency synchronization scheme for mesochronous DDR system
US9478268B2 (en) * 2014-06-12 2016-10-25 Qualcomm Incorporated Distributed clock synchronization

Also Published As

Publication number Publication date
US9123408B2 (en) 2015-09-01
JP2016522499A (ja) 2016-07-28
US20140347941A1 (en) 2014-11-27
EP3028161B1 (en) 2018-07-18
EP3028161A1 (en) 2016-06-08
JP6306160B2 (ja) 2018-04-04
US20150340078A1 (en) 2015-11-26
WO2014189551A1 (en) 2014-11-27
US9437278B2 (en) 2016-09-06

Similar Documents

Publication Publication Date Title
EP3028161B1 (en) Low latency synchronization scheme for mesochronous ddr system
US10574241B2 (en) Digital phase control with programmable tracking slope having a programmable linear decoder using a coarse code and a fine code to generate delay adjustments to the phase of an input signal
US8824224B2 (en) Frequency-agile strobe window generation
US8629699B2 (en) Clock data recovery circuit and transceiver semiconductor integrated circuit containing the same
US9213657B2 (en) Memory controller with fast reacquisition of read timing to support rank switching
KR101004665B1 (ko) 반도체 메모리 장치 및 출력 인에이블 신호 생성 방법
US9679622B2 (en) Method for controlling memory device asynchronously with respect to system clock, and related memory device and memory system
TWI722582B (zh) Ddr sdram實體層介面電路與ddr sdram控制裝置
KR20100050913A (ko) 반도체 메모리 장치 및 출력인에이블 신호 생성 방법
US8766687B2 (en) Semiconductor memory device and operating method thereof
CN109062538B (zh) 环形先进先出缓冲器及数据传输接口、系统、方法
US9455726B1 (en) XOR (exclusive or) based triangular mixing for digital phase control
KR20120119441A (ko) 레이턴시 조절 회로, 이를 포함하는 반도체 메모리 장치 및 레이턴시 조절 방법
US20130294555A1 (en) Method and apparatus for deskewing data transmissions
US9319050B1 (en) Multiple synchronizable signal generators using a single field programmable gate array
JP2012054702A (ja) Dllを共用してサンプリング位相設定を行うホストコントローラ
KR20150040540A (ko) 반도체 장치 및 이를 포함하는 반도체 시스템
US20220358061A1 (en) Unmatched architecture compensation via digital component delay
KR102516881B1 (ko) 클럭 위상 정렬을 위한 방법 및 장치
KR20130142743A (ko) 지연 제어회로 및 이를 포함하는 클럭 생성회로

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid