IP Library › Granted Patent US 12,346,567
Granted Patent B2
US 12,346,567 · App. 18/519,359 · Granted Jul 1, 2025

Partial array refresh timing

Inventors: Liji Gopalakrishnan (Sunnyvale, CA); Thomas Vogelsang (Mountain View, CA); John Eric Linstadt (Palo Alto, CA)
Assignee: Rambus Inc.
G06F3/0613G06F3/0659G06F3/0673G11C11/40622G06F13/1636
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,346,567
App. No.
18/519,359
Granted
Jul 1, 2025
Kind
B2
Abstract

A memory controller combines information about which memory component segments are not being refreshed with the information about which rows are going to be refreshed next, to determine, for the current refresh command, the total number of rows that are going to be refreshed. Based on this total number of rows, the memory controller selects how long to wait after the refresh command before issuing a next subsequent command. When the combination of masked segments and the refresh scheme results in less than the ‘nominal’ number of rows typically refreshed in response to a single refresh command, the waiting period before the next command (e.g., non-refresh command) is issued may be reduced from the ‘nominal’ minimum time period, thereby allowing the next command to be issued earlier.

Claims (44)

1. A memory controller, comprising:

a command interface to couple to a memory component that includes a refresh masking register;

a shadow refresh masking register to store values corresponding to values currently stored by the refresh masking register of the memory component;

the command interface to transmit a first indicator of a first masked segment to the memory component;

shadow refresh masking register updating circuitry to, based on an indicator of the first masked segment, update the shadow refresh masking register to indicate a first masked segments value that indicates the first masked segment will not be refreshed by the memory component in response to a next refresh command transmitted via the command interface; and

command timing control circuitry to, based on the first masked segments value, select a first minimum required time interval between a first transmission, via the command interface, of the next refresh command and a second transmission, via the command interface, of a next subsequent non-refresh memory access command.

2. The memory controller of claim 1 , further comprising:

circuitry to indicate a set of candidate segments for the next refresh command.

3. The memory controller of claim 2 , wherein the first minimum required time interval is further based on the set of candidate segments for the next refresh command.

4. The memory controller of claim 3 , further comprising:

circuitry to indicate, based on the set of candidate segments for the next refresh command, a first set of rows to be refreshed, and a second set of rows to not be refreshed, by the next refresh command.

5. The memory controller of claim 4 , wherein the first set of rows and the second set of rows is based on an indicator associated with a pattern of rows to be refreshed.

6. The memory controller of claim 4 , wherein the first set of rows and the second set of rows is base is associated with a progression of a pattern of rows to be refreshed.

7. The memory controller of claim 4 , wherein an indicator of the first set of rows and the second set of rows is provided by the memory component.

8. A memory controller, comprising:

a command interface to couple to a memory component that includes a refresh masking register;

the command interface to transmit a first indicator of a first masked segment to the memory component;

circuitry to, based on an indicator associated with a pattern of rows to be refreshed, indicate a first set of rows to be refreshed, and a second set of rows to not be refreshed, by a next refresh command;

circuitry to, based on the first set of rows and the second set of rows, indicate a set of candidate segments for the next refresh command; and

command timing control circuitry to, based on the set of candidate segments and the first masked segment, select a first minimum required time interval between a first transmission, via the command interface, of the next refresh command and a second transmission, via the command interface, of a next subsequent memory access command.

9. The memory controller of claim 8 , wherein the first set of rows and the second set of rows is based on an indicator associated with a pattern of rows to be refreshed.

10. The memory controller of claim 8 , wherein an indicator of the first set of rows and the second set of rows is provided by the memory component.

11. The memory controller of claim 8 , wherein the first set of rows and the second set of rows is based on a progression of a pattern of rows to be refreshed.

12. The memory controller of claim 11 , wherein a location in the progression of the pattern of rows to be refreshed is provided by the memory component.

13. The memory controller of claim 8 , further comprising:

a shadow refresh masking register.

14. The memory controller of claim 13 , further comprising:

shadow refresh masking register updating circuitry to, based on an indicator of the first masked segment, update the shadow refresh masking register to indicate a first masked segments value.

15. The memory controller of claim 14 , wherein the command timing control circuitry is to, based further on the first masked segments value, select the first minimum required time interval.

16. A method of operating a memory controller, comprising:

