Memory arbitration system and method having an arbitration packet protocol
First Claim
Patent Images
1. A memory hub coupled to at least one memory device, the memory hub comprising:
- remote and local input nodes;
an output node;
a configurable data path coupled to the remote and local input nodes and further coupled to the output node, the configurable data path operable to couple at least one read response received by the remote and local input nodes to the output node; and
an arbitration control circuit coupled to the configurable data path, the output node, and the remote and local input nodes, the arbitration control circuit operable to generate an arbitration packet that includes data indicative of a data path configuration for a local read response received by the local input node and operable to provide the arbitration packet to the output node prior to providing the associated read response to the output node, the arbitration control circuit further operable to configure the configurable data path in accordance with data included in a downstream arbitration packet received by the remote input node in preparation of coupling an associated downstream read response to the output node.
7 Assignments
0 Petitions
Accused Products
Abstract
A memory hub and method for transmitting a read response on a data path of a memory hub interposed between a transmitting memory hub and a receiving memory hub. An arbitration packet including data indicative of a data path configuration for an associated read response is received at the memory hub. The arbitration packet is decoded, and the data path is configured in accordance with the data of the arbitration packet. The associated read response is received at the memory hub and the associated read response is coupled to the configured data path for transmitting the same to the receiving memory hub.
282 Citations
32 Claims
-
1. A memory hub coupled to at least one memory device, the memory hub comprising:
-
remote and local input nodes; an output node; a configurable data path coupled to the remote and local input nodes and further coupled to the output node, the configurable data path operable to couple at least one read response received by the remote and local input nodes to the output node; and an arbitration control circuit coupled to the configurable data path, the output node, and the remote and local input nodes, the arbitration control circuit operable to generate an arbitration packet that includes data indicative of a data path configuration for a local read response received by the local input node and operable to provide the arbitration packet to the output node prior to providing the associated read response to the output node, the arbitration control circuit further operable to configure the configurable data path in accordance with data included in a downstream arbitration packet received by the remote input node in preparation of coupling an associated downstream read response to the output node. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory hub, comprising:
-
a bypass data path coupled between an input node and an output node on which read responses are applied in response to being enabled; and an arbitration control circuit coupled to the bypass data path operable to receive an arbitration packet from a downstream memory hub and enable the bypass data path to receive a read response from the downstream memory hub responsive to the received arbitration packet, the arbitration packet including a data path field having activation data to enable the bypass data path of an upstream memory hub, the arbitration control circuit further operable to query an upstream memory hub to enable a bypass data path of the upstream memory hub to receive the read response from the downstream memory hub when the upstream memory hub is not busy. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A memory module, comprising:
-
a plurality of memory devices; and a memory hub coupled to the memory devices through a memory device bus to access the memory devices, the memory hub comprising; remote and local input nodes, the local input node coupled to the memory device bus; an output node; a configurable data path coupled to the remote and local input nodes and further coupled to the output node, the configurable data path operable to couple at least one read response received by the remote and local input nodes to the output node; and an arbitration control circuit coupled to the configurable data path, the output node, and the remote and local input nodes, the arbitration control circuit operable to generate an arbitration packet that includes data indicative of a data path configuration for a local read response received by the local input node and operable to provide the arbitration packet to the output node prior to providing the read response to the output node, the arbitration control circuit further operable to configure the configurable data path in accordance with data included in a downstream arbitration packet received by the remote input node in preparation of coupling an associated downstream read response to the output node. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A memory module, comprising:
-
a plurality of memory devices; and a memory hub coupled to the memory devices through a memory device bus to access the memory devices, the memory hub comprising; a bypass data path coupled between an input node and an output node on which read responses are applied in response to being enabled; and an arbitration control circuit coupled to the bypass data path operable to receive an arbitration packet from a downstream memory hub and enable the bypass data path to receive a read response from the downstream memory hub responsive to the received arbitration packet, the arbitration packet including a data path field having activation data to enable the bypass data path of an upstream memory hub, the arbitration control circuit further operable to query an upstream memory hub to enable a bypass data path of the upstream memory hub to receive the read response from the downstream memory hub when the upstream memory hub is not busy. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A memory system having a plurality of memory modules, each memory module including a memory hub, the memory system comprising:
-
a memory bus; a first memory hub having a first input terminal and a first output terminal coupled to the memory bus, the first memory hub including a first arbitration control circuit operable to generate a first arbitration packet including information to configure a data path responsive to retrieving read data from a memory device coupled to the first memory hub and provide the first arbitration packet to the memory bus through the first output terminal prior to providing the read data; and a second memory hub having a second input terminal and a second output terminal coupled to the memory bus, the second memory hub including a second arbitration control circuit configured to receive the first arbitration packet, the second arbitration control circuit operable to configure the data path in accordance with the information in the first arbitration packet, the second arbitration control circuit further operable to generate a second arbitration packet indicative of either the information of the first arbitration packet or read data retrieved from a memory device coupled to the second memory hub, and provide the second arbitration packet to the output terminal prior to providing the corresponding read data, each of the arbitration control circuits of the first and second memory hubs operable to store the read data and the read response when the first and second output terminals are busy. - View Dependent Claims (24, 25)
-
-
26. A memory system, comprising:
-
a plurality of memory modules, each having a memory hub configured to be in communication with each other, each of the memory hubs operable to propagate memory requests downstream and read responses upstream from one memory hub to another memory hub towards a memory controller; a responding memory module having a responding memory hub, the responding memory hub comprising; a local input node configured to receive read data from a memory device coupled to the responding memory hub by a local data path to generate a read response that includes the read data; a remote input node configured to receive a downstream arbitration packet and associated read response from a downstream memory hub on a memory bus; and an arbitration control circuit coupled to the local input node and the remote input node, the arbitration control circuit operable to determine whether the local data path of the responding memory hub is idle, and in the event that the local data path is idle, operable to encode a data path configuration in an arbitration packet to transmit the read response received by the local input node to transmit towards the memory controller, the arbitration control circuit further operable to decode the downstream arbitration packet received by the remote input node to generate an upstream arbitration packet encoding a data path to transmit the downstream read response to the memory controller. - View Dependent Claims (27, 28)
-
-
29. A memory hub coupled to at least one memory device, the memory hub comprising:
-
remote and local input nodes; an output node; a configurable data path coupled to the remote and local input nodes and further coupled to the output node, the configurable data path operable to couple at least one of a read response coupled through the remote and local input nodes to the output node; and an arbitration control circuit coupled to the configurable data path, the output node, and the remote input node, the arbitration control circuit operable to generate an arbitration packet for an associated read response coupled through the local input node and further operable to generate data for the arbitration packet that is used to distinguish the arbitration packet from the associated read response, the arbitration packet including data indicative of a data path configuration for the associated read response, the arbitration control circuit further operable to configure the configurable data path in accordance with the data included with an arbitration packet coupled thorough the remote input node in preparation of coupling an associated read response coupled through the remote input node to the output node. - View Dependent Claims (30)
-
-
31. A memory hub, comprising:
-
a bypass data path coupled between an input node and an output node on which read responses are coupled therebetween in response to being enabled; an arbitration control circuit coupled to the bypass data path operable to generate an arbitration packet in response to retrieving read data from a memory device coupled to the memory hub, the arbitration packet having a data path field including activation data to enable a bypass data path of an upstream memory hub, the arbitration control circuit further operable to receive an arbitration packet from a downstream memory hub and enable the bypass data path to couple a read response received therefrom from the input node to the output node; a multiplexer having an output coupled to the output node and a control node coupled to the arbitration control circuit, the multiplexer further having a first input coupled to the bypass data path; a local queue having an input coupled to a local input node and further having an output coupled to a second input of the multiplexer; and a remote queue having an input coupled to the input node and further having an output coupled to a third input of the multiplexer, the arbitration control circuit operable to generate a control signal for the multiplexer to selectively couple the bypass data path, local queue, or remote queue to the output node.
-
-
32. A memory hub coupled to at least one memory device, the memory hub comprising:
-
remote and local input nodes; an output node; a configurable data path coupled to the remote and local input nodes and further coupled to the output node, the configurable data path operable to couple at least one read response received by the remote and local input nodes to the output node; and an arbitration control circuit coupled to the configurable data path, the output node, and the remote and local input nodes, the arbitration control circuit operable to generate an arbitration packet that includes data indicative of a data path configuration for a local read response received by the local input node and operable to determine whether a local data path of the memory hub coupled to the local input node is idle, and in the event that the local data path is idle, operable to generate the arbitration packet for the local read response received by the local input node, the arbitration control circuit further operable to configure the configurable data path in accordance with data included in a downstream arbitration packet received by the remote input node in preparation of coupling an associated downstream read response to the output node.
-
Specification