IP Library Granted Patent US 11,710,516
Granted Patent B2
US 11,710,516 · App. 17/728,673 · Granted Jul 25, 2023

Double data rate (DDR) memory controller apparatus and method

Inventors: Mahesh Gopalan (Milpitas, CA); David Wu (Saratoga, CA); Venkat Iyer (Sunnyvale, CA)
Assignee: Uniquify, Inc.
G11C11/4076G06F1/04G06F1/08G06F1/12G06F1/14G06F3/065G06F3/067G06F3/0619G06F12/0646G06F13/1689G06F13/4243G11C7/1072G11C7/222G11C11/4093G11C11/4096G11C29/022G11C29/023G11C29/028G11C7/04G11C11/40
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,710,516
App. No.
17/728,673
Granted
Jul 25, 2023
Kind
B2
Abstract

A computer-implemented method includes an act of configuring hardware to cause at least a part of the hardware to operate as a double data rate (DDR) memory controller, and to produce a capture clock to time a read data path, where a timing of the capture clock is based on a first clock signal of a first clock, delay the first clock signal to produce a delayed first clock signal, adjust the delay such that at least one clock edge of the delayed first clock signal is placed nearer to at least one clock edge of at least one data strobe (DQS), or at least one signal dependent on a DQS timing, and produce a modified timing of the capture clock based on the delay of the first clock signal.

Claims (29)

1. A computer-implemented method, comprising an act of:

configuring hardware to cause at least a part of the hardware to operate as a double data rate (DDR) memory controller, and to:

produce a capture clock to time a read data path, where a timing of the capture clock is based on a first clock signal of a first clock;

delay the first clock signal to produce a delayed first clock signal;

adjust the delay such that at least one clock edge of the delayed first clock signal is placed nearer to at least one clock edge of:

at least one data strobe (DQS); or

at least one signal dependent on a DQS timing; and

produce a modified timing of the capture clock based on the delay of the first clock signal.

2. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the first clock signal is a core clock signal or a signal derived from at least the core clock signal.

3. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to issue a sequence of read commands so that at least one of:

the at least one DQS toggles repeatedly; or

the at least one signal dependent on the DQS timing toggles repeatedly.

4. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the adjusting the delay produces a plurality of the clock edges of the delayed first clock signal that are a function of the least one clock edge.

5. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the at least one clock edge includes the at least one clock edge of the at least one signal dependent on the DQS timing, and the at least one clock edge is a delayed version of another at least one DQS.

6. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to adjust the timing of the capture clock by monitoring the DQS timing or a signal dependent on the DQS timing.

7. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to produce the capture clock such that the capture clock runs at a same clock frequency as a memory clock of a memory.

8. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to produce the capture clock such that the capture clock at a clock frequency that is the same as, a multiple of, or a sub-multiple of a frequency of read data in the read data path.

9. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to use a calibration sequence to place the capture clock in a more optimum sampling position in a read data eye.

10. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the capture clock is adjusted to place capture of read data closer to a middle of a data eye.

11. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that read data is captured directly in one or more registers.

12. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that read data is directly captured from memory.

13. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the capture clock is adjusted to increase a reliability of a capture of read data from a memory.

14. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that a read timing training calibration sequence is performed to increase a reliability of a capture of read data from a memory.

15. The method of claim 14 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that at least one delay element is adjusted during the read timing training calibration sequence.

16. The method of claim 15 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the adjustment of the at least one delay element causes an adjustment of a phase of the capture clock.

17. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the capture clock is produced by a capture clock generation circuit.

18. The method of claim 17 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the capture clock generation circuit adjusts a timing of the capture clock to match a phase of a memory clock of a memory.

19. The method of claim 1 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the modified timing of the capture clock accommodates at least one of a variation of voltage or a variation of temperature.

20. The method of claim 19 , and comprising an additional act of further configuring the hardware to cause the at least part of the hardware to operate such that the accommodation is performed by at least one of a capture clock generation circuit or a circuit driving a capture clock generation circuit.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2026
From: GALLAGHER IP SOLUTIONS LLC
To: UNIQUIFY IP HOLDINGS, LLC
Reel/Frame 073762/0305 →
SECURITY INTEREST Recorded Aug 6, 2024
From: NEWLIGHT CAPITAL, LLC
To: GALLAGHER IP SOLUTIONS LLC
Reel/Frame 068201/0194 →
SECURITY INTEREST Recorded Aug 29, 2023
From: UNIQUIFY, INC.
To: NEWLIGHT CAPITAL LLC, AS SERVICER
Reel/Frame 064740/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2023
From: GOPALAN, MAHESH; WU, DAVID; IYER, VENKAT
To: UNIQUIFY, INC.
Reel/Frame 063033/0234 →
Continuity (16)
Continuation 16909871 · Jun 23, 2020
Continuation 16584600 · Sep 26, 2019
Continuation 16296025 · Mar 7, 2019
Continuation 16049693 · Jul 30, 2018
Continuation 15996365 · Jun 1, 2018
Continuation 15926902 · Mar 20, 2018
Continuation 15722209 · Oct 2, 2017
Continuation 15249188 · Aug 26, 2016
Continuation 14882226 · Oct 13, 2015
Continuation In Part 14752903 · Jun 27, 2015
Continuation 14152902 · Jan 10, 2014
Continuation 14023630 · Sep 11, 2013
Continuation 13172740 · Jun 29, 2011
Continuation In Part 12157081 · Jun 6, 2008
Provisional Application 62063136 · Oct 13, 2014
Related Publication 20220254403A1 · Aug 11, 2022