transmitting, to a memory component, a first indicator of a first segment that is not to be refreshed by the memory component, the first indicator to set a first masked segments value stored by a refresh mask register of the memory component;

updating a shadow refresh masking register of the memory controller to indicate the first masked segments value that indicates the first segment will not be refreshed by the memory component;

based on the first masked segments value, selecting a first minimum required time interval between a first transmission, via a command interface coupled with the memory component, of a next refresh command and a second transmission, via the command interface, of a next subsequent non-refresh access command to be transmitted via the command interface;

transmitting the next refresh command via the command interface; and

after at least the first minimum required time interval from transmission of the next refresh command via the command interface, transmitting the next subsequent non-refresh access command via the command interface.

17. The method of claim 16 , further comprising:

determining a set of candidate segments for the next refresh command.

18. The method of claim 17 , further comprising:

based on the set of candidate segments, determining a first set of rows of the memory component that are to be refreshed by the next refresh command; and

based on the set of candidate segments, determining a second set of rows of the memory component that are not to be refreshed by the next refresh command.

19. The method of claim 18 , further comprising:

receiving an indicator of a pattern of rows to be refreshed, wherein the first set of rows and the second set of rows is based on the pattern.

20. The method of claim 19 , further comprising:

receiving an indicator of a location in the pattern of rows to be refreshed, wherein the first set of rows and the second set of rows is further based on the location in the pattern of rows.

Continuity (3)
Continuation 17785269
Provisional Application 62951953 · Dec 20, 2019
Related Publication 20240176497A1 · May 30, 2024
References Cited (30)
US 5335201A · Walther et al. · 1994 [cited by applicant]
US 5566119A · Matano · 1996 [cited by applicant]
US 5634106A · Yaezawa et al. · 1997 [cited by applicant]
US 5761703A · Bolyn · 1998 [cited by applicant]
US 6834022B2 · Derer et al. · 2004 [cited by applicant]
US 9165635B2 · Wang et al. · 2015 [cited by applicant]
US 9418723B2 · Chishti et al. · 2016 [cited by applicant]
US 10115448B2 · Lee et al. · 2018 [cited by applicant]
US 10332582B2 · Suh et al. · 2019 [cited by applicant]
US 10741235B2 · Nakamura · 2020 [cited by examiner]
US 20050088896A1 · Yeh · 2005 [cited by applicant]
US 20050108460A1 · David · 2005 [cited by applicant]
US 20060004955A1 · Ware et al. · 2006 [cited by applicant]
US 20080027703A1 · Rajan et al. · 2008 [cited by applicant]
US 20110252193A1 · Bains et al. · 2011 [cited by applicant]
US 20120026813A1 · Sato · 2012 [cited by examiner]
US 20130100755A1 · Youn et al. · 2013 [cited by applicant]
US 20140293725A1 · Best et al. · 2014 [cited by applicant]
US 20150026399A1 · Coquelin et al. · 2015 [cited by applicant]
US 20150325166A1 · Lee et al. · 2015 [cited by applicant]
US 20160027498A1 · Ware et al. · 2016 [cited by applicant]
US 20180061484A1 · Biswas · 2018 [cited by applicant]
US 20190043558A1 · Suh · 2019 [cited by examiner]
US 20190074051A1 · Chang · 2019 [cited by examiner]
US 20190221252A1 · Suh et al. · 2019 [cited by applicant]
US 20190243721A1 · Fox et al. · 2019 [cited by applicant]
Cui, Zehan et al., “DTail: A Flexible Approach to DRAM Refresh Management”, In: Proceedings of the 28th ACM International Conference on Supercomputing, Jun. 13, 2014, Retrieved on Jan. 18, 2021 from: <http://publication… [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration with Mail Date Feb. 10, 2021 re: Int'l Appln. No. PCT/US2020/063135. 11… [cited by applicant]
EP Response filed Jun. 17, 2024 in Response to the Extended European Search Report Dated Dec. 22, 2023 and the Communication Pursuant to Rules 70(2) and 70a(2) EPC Dated Jan. 9, 2024 re: EP Appln. No. 20901978.5. 29 pag… [cited by applicant]
EP Extended European Search Report with Mail Date Dec. 22, 2023 re: EP Appln. No. 20901978.5. 10 pages. [cited by applicant]