Memory hub with integrated non-volatile memory
First Claim
1. A memory hub in a hub-based memory sub-system, comprising:
- a non-volatile memory for storing memory module configuration information that is stored in the non-volatile memory before initialization and specific to a memory module on which the memory hub is located;
a first configuration path coupled to the non-volatile memory and configured to provide access to the non-volatile memory; and
a memory controller coupled to the non-volatile memory through the first configuration path and further coupled to a plurality of memory devices of the memory module, the memory controller having a plurality of configuration registers configured by loading the memory module configuration information from the non-volatile memory, the memory controller operable to output memory requests to the plurality of memory devices in response to receiving memory access requests and in accordance with the memory module configuration information loaded in the plurality of registers;
a link interface coupled to the memory controller, the link interface configured to receive memory access requests from a host system; and
a second configuration path coupled to the link interface and the non-volatile memory, the second configuration path configured to provide the link interface access to the non-volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory hub having an integrated non-volatile memory for storing configuration information is provided. The memory hub includes a high-speed interface for receiving memory access requests, a non-volatile memory having memory configuration information stored therein, and a memory controller coupled to the high-speed interface and the non-volatile memory. The memory controller includes registers into which the memory configuration information is loaded and is operable to output memory requests in response to receiving memory access requests from the high-speed interface and in accordance with the memory configuration information loaded in the registers. A method for initializing a memory sub-system is also provided. The method includes loading configuration registers of a plurality of memory hubs with the configuration information provided by a respective one of a plurality of embedded non-volatile memories integrated in the respective memory hub.
257 Citations
31 Claims
-
1. A memory hub in a hub-based memory sub-system, comprising:
-
a non-volatile memory for storing memory module configuration information that is stored in the non-volatile memory before initialization and specific to a memory module on which the memory hub is located; a first configuration path coupled to the non-volatile memory and configured to provide access to the non-volatile memory; and a memory controller coupled to the non-volatile memory through the first configuration path and further coupled to a plurality of memory devices of the memory module, the memory controller having a plurality of configuration registers configured by loading the memory module configuration information from the non-volatile memory, the memory controller operable to output memory requests to the plurality of memory devices in response to receiving memory access requests and in accordance with the memory module configuration information loaded in the plurality of registers; a link interface coupled to the memory controller, the link interface configured to receive memory access requests from a host system; and a second configuration path coupled to the link interface and the non-volatile memory, the second configuration path configured to provide the link interface access to the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory sub-system for a host system, comprising:
-
a bus coupled to the host system; and at least one memory module, each memory module having a plurality of memory devices and further having a memory hub, the memory hub coupled to the bus and the plurality of memory devices to control access to the memory devices, the memory hub including a memory controller coupled to the plurality of memory devices of the memory module to output memory access requests to the plurality of memory devices, the memory hub further including a non-volatile memory for storing memory module configuration information that is stored in the non-volatile memory before initialization and specific to the memory module, the non-volatile memory being coupled to the memory controller through a first configuration path to provide the memory controller with the memory module configuration information; a link interface coupled to the memory controller, the link interface configured to receive memory access requests from the host system; and a second configuration path coupled to the link interface and the non-volatile memory, the second configuration path configured to provide the link interface access to the non-volatile memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A memory module, comprising:
-
a plurality of memory devices; and a memory hub coupled to the plurality of memory devices, the memory hub having a non-volatile memory for storing memory module configuration information that is stored in the non-volatile memory before initialization and specific to the memory module, the memory hub further having a memory controller coupled to the plurality of memory devices, the memory controller coupled to the non-volatile memory through a first configuration path, the memory controller operable to output memory requests to the plurality of memory devices in response to receiving memory access requests and in accordance with the memory module configuration information stored in the non-volatile memory; a link interface coupled to the memory controller, the link interface configured to receive memory access requests from a host system; and a second configuration path coupled to the link interface and the non-volatile memory, the second configuration path configured to provide the link interface access to the non-volatile memory. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of initializing a memory sub-system, comprising:
-
accessing a non-volatile memory that stores configuration information specific to the memory sub-system on which a memory hub having the non-volatile memory is located, the configuration information being stored in the non-volatile memory before initialization; loading a configuration register of the memory hub with the configuration information from the non-volatile memory through a first configuration path; receiving memory access requests from a host system through a link interface; and providing the link interface access to the non-volatile memory through a second configuration path. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification