Arbitration system and method for memory responses in a hub-based memory system
First Claim
1. A method of processing and forwarding memory responses in a memory system including a plurality of memory modules, each memory module including a memory hub coupled to memory devices, and the method comprising:
- storing local memory responses having data retrieved from the memory devices, the local memory responses made in response to associated memory requests requesting the retrieved data from the memory devices;
storing downstream memory responses having data retrieved from downstream memory modules, the downstream memory responses made in response to associated memory requests requesting data from the downstream memory modules;
applying in each hub an independent arbitration algorithm to determine an order in which the stored local and downstream memory responses are forwarded to an upstream memory module; and
forwarding the local and downstream memory responses upstream according to the determined order.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory hub includes a local queue that stores local memory responses, a bypass path that passes downstream memory responses, and a buffered queue coupled to the bypass path that stores downstream memory responses from the bypass path. A multiplexer is coupled to the local queue, buffered queue, and the bypass path and outputs responses from a selected one of the queues or the bypass path responsive to a control signal. Arbitration control logic is coupled to the multiplexer and the queues and develops the control signal to control the response output by the multiplexer.
-
Citations
25 Claims
-
1. A method of processing and forwarding memory responses in a memory system including a plurality of memory modules, each memory module including a memory hub coupled to memory devices, and the method comprising:
-
storing local memory responses having data retrieved from the memory devices, the local memory responses made in response to associated memory requests requesting the retrieved data from the memory devices; storing downstream memory responses having data retrieved from downstream memory modules, the downstream memory responses made in response to associated memory requests requesting data from the downstream memory modules; applying in each hub an independent arbitration algorithm to determine an order in which the stored local and downstream memory responses are forwarded to an upstream memory module; and forwarding the local and downstream memory responses upstream according to the determined order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of data forwarding by a plurality of memory modules each of which coupled to at least one other memory module, comprising:
-
receiving local data, the local data provided in response to an associated memory request requesting the local data; receiving downstream data from at least one other memory module waiting to be forwarded, the downstream data provided in response to an associated memory request requesting the downstream data from the at least one other memory module; in response to receiving local and downstream data waiting to be forwarded in one of the memory modules, applying an independent algorithm to determine an order in which the local and downstream data are to be forwarded; and forwarding the local and downstream data in the determined order. - View Dependent Claims (11, 12, 13)
-
-
14. A memory hub, comprising:
-
a local queue configured to receive and store local memory responses including local data, the local memory responses made in response to associated memory requests requesting the local data; a buffered queue configured to receive and store downstream memory responses including downstream data, the downstream memory responses made in response to associated memory requests requesting the downstream data; and control logic coupled to the local and buffered queues, the control logic operable to set a priority to forward the stored local and downstream memory responses using one of a plurality of arbitration algorithms, the control logic further operable to forward the stored local and downstream memory responses in accordance with the priority. - View Dependent Claims (15, 16, 17)
-
-
18. A memory module, comprising:
-
at least one memory device; and a memory hub coupled to the at least one memory device, the memory hub including; a local queue configured to receive and store local memory responses having data, the local memory responses made in response to associated memory requests requesting the data; a buffered queue configured to receive and store downstream memory responses having data, the downstream memory responses made in response to associated memory requests requesting the data; a selection circuit coupled to the local and buffered queues, the selection circuit operable to forward the local and downstream memory responses from one of the queues in response to a control signal; and arbitration logic coupled to the selection circuit, the arbitration logic operable to determine an order in which the local and downstream memory responses stored in the queues are forwarded using one of a plurality of arbitration algorithms, the arbitration logic further operable to generate the control signal based on the determined order. - View Dependent Claims (19, 20, 21)
-
-
22. A computer system, comprising:
-
an input device; an output device; a processor coupled to the input and output devices; and a plurality of memory modules, at least one of the memory modules coupled to the processor and each memory module coupled to at least one other memory module, each memory module comprising; at least one memory device; and a memory hub coupled to the at least one memory device, the memory hub operable to receive and store local memory responses having data retrieved from the at least one memory device and to receive and store memory responses having data retrieved from at least one other memory module, the local memory responses and the memory responses having data retrieved from the other memory module made in response to associated memory requests requesting the respective data, the memory hub further operable to transmit the local and forwarded memory responses in an order determined by one of a plurality of arbitration algorithms if the memory hub has both local and forwarded memory responses stored therein. - View Dependent Claims (23, 24, 25)
-
Specification