IP Library Granted Patent US 11,687,247
Granted Patent B2
US 11,687,247 · App. 17/339,683 · Granted Jun 27, 2023

High-throughput low-latency hybrid memory module

Inventors: Aws Shallal (Cary, NC); Michael Miller (Raleigh, NC); Stephen Horn (Raleigh, NC)
Assignee: Rambus Inc.
G06F3/0613G06F3/065G06F3/0611G06F3/0656G06F3/0659G06F3/0679G06F3/0685G06F11/00G06F12/0802G06F12/1441G06F13/1673G11C5/04G11C11/005G11C14/0009G06F11/14G06F13/1668G06F2212/1024G06F2212/205G11C7/1051Y02D10/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 11,687,247
App. No.
17/339,683
Granted
Jun 27, 2023
Kind
B2
Abstract

Disclosed herein are techniques for implementing high-throughput low-latency hybrid memory modules with improved data backup and restore throughput, enhanced non-volatile memory controller (NVC) resource access, and enhanced mode register setting programmability. Embodiments comprise a command replicator to generate sequences of one or more DRAM read and/or write and/or other commands to be executed in response to certain local commands from a non-volatile memory controller (NVC) during data backup and data restore operations. Other embodiments comprise an access engine to enable an NVC in a host control mode to trigger entry into a special mode and issue commands to access a protected register space. Some embodiments comprise a mode register controller to capture and store the data comprising mode register setting commands issued during a host control mode, such that an NVC can program the DRAM mode registers in an NVC control mode.

Claims (38)

1. A method of operation by a command buffer chip, the method comprising:

receiving one or more host commands from a host memory controller via a first interface;

issuing one or more dynamic random access memory (DRAM) commands to one or more DRAM devices via a second interface;

receiving one or more local commands from a non-volatile memory controller via a third interface;

capturing one or more mode register settings from the one or more host commands;

modifying at least one of the one or more mode registered settings based on the one or more local commands to produce one or more modified mode register settings;

generating one or more mode register setting commands based at least in part on the one or more modified mode register settings; and

issuing the one or more mode register setting commands to the one or more DRAM devices via the second interface.

2. The method of claim 1 , wherein issuing the one or more mode register setting commands comprises issuing the one or more mode register setting commands to the one or more DRAM devices responsive to receiving the one or more local commands.

3. The method of claim 1 , wherein issuing the one or more mode register setting commands comprises issuing the one or more mode register setting commands to the one or more DRAM devices responsive to at least one of a data backup event or a data restore event.

4. The method of claim 1 , further comprising storing the one or more modified mode register settings in one or more control setting registers of the command buffer chip.

5. The method of claim 4 , further comprising providing access to the one or more control setting registers by the host memory controller or the non-volatile memory controller.

6. The method of claim 4 , further comprising providing access to one or more bits of the one or more control setting registers by the non-volatile memory controller.

7. The method of claim 4 , further comprising prohibiting access to one or more protected bits of the one or more control setting registers by the non-volatile memory controller.

8. A method of operation by a memory system, the method comprising:

receiving, by a command buffer, one or more host commands from a host memory controller;

receiving, by the command buffer, one or more local commands from a non-volatile memory controller;

storing, by the command buffer, settings in one or more control setting registers;

capturing, by a mode register controller, one or more captured mode register settings from the one or more host commands;

modifying, by the mode register controller, at least one of the one or more captured mode register settings based on the one more local commands to produce one or more modified captured mode register settings; and

generating, by the mode register controller, one or more generated mode register setting commands based at least in part on the one or more modified captured mode register settings.

9. The method of claim 8 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices.

10. The method of claim 8 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices responsive to the receiving the one or more local commands.

11. The method of claim 8 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices responsive to at least one of a data backup event or a data restore event.

12. The method of claim 8 , further comprising storing the one or more modified captured mode register settings in the one or more control setting registers of the command buffer.

13. The method of claim 12 , further comprising providing access to the one or more control setting registers of the command buffer by the host memory controller or the non-volatile memory controller.

14. The method of claim 12 , further comprising prohibiting access to one or more protected bits of the one or more control setting registers by the non-volatile memory controller.

15. The method of claim 8 , wherein capturing the one or more captured mode register settings from the one or more host commands comprises capturing the one or more captured mode register settings from the one or more host commands during an initialization of the memory system.

16. A method of operation by a memory system, the method comprising:

receiving, by a command buffer, one or more host commands from a host memory controller;

receiving, by the command buffer, one or more local commands from a non-volatile memory controller;

capturing, by a mode register controller, one or more captured mode register settings from the one or more host commands;

modifying, by the mode register controller, at least one of the one or more captured mode register settings based on the one more local commands to produce one or more modified captured mode register settings; and

generating, by the mode register controller, one or more generated mode register setting commands based at least in part on the one or more modified captured mode register settings, wherein at least one of the one or more modified captured mode register settings comprises one or more accessible register bits accessible by the non-volatile memory controller.

17. The method of claim 16 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices.

18. The method of claim 16 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices responsive to the receiving the one or more local commands.

19. The method of claim 16 , further comprising issuing, by the command buffer, the one or more generated mode register setting commands to one or more dynamic random access memory (DRAM) devices responsive to at least one of a data backup event or a data restore event.

20. The method of claim 16 , further comprising storing the one or more modified captured mode register settings in one or more control setting registers of the command buffer.

Continuity (4)
Continuation 16535814 · Aug 8, 2019
Continuation 16042374 · Jul 23, 2018
Continuation 14883155 · Oct 14, 2015
Related Publication 20210357131A1 · Nov 18, 2021