EP1598744A1

Method for identifying bad lanes and exchanging width capabilities of two agents connected across a link

Abstract

A technique is described by which two link agents with ports coupled together using a point-to-point interconnect in a system exchange their link width support capabilities and negotiate a link width that is mutually agreeable. The interconnect between each pair of agents comprises a pair of uni-directional links having multiple electrical wires, or lanes, where one link is used by a first agent to transmit data to a second agent and another link is used by the second agent to transmit data to the first agent.

EP1598744A1, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 22 September 2024, 2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

21 claims: 21 independent, 0 dependent

  1. 1
    A method comprising:identifying one or more sets of lanes of a plurality of lanes in a point-to-point interconnect for connecting a first agent to a second agent by which the first agent is able to transmit information to the second agent;sending link width information indicative of the one or more sets of lanes to the first agent;receiving an indication from the first agent of lanes to use from the one or more sets of lanes;and adjusting link width used by the first agent to transmit information and the second agent to receive based on the indication from the first agent.
  2. 2
    The method defined in Claim 1 wherein identifying one or more sets of lanes of a plurality of lanes is based on whether any of the plurality of lanes is unusable.
  3. 3
    The method defined in Claim 1 further comprising:accessing quality of each of the plurality of lanes;and identifying whether each of the plurality of lanes is usable.
  4. 4
    The method defined in Claim 1 wherein identifying one or more sets of lanes of a plurality of lanes comprises:identifying lanes of the plurality of lanes that are usable;and assessing possible combinations of lanes that can be formed using the lanes that are usable in the plurality of lanes;and wherein the link width information comprises a data structure with data that identifies the possible combinations of lanes that can be formed using the lanes that are usable in the plurality of lanes.
  5. 5
    The method defined in Claim 1 wherein the link width information is sent serially on lanes of the plurality of lanes.
  6. 6
    The method defined in Claim 5 wherein the link width information is sent serially on all lanes of the plurality of lanes that may be selectable by the first agent for use by the first agent in sending information to the second agent.
  7. 7
    The method defined in Claim 1 wherein the transmitter of the second agent sends the link width information on behalf of the receiver of the second agent to the receiver of the first agent.
  8. 8
    The method defined in Claim 7 wherein the transmitter of the second agent is unaware of whether the receiver of the first agent receives the link width information on each of the plurality of lanes that the first agent the link width information.
  9. 9
    The method defined in Claim 1 wherein the one or more sets of lanes includes sets having all of the plurality of lanes, one half of the plurality of lanes and one half of the one half of the plurality of lanes.
  10. 10
    The method defined in Claim 1 wherein the link width information comprises a plurality of bits, with each of the plurality of bits indicative of one set of lanes of the plurality of lanes identified by the second agent as being usable by the second agent to receive information from the first agent.
  11. 11
    The method defined in Claim 1 wherein the operations of identifying, sending, and receiving occur in a single round trip of communication between the first and second agents.
  12. 12
    An apparatus comprising:a core;a receiver;a transmitter for communicably coupling to a first agent to send link width information indicative of the one or more sets of lanes for use by the receiver to receive information from the first agent;wherein the receiver is operable to receive an indication from the first agent of lanes to use from the one or more sets of lanes;and a link layer controller coupled to the transmitter and the receiver to adjust link width of the link used by the second agent to receive information from the first agent based on the indication.
  13. 13
    The apparatus defined in Claim 12 wherein the link layer controller identifies lanes of the link that are usable and determines possible combinations of lanes that can be formed using the usable lanes of the link.
  14. 14
    The apparatus defined in Claim 13 wherein the link width information comprises data that identifies the possible combinations of lanes that can be formed using the lanes that are usable in the plurality of lanes.
  15. 15
    The apparatus defined in Claim 12 wherein the link width information comprises a plurality of bits, with each of the plurality of bits indicative of one set of lanes of the link identified as being usable to transmit information.
  16. 16
    A system comprising:a pair of uni-directional links, each having a plurality of lanes;first and second agents having ports coupled to the plurality of lanes in the pair of uni-directional links, each of the first and second agents including a link controller to exchange their link width support capabilities and negotiate a mutually agreeable link width for each of the pair of the plurality of lines.
  17. 17
    The system defined in claim 16 wherein the pair of uni-directional links transfer information in opposite directions and are independent of each other.
  18. 18
    The system defined in Claim 16 wherein the first agent sends link width information indicating which of the one or more sets of lanes in one link of the pair of the links that are selectable by the second agent for sending information to the first agent.
  19. 19
    The system defined in Claim 16 wherein the first and second agents exchange their link width support capabilities and negotiate the link width in a single round of communication.
  20. 20
    The system defined in Claim 16 wherein the first agent comprises:a core;a transmitter for communicably coupling to a first agent to send link width information indicative of the one or more sets of lanes for use by the receiver to receive information from the first agent;wherein the receiver is operable to receive an indication from the first agent of lanes to use from the one or more sets of lanes;and a link layer controller coupled to the transmitter and the receiver to adjust link width of the link used by the second agent to receive information from the first agent based on the indication.
  21. 21
    The system defined in Claim 16 wherein the second agent comprises:a core;a receiver to receive link width information from a first agent indicating of one or more sets of lanes of a first link in a point-to-point interconnect by which the first agent is able to receive information;a link layer controller coupled to the receiver to select one of the sets of lanes for use in transmitting information to the first agent;and a transmitter coupled to the link layer controller to send an indication to the first agent of which of the sets of lanes the first agent is to use to receive information.