Memory module having volatile and non-volatile memory subsystems and method of operation
First Claim
1. A memory module for use in a computer system, the computer system including a memory controller coupled to the memory module via a memory channel, the memory channel including a data bus and a control/address (C/A) bus, comprising:
- a volatile memory subsystem coupled to the memory channel, the volatile memory subsystem including a registered control device (RCD) configured to receive input C/A signals from the C/A bus and memory devices configured to perform memory operations in response to output C/A signals from the RCD that are derived from the input C/A signals;
a non-volatile memory subsystem; and
a module control device coupled to the volatile memory subsystem, the non-volatile memory subsystem, and the memory channel, wherein the module control device is configured to perform a page-fault operation in response to a set of signals received from the memory channel indicating a non-volatile memory access request to transfer first data from the non-volatile memory subsystem to the volatile memory subsystem, the page fault operation including reading the first data from the non-volatile memory subsystem in response to the set of signals, and providing at least a portion of the first data to the volatile memory subsystem in response to a dummy write memory command received via the C/A bus, the dummy write memory command being received by both the module control device and the RCD and including a memory address related to the page-fault operation.
3 Assignments
0 Petitions
Accused Products
Abstract
A memory module comprises a volatile memory subsystem configured to coupled to a memory channel in computer system and capable of serving as main memory for the computer system, a non-volatile memory subsystem providing storage for the computer system, and a module controller coupled to the volatile memory subsystem, the non-volatile memory subsystem, and the C/A bus. The module controller reads first data from the non-volatile memory subsystem in response to a Flash access request received via the memory channel, and causes at least a portion of the first data to be written into the volatile memory subsystem in response to a dummy write memory command received via the C/A bus. The module control device includes status registers accessible by the computer system via the memory bus.
150 Citations
25 Claims
-
1. A memory module for use in a computer system, the computer system including a memory controller coupled to the memory module via a memory channel, the memory channel including a data bus and a control/address (C/A) bus, comprising:
-
a volatile memory subsystem coupled to the memory channel, the volatile memory subsystem including a registered control device (RCD) configured to receive input C/A signals from the C/A bus and memory devices configured to perform memory operations in response to output C/A signals from the RCD that are derived from the input C/A signals; a non-volatile memory subsystem; and a module control device coupled to the volatile memory subsystem, the non-volatile memory subsystem, and the memory channel, wherein the module control device is configured to perform a page-fault operation in response to a set of signals received from the memory channel indicating a non-volatile memory access request to transfer first data from the non-volatile memory subsystem to the volatile memory subsystem, the page fault operation including reading the first data from the non-volatile memory subsystem in response to the set of signals, and providing at least a portion of the first data to the volatile memory subsystem in response to a dummy write memory command received via the C/A bus, the dummy write memory command being received by both the module control device and the RCD and including a memory address related to the page-fault operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25)
-
-
11. A method of operating a memory module in a computer system, the computer system including a memory controller coupled to the memory module via a memory channel, the memory channel including a data bus and a control/address (C/A) bus, the method comprising:
-
receiving, by a module control device on the memory module, a set of signals from the memory controller via the memory channel; and performing a page fault operation in response to the set of signals indicating a non-volatile memory access request to transfer first data from a non-volatile memory subsystem on the memory module to a volatile memory subsystem on the memory module, the page fault operation including; reading first data from the non-volatile memory subsystem in response to receiving the set of signals; receiving, by the module control device, a dummy write memory command via the C/A bus, the dummy write memory command including an address related to the page-fault operation; and providing at least a portion of the first data to the volatile memory subsystem in response to the dummy write memory command, wherein the volatile memory subsystem includes a registered control device (RCD) configured to receive the dummy write memory command via the C/A bus, and wherein the volatile memory subsystem is configured to receive the at least a portion of the first data in response to the dummy write memory command. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification