IP Library Granted Patent US 10,530,347
Granted Patent B2
US 10,530,347 · App. 16/017,286 · Granted Jan 7, 2020

Receiver-side setup and hold time calibration for source synchronous systems

Inventors: Tianyu Tang (Milpitas, CA); Venkatesh Ramachandra (San Jose, CA)
Assignee: SANDISK TECHNOLOGIES LLC
H03K5/133G06F1/10G11C7/222H03K5/1565
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,530,347
App. No.
16/017,286
Granted
Jan 7, 2020
Kind
B2
Abstract

A skew correction system includes delay circuits positioned in front of sampling circuitry. A skew correction controller first delays an input clock signal to create hold violations. Then with, with the delay of an input clock signal fixed at a reference delay amount, the skew correction controller delays input data signals first to remove or reduce the hold violations, and then to create setup violations. Based on the delaying, the skew correction controller identifies data valid windows for the input data signals, and in turn, identifies target delay amounts that position a delayed clock signal in target sampling positions.

Claims (81)

1. A circuit comprising:

a clock delay circuit configured to delay an input clock signal with a clock delay to generate a delayed clock signal;

a first data delay circuit configured to delay a first input data signal with a first data delay to generate a first delayed data signal;

a second data delay circuit configured to delay a second input data signal with a second data delay to generate a second delayed data signal;

sampling circuitry configured to sample the first delayed data signal and the second delayed data signal in response to receipt of the delayed clock signal;

a clock delay control circuit configured to adjust the clock delay until the clock delay reaches a reference clock delay amount that creates a threshold number of sampling errors;

a first data delay control circuit configured to adjust the first data delay relative to the reference clock delay amount until the first data delay reaches a first target data delay amount; and

a second data delay control circuit configured to adjust the second data delay relative to the reference clock delay amount until the second data delay reaches a second target data delay amount.

2. The circuit of claim 1 ,

wherein the sampling circuitry is configured to sample the first and second delayed data signals with hold violations to create the threshold number of sampling errors.

3. The circuit of claim 1 , wherein the threshold number of sampling errors comprises a plurality of threshold numbers of sampling errors, each for a respective one of a plurality of sampling circuits of the sampling circuitry,

wherein the clock delay control circuit is configured to adjust the clock delay until reaching a last of the plurality of threshold number of sampling errors.

4. The circuit of claim 1 , wherein the threshold number of sampling errors comprises a first threshold number of sampling errors, wherein the first data delay control circuit, to adjust the first data delay, is configured to increase the first data delay relative to the reference clock delay amount, the circuit further comprising:

a delay amount identification circuit configured to identify a first data delay amount of the first data delay that creates a second threshold number of sampling errors.

5. The circuit of claim 4 , wherein the second data delay control circuit, to adjust the second data delay, is configured to increase the second delay relative to the reference clock delay amount, and

wherein the delay amount identification circuit is further configured to identify a first data delay amount of the second data delay that creates the second threshold number of sampling errors.

6. The circuit of claim 4 , wherein the first data delay control circuit, to adjust the first data, is further configured to increase the first data delay relative to the reference clock delay amount until the first data delay reaches a second data delay amount that creates a third threshold number of sampling errors.

7. The circuit of claim 6 ,

wherein the sampling circuitry is configured to sample the first delayed data signal with setup violations to create the second threshold number of sampling errors.

8. The circuit of claim 7 , further comprising:

a target data delay calculation circuit configured to average the first data delay amount and the second data delay amount to determine the first target data delay amount.

9. The circuit of claim 1 , wherein the threshold number of sampling errors comprises a first threshold number, the circuit further comprising:

an error identification circuit configured to:

determine that an initial sampled data signal comprises a second threshold number of sampling errors; and

wherein the clock delay control circuit is configured to:

adjust the clock delay until the clock delay reduces sampling errors to a third threshold number of sampling errors or a maximum delay is reached.

10. The circuit of claim 9 , wherein the clock delay control circuit is further configured to:

in response to the clock delay reducing the sampling errors to the third threshold number, continue to increase the clock delay until the clock delay reaches the reference clock delay amount.

11. The circuit of claim 9 , wherein the clock delay control circuit is further configured to:

in response to the maximum delay being reached, reset the clock delay to an initial delay amount; and

increase the clock delay to the reference clock delay amount.

12. The circuit of claim 1 , further comprising:

a comparator circuit configured to:

compare a sampled bit sequence with a reference bit sequence for a read training process to determine the threshold number of sampling errors.

13. The circuit of claim 1

