Apparatus and method for direct memory access in a hub-based memory system
First Claim
1. A memory module, comprising:
- a plurality of memory devices; and
a memory hub, comprising;
a link interface for receiving memory requests for access to at least one of the memory devices;
a memory device interface coupled to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices;
a switch for selectively coupling the link interface and the memory device interface; and
a direct memory access (DMA) engine coupled through the switch to the memory device interface, the DMA engine generating memory requests for access to at least one of the memory devices to perform DMA operations.
2 Assignments
0 Petitions
Accused Products
Abstract
A memory hub for a memory module having a DMA engine for performing DMA operations in system memory. The memory hub includes a link interface for receiving memory requests for access at least one of the memory devices of the system memory, and further including a memory device interface for coupling to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices. A switch for selectively coupling the link interface and the memory device interface is further included in the memory hub. Additionally, a direct memory access (DMA) engine is coupled through the switch to the memory device interface to generate memory requests for access to at least one of the memory devices to perform DMA operations.
-
Citations
42 Claims
-
1. A memory module, comprising:
-
a plurality of memory devices; and
a memory hub, comprising;
a link interface for receiving memory requests for access to at least one of the memory devices;
a memory device interface coupled to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices;
a switch for selectively coupling the link interface and the memory device interface; and
a direct memory access (DMA) engine coupled through the switch to the memory device interface, the DMA engine generating memory requests for access to at least one of the memory devices to perform DMA operations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory hub for a memory module having a plurality of memory devices, comprising:
-
a link interface for receiving memory requests for access at least one of the memory devices;
a memory device interface for coupling to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices;
a switch for selectively coupling the link interface and the memory device interface; and
a direct memory access (DMA) engine coupled through the switch to the memory device interface, the DMA engine generating memory requests for access to at least one of the memory devices to perform DMA operations. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A memory system, comprising:
-
a memory bus on which memory requests are provided; and
at least one memory module coupled to the memory bus, the memory module having a plurality of memory devices and a memory hub, the memory hub comprising;
a link interface coupled to receive memory requests for access to at least one of the memory devices of the memory module on which the link interface is located;
a memory device interface coupled to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices;
a switch for selectively coupling the link interface and the memory device interface; and
a direct memory access (DMA) engine coupled through the switch to the memory device interface and the link interface, the DMA engine generating memory requests for access to at least one of the memory devices to perform DMA operations. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer system, comprising:
-
a central processing unit (“
CPU”
);
a system controller coupled to the CPU, the system controller having an input port and an output port;
an input device coupled to the CPU through the system controller;
an output device coupled to the CPU through the system controller;
a storage device coupled to the CPU through the system controller;
at least one memory module, the memory module comprising;
a plurality of memory devices; and
a memory hub, comprising;
a link interface coupled to receive memory requests for access to at least one of the memory devices of the memory module on which the link interface is located;
a memory device interface coupled to the memory devices, the memory device interface coupling memory requests to the memory devices for access to at least one of the memory devices;
a switch for selectively coupling the link interface and the memory device interface; and
a direct memory access (DMA) engine coupled through the switch to the memory device interface and the link interface, the DMA engine generating memory requests for access to at least one of the memory devices of the plurality of memory modules to perform DMA operations; and
a communications link coupled between the system controller and at least one of the plurality of memory modules for coupling memory requests and data between the system controller and the memory modules. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method for executing memory operations in a computer system having a processor, a system controller coupled to the processor, and a system memory having at least one memory module coupled to the system controller through a memory bus, the method comprising:
-
writing direct memory access (DMA) information to a location in the system memory representing instructions for executing memory operations in the system memory without processor intervention;
obtaining control of the memory bus from the processor and system controller;
accessing the location in the system memory to which the DMA information is written; and
executing the memory operations represented by the instructions. - View Dependent Claims (36, 37, 38)
-
-
39. A method for transferring data within a system memory included in a computer system having a processor, a system controller coupled to the processor, and a memory bus coupling the system controller to the system memory, the method comprising:
-
writing DMA instructions to a location in the system memory, the DMA instructions representing instructions for executing memory operations to transfer the data including memory addresses corresponding to first and second locations in the system memory;
obtaining control of the memory bus; and
without processor intervention, accessing the location in the system memory at which the DMA instructions are written, reading data from the first location in the system memory and writing the data to the second location in the system memory. - View Dependent Claims (40, 41, 42)
-
Specification