Memory arbitration system and method having an arbitration packet protocol
AssigneeMicron Technology, Inc.
InventorsJoseph M. Jeddeloh, Ralph James
Life of this patent
Estimating the term…
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.
Claims31
A method of responding to a read request in a system memory having a responding memory hub and at least one interposing memory hub through which a read response is transmitted on a data path of the interposing memory hub, the method comprising:
- retrieving read data from a memory device coupled to the responding memory hub and preparing a read response including the read data;
- generating an arbitration packet including data indicative of a data path configuration for the read response, the arbitration packet having a plurality of 8-bit bytes including at least one byte including data used by the interposing memory hub to distinguish the arbitration packet from a read response;
- providing the arbitration packet and the read response to the interposing memory hub, the arbitration packet provided prior to the read response;
- and
- receiving the arbitration packet at the interposing memory hub, decoding the data of the arbitration packet and enabling a data path for the read response in the interposing memory hub in accordance with the data of the arbitration packet.
A method of transmitting a read response on a data path of a memory hub interposed between a transmitting memory hub and a receiving memory hub, the method comprising:
- receiving a query from the transmitting hub whether the memory hub is busy and responding to the query by indicating to the transmitting hub that the memory hub is not busy;
- receiving at the memory hub an arbitration packet including data indicative of a data path configuration for an associated read response;
- decoding the arbitration packet;
- configuring the data path in accordance with the data of the arbitration packet;
- receiving the associated read response at the memory hub;
- and
- coupling the associated read response to the configured data path for transmitting the same to the receiving memory hub.
A method of configuring a data path of a memory hub through which a read response is provided, the method comprising:
- generating at a first memory hub an arbitration packet including data indicative of a data path configuration for an associated read response;
- determining whether a second memory hub coupled to the first memory hub is busy;
- in the event that the second memory hub is not busy, providing the arbitration packet to the second memory hub prior to providing the associated read response to the second memory hub;
- decoding the arbitration packet at the second memory hub;
- and
- configuring a data path of the second memory hub in accordance with the data of the arbitration packet in preparation of receiving the associated read response.
A method of communicating between a first and second memory hub for configuring a data path in the second memory hub, the method comprising:
- generating an arbitration packet for an associated read response to be coupled through the second memory hub, the arbitration packet having a command code field including data identifying that it is an arbitration packet and further having a data path field including data indicative of a data path configuration in the second memory hub;
- determining whether the second memory hub is busy;
- in the event that the second memory hub is not busy, transmitting the arbitration packet prior to transmitting the associated read response to the second memory hub;
- and
- configuring the data path in the second memory hub in accordance with the data included in the data path field.
A method of responding to a read request in a system memory having a responding memory hub and at least one interposing memory hub through which a read response is transmitted on a data path of the interposing memory hub, the method comprising:
- retrieving read data from a memory device coupled to the responding memory hub and preparing a read response including the read data;
- generating an arbitration packet including data indicative of a data path configuration for the read response;
- determining whether the interposing memory hub is busy;
- in the event that the interposing memory hub is not busy, providing the arbitration packet and the read response to the interposing memory hub, the arbitration packet provided prior to the read response;
- and
- receiving the arbitration packet at the interposing memory hub, decoding the data of the arbitration packet and enabling a data path for the read response in the interposing memory hub in accordance with the data of the arbitration packet.
A method of responding to a read request in a system memory having a responding memory hub and at least one interposing memory hub through which a read response is transmitted on a data path of the interposing memory hub, the method comprising:
- retrieving read data from a memory device coupled to the responding memory hub and preparing a read response including the read data;
- determining whether a local data path of the responding memory hub is idle;
- in the event that the local data path is idle, generating an arbitration packet including data indicative of a data path configuration for the read response for provision to the interposing memory hub;
- providing the arbitration packet and the read response to the interposing memory hub, the arbitration packet provided prior to the read response;
- and
- receiving the arbitration packet at the interposing memory hub, decoding the data of the arbitration packet and enabling a data path for the read response in the interposing memory hub in accordance with the data of the arbitration packet.
A method of configuring a data path of a memory hub through which a read response is provided, the method comprising:
- determining whether a local data path is idle;
- in the event that the local data path is idle, generating at a first memory hub an arbitration packet including data indicative of a data path configuration for an associated read response for provision to a second memory hub prior to providing the associated read response to the second memory hub;
- providing the arbitration packet to the second memory hub coupled to the first memory hub;
- decoding the arbitration packet at the second memory hub;
- and
- configuring a data path of the second memory hub in accordance with the data of the arbitration packet in preparation of receiving the associated read response.
A method of communicating between a first and second memory hub for configuring a data path in the second memory hub, the method comprising:
- determining whether a local data path is idle;
- in the event that the local data path is idle, generating an arbitration packet for an associated read response to be coupled through the second memory hub for provision to the second memory hub, the arbitration packet having a command code field including data identifying that it is an arbitration packet and further having a data path field including data indicative of a data path configuration in the second memory hub;
- transmitting the arbitration packet prior to transmitting the associated read response to the second memory hub;
- and
- configuring the data path in the second memory hub in accordance with the data included in the data path field.
Dependencies are inferred from the claim text.