# US 9,437,278 B2 · Low latency synchronization scheme for mesochronous DDR system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,437,278 B2
- Document ID: US9437278B2
- Status: Granted
- Kind: B2
- Application number: 14/816,820
- Filed: 2015-08-03
- Published: 2015-11-26
- Granted: 2016-09-06
- Earliest claimed: 2013-05-24
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Edwin Jose; Michael Drop; Xuhao Huang; Raghu Sankuratri; Deepti Vijayalakshmi Sriramagiri; Marzio Pedrali-Noy
- Web page: https://patentgrep.com/patent/US9437278B2

## CPC

- G11C 11/4076: Timing circuits (for regeneration management G11C11/406)
- G06F 13/1689: {Synchronisation and timing concerns (synchronisation on a memory bus G06F13/4234)}
- G11C 7/1084: {Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load}
- G11C 7/1093: {Input synchronization}
- G11C 7/222: {Clock generating, synchronizing or distributing circuits within memory device}
- G11C 11/4093: Input/output [I/O] data interface arrangements, e.g. data buffers
- H03L 7/093: using special filtering or amplification characteristics in the loop (H03L7/087 - H03L7/091 take precedence)
- G11C 2207/2254: Calibration
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03L: AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES (generation of oscillations H03B)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A method for data synchronization is provided according to certain embodiments. The method comprises receiving data, a data clock signal, and a clean clock signal, sampling the data using the data clock signal, synchronizing the sampled data with the clean clock signal, and outputting the synchronized sampled data. The method also comprises tracking a phase drift between the data clock signal and the clean clock signal, and pulling in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a first value in a first direction.

## Claims

### Claim 1

A memory interface, comprising:
a memory controller configured to output a data clock signal and data synchronized with the data clock signal; and
a synchronization circuit configured to receive the data, the data clock signal, and a clean clock signal, wherein the synchronization circuit is further configured to sample the data using the data clock signal, to synchronize the sampled data with the clean clock signal, to output the synchronized sampled data, to track a phase drift between the data clock signal and the clean clock signal, and to pull in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a first value in a first direction.

### Claim 2 (depends on 1)

The memory interface of claim 1, wherein the synchronization circuit is further configured to push out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a second value in a second direction, the second direction being opposite from the first direction.

### Claim 3 (depends on 1)

The memory interface of claim 1, wherein the synchronization circuit is configured to track the phase drift between the data clock signal and the clean clock signal by detecting a phase difference between the data clock signal and the clean clock signal, and tracking changes in the detected phase difference.

### Claim 4 (depends on 3)

The memory interface of claim 3, wherein the detected phase difference has a granularity of approximately a quarter of a clock cycle of the clean clock signal.

### Claim 5 (depends on 4)

The memory interface of claim 4, wherein the synchronization circuit is configured to pull in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the first direction.

### Claim 6 (depends on 4)

The memory interface of claim 4, wherein the synchronization circuit is configured to push out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the second direction.

### Claim 7 (depends on 1)

The memory interface of claim 1, wherein the synchronization circuit is located near a periphery of a chip, and the memory controller is located approximately at a center of the chip.

### Claim 8 (depends on 1)

The memory interface of claim 1, further comprising a cleanup phased-locked loop (PLL) configured to receive a reference clock signal, and to generate the clean clock signal based on the reference clock signal, the reference clock signal and the data clock signal being derived from a common clock signal.

### Claim 9

A method for data synchronization, comprising:
receiving data, a data clock signal, and a clean clock signal;
sampling the data using the data clock signal;
synchronizing the sampled data with the clean clock signal;
outputting the synchronized sampled data;
tracking a phase drift between the data clock signal and the clean clock signal; and
pulling in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a first value in a first direction.

### Claim 10 (depends on 9)

The method of claim 9, further comprising pushing out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a second value in a second direction, the second direction being opposite from the first direction.

### Claim 11 (depends on 9)

The method of claim 9, wherein tracking the phase drift between the data clock signal and the clean clock signal further comprises:
detecting a phase difference between the data clock signal and the clean clock signal; and
tracking changes in the detected phase difference.

### Claim 12 (depends on 11)

The method of claim 11, wherein the detected phase difference has a granularity of approximately a quarter of a clock cycle of the clean clock signal.

### Claim 13 (depends on 12)

The method of claim 12, wherein pulling in the output of the synchronized sampled data comprises pulling in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the first direction.

### Claim 14 (depends on 12)

The memory interface of claim 12, further comprising pushing out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the second direction.

### Claim 15

An apparatus for data synchronization, comprising:
means for receiving data, a data clock signal, and a clean clock signal;
means for sampling the data using the data clock signal;
means for synchronizing the sampled data with the clean clock signal;
means for outputting the synchronized sampled data;
means for tracking a phase drift between the data clock signal and the clean clock signal; and
means for pulling in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a first value in a first direction.

### Claim 16 (depends on 15)

The apparatus of claim 15, further comprising means for pushing out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the tracked phase drift reaches a second value in a second direction, the second direction being opposite from the first direction.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein the means for tracking the phase drift between the data clock signal and the clean clock signal further comprises:
means for detecting a phase difference between the data clock signal and the clean clock signal; and
means for tracking changes in the detected phase difference.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the detected phase difference has a granularity of approximately a quarter of a clock cycle of the clean clock signal.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the means for pulling in the output of the synchronized sampled data comprises means for pulling in the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the first direction.

### Claim 20 (depends on 18)

The apparatus of claim 18, further comprising means for pushing out the output of the synchronized sampled data by one clock cycle of the clean clock signal if the detected phase difference changes by three or four quarters of a clock cycle in the second direction.

### Claim 21

A memory interface, comprising:
a plurality of synchronization circuits; and
a memory controller configured to output a clock signal and a calibration signal to each of the plurality of synchronization circuits;
wherein each of the plurality of synchronization circuits is configured to detect a phase difference between the calibration signal and the clock signal at the synchronization circuit, and to report the detected phase difference to the memory controller; and
wherein the memory controller is configured to determine whether outputs of the synchronization circuits are offset by one clock cycle of the clock signal based on the detected phase differences from the plurality of synchronization circuits, and to instruct each of one or more of the synchronization circuits to pull in or push out the respective output by one clock cycle of the clock signal if a determination is made that the outputs of the synchronization circuits are offset by one clock cycle of the clock signal.

### Claim 22 (depends on 21)

The memory interface of claim 21, wherein each of the synchronization circuits is located near a periphery of a chip, and the memory controller is located approximately at a center of the chip.

### Claim 23 (depends on 22)

The memory interface of claim 22, wherein the synchronization circuits are spaced apart along the periphery of the chip.

### Claim 24 (depends on 21)

The memory interface of claim 21, wherein the detected phase difference reported by each of the synchronization circuits has a granularity of approximately a quarter of a clock cycle of the clock signal.