wherein the first data delay circuit comprises a plurality of delay blocks, each delay block comprising one of a plurality of delay chains, one of a plurality of bypass paths, and one of a plurality of selection circuits,

wherein the first data delay control circuit is configured to output a pair of complementary selection signals to the selection circuits to either enable or disable each of the plurality of bypass paths.

14. A circuit comprising:

a controller configured to:

receive a plurality of sampling analyses over a plurality of iterations of a skew correction process, the plurality of sampling analysis determined from sampling circuitry configured to sample a plurality of delayed data signals in response to receipt of a delayed clock signal;

during receipt of the sampling analyses, determine a plurality of data valid windows; and

calculate average delay amounts for a plurality of data delay circuits from the plurality of data valid windows, the plurality of data delay circuits configured to delay a plurality of input data signals to generate the plurality of delayed data signals.

15. The circuit of claim 14 , wherein the controller is further configured to:

increase a delay of an adjustable clock delay circuit until the plurality of sampling analyses identify a threshold number of sampling errors; and

identify a reference clock delay amount that produced the threshold number of sampling errors.

16. The circuit of claim 15 , wherein the controller is configured to determine the plurality of data valid windows with reference to the reference clock delay amount.

17. The circuit of claim 14 , wherein the controller is further configured to:

increase delays of the plurality of data delay circuits to identify upper bounds of the plurality of data valid windows.

18. The circuit of claim 17 , wherein the controller is further configured to:

further increase the delays of the plurality of data delay circuits to identify lower bounds of the plurality of data valid windows.

19. A system comprising:

an input circuit comprising a clock delay circuit configured to generate a delayed clock signal with a clock delay and a plurality of data delay circuits configured to generate a plurality of delayed data signals with a plurality of data delays; and

a write training controller configured to:

adjust the clock delay of the clock delay circuit until identifying a first threshold number of sampling errors created from sampling circuitry configured to sample the plurality of delayed data signals in response to the delayed clock signal;

set the clock delay to a reference clock delay amount that produces the first threshold number of sampling errors;

with the clock delay set to a reference clock delay amount that produces the first threshold number of sampling errors:

adjust the data delays of the plurality of data delay circuits to identify a plurality of first data delay amounts that produce a second threshold number of sampling errors; and

further adjust the data delays of the plurality of data delay circuits until identifying a plurality of second data delay amounts that produce a third threshold number of sampling errors;

determine a plurality of average delay amounts, each based on one of the plurality of first data delay amounts and the plurality of second data delay amounts; and

set the plurality of data delays of the plurality of data delay circuits each to a respective one of the plurality of average delay amounts.

20. The system of claim 19 , further comprising:

a comparator circuit configured to:

compare a sampled bit sequence bit with a reference bit sequence for a read training process; and

generate a comparison result signal based on the comparison,

wherein the write training controller is configured to adjust the clock delay and the data delays in response to receipt of the comparison result signal.

21. A method comprising:

while maintaining a clock delay of a clock delay circuit and receiving an input clock signal and a plurality of input data signals:

increasing delays, with a controller, of a plurality of data delay circuits receiving the plurality of input data signals;

upon increasing the delays to first delay amounts, identifying, with the controller, a reduction of hold violations to a threshold number;

recording, with the controller, the first delay amounts;

upon increasing the delays to second delay amounts, identifying, with the controller, a threshold number of setup violations; and

determining, with the controller, target delay amounts based on the first delay amounts and the second delay amounts.

22. A circuit comprising:

a means for delaying an input clock signal with a clock delay to generate a delayed clock signal;

a means for delaying a first input data signal with a first data delay to generate a first delayed data signal;

a means for delaying a second input data signal with a second data delay to generate a second delayed data signal;

a means for sampling the first delayed data signal in response to receipt of the delayed clock signal;

a means for sampling the second delayed data signal in response to receipt of the delayed clock signal;

a means for adjusting the clock delay until the clock delay reaches a reference clock delay amount that creates a threshold number of sampling errors;

a means for adjusting the first data delay relative to the reference clock delay amount until the first data delay reaches a first target data delay amount; and

a means for adjusting the second data delay relative to the reference clock delay amount until the second data delay reaches a second target data delay amount.

Assignments (4)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2018
From: TANG, TIANYU; RAMACHANDRA, VENKATESH
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 046203/0621 →
Continuity (2)
Provisional Application 62647396 · Mar 23, 2018
Related Publication 20190296723A1 · Sep 26, 2019
Cited By (10)
US 12,216,976 US 12,241,933 US 12,242,298 US 12,282,058 US 12,320,844 US 12,461,143 US 12,470,223 US 12,535,521 US 12,644,924 US 12,690,425