IP Library › Granted Patent US 12,243,578
Granted Patent B2
US 12,243,578 · App. 18/390,431 · Granted Mar 4, 2025

Read clock start and stop for synchronous memories

Inventors: Aaron John Nygren (Boise, ID); Karthik Gopalakrishnan (Cupertino, CA); Tsun Ho Liu (Boston, MA)
Assignee: Advanced Micro Devices, Inc.
G11C11/4076G06F1/08G06F1/10G06F3/0604G06F3/0659G06F3/0671G06F1/3237G06F1/3275G06F12/00G06F13/00
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 12,243,578
App. No.
18/390,431
Granted
Mar 4, 2025
Kind
B2
Abstract

A memory controller monitors memory command selected for dispatch to the memory and sends commands controlling a read clock state. A memory includes a read clock circuit and a mode register. The read clock circuit has an output for providing a hybrid read clock signal in response to a clock signal and a read clock mode signal. The read clock circuit provides the hybrid read clock signal as a free-running clock signal that toggles continuously, and as a strobe signal that is active only in response to the memory receiving a read command.

Claims (51)

1. A memory controller, comprising:

a command queue including a plurality of entries for holding incoming memory access commands;

an arbiter for selecting commands from the command queue for dispatch to a memory; and

a read clock control circuit adapted to monitor read commands selected for dispatch to the memory and command the memory to change a state of a read clock from a first state in which the read clock provides a free-running clock signal that toggles continuously, to a second state in which the read clock provides a strobe signal that is active only in response to the memory receiving a read command.

2. The memory controller of claim 1 , wherein:

wherein commanding the memory to change a state of a read clock is based on a designated condition that a gap of at least a predetermined size will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

3. The memory controller of claim 1 , wherein:

wherein commanding the memory to change a state of a read clock is based on a designated condition that at least a designated number of write commands will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

4. The memory controller of claim 1 , wherein:

wherein commanding the memory to change a state of a read clock is based on a designated condition that a current read command is a final command in a streak of read commands selected by the arbiter.

5. The memory controller of claim 1 , wherein:

the read clock control circuit commands the memory to change the state of the read clock by setting a read clock flag associated with a current read command to a designated value.

6. The memory controller of claim 1 , wherein:

the read clock control circuit commands the memory to change the state of the read clock by sending an explicit command to the memory separate from the read command.

7. The memory controller of claim 1 , wherein:

causing the read clock to remain in the first state comprises setting a read clock flag associated with a current read command to a designated value.

8. A method comprising:

at a memory controller, selecting memory access commands and dispatching them to a memory;

monitoring read commands selected for dispatch to the memory; and

commanding the memory to change a state of a read clock from a first state in which the read clock provides a free-running clock signal that toggles continuously, to a second state in which the read clock provides a strobe signal that is active only in response to the memory receiving a read command.

9. The method of claim 8 , wherein:

commanding the memory to change the state of the read clock is based on a designated condition that a gap of at least a predetermined size will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

10. The method of claim 8 , wherein:

commanding the memory to change the state of the read clock is based on a designated condition that at least a designated number of write commands will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

11. The method of claim 8 , wherein:

commanding the memory to change the state of the read clock is based on a designated condition that a current read command is a final command in a streak of read commands selected by the memory controller.

12. The method of claim 8 , wherein:

commanding the memory to change the state of the read clock includes setting a read clock flag associated with a current read command to a designated value.

13. The method of claim 8 , wherein:

commanding the memory to change the state of the read clock is based on a designated condition, and further comprising responsive to the absence of the designated condition, causing the read clock remains in the first state.

14. The method of claim 13 , wherein:

wherein causing the read clock to remain in the first state comprises setting a metadata flag associated with a current read command to a designated value.

15. The method of claim 8 , further comprising:

outputting a read clock signal from the memory for a read command response, wherein the outputting comprises:

toggling the read clock signal during a read preamble period;

transmitting data indicated by the read clock signal; and

toggling the read clock signal for at least a read postamble period.

16. The method of claim 15 , wherein:

toggling the read clock signal for at least the read postamble period comprises stopping the toggling after the read postamble period in response to being in the first state.

17. A data processing system comprising:

a memory; and

an integrated circuit including a data processor and a memory controller coupled to the data processor and the memory, the memory controller comprising:

a command queue including a plurality of entries for holding incoming memory access commands;

an arbiter for selecting commands from the command queue for dispatch to the memory; and

a read clock control circuit adapted to monitor read commands selected for dispatch to the memory and command the memory to change a state of a read clock from a first state in which the read clock provides a free-running clock signal that toggles continuously, to a second state in which the read clock provides a strobe signal that is active only in response to the memory receiving a read command.

18. The data processing system of claim 17 , wherein:

wherein commanding the memory to change a state of a read clock is based on a designated condition that a gap of at least a predetermined size will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

19. The data processing system of claim 17 , wherein:

wherein commanding the memory to change a state of a read clock is based on a designated condition that at least a designated number of write commands will appear between a current read command dispatched to the memory and a subsequent read command to be dispatched to the memory.

20. The data processing system of claim 17 , wherein:

the read clock control circuit commands the memory to change the state of the read clock by setting a read clock flag associated with a current read command to a designated value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2024
From: NYGREN, AARON JOHN; GOPALAKRISHNAN, KARTHIK; LIU, TSUN HO
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 065991/0940 →
Continuity (3)
Continuation 17850658 · Jun 27, 2022
Provisional Application 63287151 · Dec 8, 2021
Related Publication 20240119993A1 · Apr 11, 2024
References Cited (46)
US 7038953B2 · Aoki · 2006 [cited by applicant]
US 8787097B1 · Chong et al. · 2014 [cited by applicant]
US 9577854B1 · Hollis · 2017 [cited by applicant]
US 10431293B1 · Takahashi · 2019 [cited by applicant]
US 10482921B2 · Dietrich · 2019 [cited by applicant]
US 11003238B2 · Sundararajan et al. · 2021 [cited by applicant]
US 20010042220A1 · Kwak et al. · 2001 [cited by applicant]
US 20040218460A1 · Lee · 2004 [cited by applicant]
US 20050089126A1 · Zerbe et al. · 2005 [cited by applicant]
US 20050210179A1 · Walmsley et al. · 2005 [cited by applicant]
US 20050220232A1 · Kunnari et al. · 2005 [cited by applicant]
US 20060197553A1 · Fibranz · 2006 [cited by examiner]
US 20090009618A1 · Hasegawa · 2009 [cited by examiner]
US 20090066380A1 · Redman-White · 2009 [cited by applicant]
US 20100313055A1 · Honda · 2010 [cited by examiner]
US 20110055671A1 · Kim et al. · 2011 [cited by applicant]
US 20110235459A1 · Ware et al. · 2011 [cited by applicant]
US 20120051161A1 · Grunzke · 2012 [cited by applicant]
US 20120300563A1 · Kim et al. · 2012 [cited by applicant]
US 20130223167A1 · Koshizuka · 2013 [cited by applicant]
US 20160365135A1 · Gopalan et al. · 2016 [cited by applicant]
US 20170345482A1 · Balakrishnan · 2017 [cited by examiner]
US 20180136843A1 · Lee et al. · 2018 [cited by applicant]
US 20190065074A1 · Lee · 2019 [cited by examiner]
US 20200020368A1 · Yoon · 2020 [cited by applicant]
US 20200020380A1 · Shin et al. · 2020 [cited by applicant]
US 20200027495A1 · Takahashi · 2020 [cited by examiner]
US 20200267032A1 · Hollis et al. · 2020 [cited by applicant]
US 20200321044A1 · Gopalan et al. · 2020 [cited by applicant]
US 20210234733A1 · Lin et al. · 2021 [cited by applicant]
US 20220035566A1 · Henze · 2022 [cited by examiner]
US 20220052678A1 · Choi · 2022 [cited by examiner]
US 20220319563A1 · Kim · 2022 [cited by examiner]
US 20220407506A1 · Fiedler · 2022 [cited by examiner]
US 20230081557A1 · Kang · 2023 [cited by examiner]
US 20230352083A1 · Sasaki · 2023 [cited by examiner]
US 20240029768A1 · Go et al. · 2024 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/051419 mailed Apr. 6, 2023, 7 pages. [cited by applicant]
“GDDR6: the Next-Generation Graphics DRAM”; Technical Note; Rev. A; Nov. 2017; MICRON; 8000 S. Federal Way, Boise, ID 83707, U.S.; 22 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/051426 mailed Apr. 10, 2023, 8 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/051352 mailed Mar. 30, 2023, 7 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/051422 mailed Apr. 7, 2023, 8 pages. [cited by applicant]
1458-0649 Action on the Merits by U.S.P.T.O regarding U.S. Appl. No. 17/854,924, filed Jun. 30, 2022. [cited by applicant]
1458-0655 Action on the Merits by U.S.P.T.O regarding U.S. Appl. No. 17/850,658, filed Jun. 27, 2022. [cited by applicant]
1458-0650 Action on the Merits by U.S.P.T.O regarding U.S. Appl. No. 17/854,924, filed Jun. 27, 2022. [cited by applicant]
1458-0654 Action on the Merits by U.S.P.T.O regarding U.S. Appl. No. 17/850,499, filed Jun. 27, 2022. [cited by applicant]