IP Library › Granted Patent US 11,901,905
Granted Patent B2
US 11,901,905 · App. 17/667,451 · Granted Feb 13, 2024

Receiver side setup and hold calibration

Inventor: Tianyu Tang (Milpitas, CA)
Assignee: SANDISK TECHNOLOGIES LLC
H03L7/0814G06F13/4022G06F13/4221G11C7/222
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 11,901,905
App. No.
17/667,451
Granted
Feb 13, 2024
Kind
B2
Abstract

The present disclosure provides for calibrating clock signals in an unmatched data input system. In various embodiments, an unmatched data input system uses multi-delay circuits to calibrate a clock signal distributed to various input/outputs in the unmatched data input system. These multi-delay circuits can include coarse delay circuits and fine delay circuits that provide a broad range as well as accurate delay capabilities. Through the use of these multi-delay circuits, the unmatched data input system can optimally align a clock signal with its associated data signal across multiple input/outputs.

Claims (57)

1. A method comprising:

receiving, by a system, a data signal;

storing, by the system, the data signal as a latched data signal;

receiving, by the system, a clock signal;

based on the received clock signal, providing a set of local clock signals to a set of input/outputs (IO);

calibrating, by the system, the local clock signals for each IO of the set of IOs based on the latched data signal, wherein the calibrating comprises:

determining, for each IO of the set of IOs, a delay to apply to a respective local clock signal of local clock signals based on the latched data signal to align clock edges of the set of local clock signals; and

delaying the local clock signal for each IO of the set of IOs;

calibrating, by the system, the latched data signal based on the calibrated local clock signals; and

processing, by the system, the calibrated data signal based on the calibrated local clock signals.

2. The method of claim 1 , wherein the determining the delay comprises:

determining a total number of first delays associated with a first delay time based on a data window of the latched data signal;

determining a total number of second delays associated with a second delay time based on the data window of the latched data signal and the total number of first delays, wherein the first delay time is longer than the second delay time.

3. The method of claim 2 , wherein the determining the total number of first delays comprises:

determining a minimum number of first delays associated with the first delay time that exceeds the data window of the latched data signal, wherein the number of first delays is one less than the minimum number of first delays.

4. The method of claim 2 , wherein the determining the delay further comprises:

determining a number of first delays associated with the first delay time to align the clock edges of the respective local clock signal with a middle of the data window based on the total number of first delays; and

determining a number of second delays associated with the second delay time to align the clock edges of the respective local clock signal with the middle of the data window based on the total number of second delays.

5. The method of claim 1 , wherein the calibrating the local clock signals further comprises:

determining, for each IO of the set of IOs, a clock edge of the respective local clock signal at which to process the data signal.

6. The method of claim 1 , wherein the calibrating the local clock signals is based on the IO of the set of IOs that is last to receive the respective local clock signal.

7. The method of claim 1 , wherein the calibrating the local clock signals is based on a set of multi-delay circuits that each include a first delay circuit that delays the respective local clock signal by a first delay time and a second delay circuit that delays the respective local clock signal by a second delay time, wherein the second delay time is shorter than the first delay time.

8. The method of claim 1 , wherein each IO of the set of IOs is associated with a different timing of the respective local clock signal and the respective local clock signal is calibrated for each IO of the set of IOs in parallel.

9. An apparatus, comprising:

an interface for receiving a data signal and receiving a clock signal;

a set of input/outputs (IOs) connected to the interface along a set of clock paths, wherein the set of clock paths communicate a set of local clock signals to the set of IOs based on the received clock signal; and

a controller in communication with the interface and the set of IOs, wherein the controller causes the apparatus to perform:

receiving a data signal on the interface;

storing the received data signal as a latched data signal;

receiving a clock signal on the interface;

calibrating the local clock signals for each latch circuit of the set of latch circuits based on the latched data signal, wherein the calibrating comprises:

determining, for each IO of the set of IOs, a delay to apply to a respective local clock signal of the set of local clock signals based on the latched data signal to align clock edges of the set of local clock signals; and

delaying the local clock signal for each IO of the set of IOs;

calibrating the latched data signal based on the calibrated local clock signals; and

processing the calibrated data signal based on the calibrated local clock signals.

10. The apparatus of claim 9 , wherein the determining the delay comprises:

determining a total number of first delays associated with a first delay time based on a data window of the latched data signal;

determining a total number of second delays associated with a second delay time based on the data window of the latched data signal and the total number of first delays, wherein the first delay time is longer than the second delay time.

11. The apparatus of claim 10 , wherein the determining the total number of first delays comprises:

determining a minimum number of first delays associated with the first delay time that exceeds the data window of the latched data signal, wherein the number of first delays is one less than the minimum number of first delays.

12. The apparatus of claim 10 , wherein the determining the delay further comprises:

determining a number of first delays associated with the first delay time to align the clock edges of the respective local clock signal with a middle of the data window based on the total number of first delays; and

determining a number of second delays associated with the second delay time to align the clock edges of the respective local clock signal with the middle of the data window based on the total number of second delays.

13. The apparatus of claim 9 , wherein the calibrating the local clock signals further comprises:

determining for each IO of the set of IOs, a clock edge of the respective local clock signal at which to process the data signal.

14. The apparatus of claim 9 , wherein the calibrating the local clock signals is based on the IO of the set of IOs that is last to receive the respective local clock signal.

15. The apparatus of claim 9 , wherein the calibrating the local clock signals is based on a set of multi-delay circuits that each include a first delay circuit that delays the respective local clock signal by a first delay time and a second delay circuit that delays the respective local clock signal by a second delay time, wherein the second delay time is shorter than the first delay time.

16. A system comprising:

a set of data signal input circuits configured to receive a data signal and store the received data signal as a latched data signal;

a clock signal input circuit configured to receive a clock signal;

a set of clock paths that connect the clock signal input circuit to the set of data signal input circuits;

a set of input/output (IO) circuits on the clock paths between the data signal input circuit and the clock signal input circuit, the set of IO circuits are configured to receive, via the set of clock paths, local clock signals at different timings based a clock signal received at the clock signal input circuit; and

a set of multi-delay circuits that on the set of clock paths and connected between the set of data signal input circuits and the clock signal input circuit, each multi-delay circuit of the set of multi-delay circuits includes a first delay circuit that delays a respective local clock signal by a first delay time and a second delay circuit that delays the respective local clock signal by a second delay time, wherein the second delay time is shorter than the first delay time, wherein the set of multi-delay circuits are calibrated to apply the first and second delay time to the local clock signal for each IO circuit of the set of IO circuits based on the latched data signal to align clock edges of the set of local clock signals.

17. The system of claim 16 , wherein the set of multi-delay circuits are calibrated based on a total number of first delays associated with the first delay time determined based on a data window of the latched data signal and a total number of second delays associated with the second delay time determined based on the data window of the latched data signal and the total number of first delays.

18. The system of claim 17 , wherein the total number of first delays is based on a minimum number of first delays associated with the first delay time that exceeds the data window of the latched data signal, wherein the number of first delays is one less than the minimum number of first delays.

19. The system of claim 17 , wherein the set of multi-delay circuits are calibrated further based on a number of first delays associated with the first delay time to align the clock edges of the local clock signals with a middle of the data window and a number of second delays associated with the second delay time to align the clock edges of the local clock signals with the middle of the data window.

20. The system of claim 17 , wherein each IO circuit of the set of IO circuits is associated with a different timing of the local clock signals and the set of multi-delay circuits are calibrated for each IO circuit of the set of IO circuits in parallel.

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 Feb 8, 2022
From: TANG, TIANYU
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 058932/0705 →
Continuity (1)
Related Publication 20230253969A1 · Aug 10, 2023