Systems and methods for packing of transaction layer (TL) packets
AssigneeCadence Design Systems, Inc.
InventorsClaire Liyan Ying, Uyen Huynh Ha Nguyen, Shu Wang
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to packing transaction layer (TL) packets at a link layer of a protocol stack. In some examples, channel type data identify a type of message channel for a first TL packet can be generated. A set of slot formats for a slot for packing the first TL packet can be identified based on the channel type data and a slot format database. A respective slot format of the set of slot formats can be selected for the slot based on a message type of the first TL packet, and a message type of a second TL packet. The first TL packet and the second TL packet can be packed into the slot having the selected respective slot format during generation of a link layer packet.
Claims20
A channel arbitration method comprising:
- generating channel type data identifying a type of message channel for a first transaction layer (TL) packet, wherein the channel type data identifies the type of message channel as a cache channel type or as a memory channel type;
- identifying a set of slot formats for a slot for packing the first TL packet based on an evaluation of the channel type data relative to a slot format database;
- determining an availability of a second TL packet for packing into the slot;
- selecting a respective slot format of the set of slot formats for the slot based on a message type of the first TL packet and a message type of the second TL packet;
- and
- packing the first TL packet and the second TL packet into the slot having the selected respective slot format during a generation of a single link layer packet, wherein the packing causes the single link layer packet to include both the first TL packet and the second TL packet.
A system comprising:
- a processor;
- and
- a protocol stack configured to:
- receive first and second messages from the processor;
- generate first and second transaction layer (TL) packets based on respective first and second messages;
- evaluate message channel information identifying a message channel for the first TL packet relative to channel type data to determine a channel type of TL packet for the first TL packet, wherein the message channel information identifies the channel type of TL packet for the first TL packet as a cache channel type or as a memory channel type;
- identify a set of slot formats for the respective slot in response to determining that the first TL packet is a respective type of TL packet;
- select a respective slot format of the set of slot formats for a respective slot for packing the first and second TL packets during flit generation based on a message type of the first and second TL packets;
- generate a single flit comprising a set of slots, wherein the set of slots include the respective slot having the respective slot format and is packed with the first and second TL packets, wherein packing the first TL packet and the second TL packet into the respective slot causes the single flit to include both the first TL packet and the second TL packet;
- and
- transmit the flit cross a lane of a lock to a receiving device.
A system comprising:
- a protocol stack comprising:
- a transaction layer (TL) configured to receive first, second, and third messages and packetize the messages to provide first, second, and third TL packets comprising a respective one of the first, second, and third messages;
- a link layer comprising a channel arbitrator, wherein the channel arbitrator comprises:
- a channel scheduler configured to generate channel type data identifying a type of message channel for the first TL packet, wherein the channel type data identifies the type of message channel as a cache channel type or as a memory channel type;
- a slot format identifier configured to:
- identify a set of slot formats for a respective slot based on an evaluation of the channel type data relative to a slot format database;
- determine an availability of one of the second and third TL packet;
- select a respective slot format of the set of slot formats for the respective slot based on a message type of the first message and further based on a message type of the second message or the message type of the third message;
- and
- generate slot packing data identifying the selected respective slot format and respective TL packets for packing into the respective slot, wherein the respective TL packets include the first TL packet and one of the second TL packet or the third TL packet;
- a packet generator configured to generate a single link layer (LL) packet comprising a set of slots that include the respective slot having the selected respective slot format, the packet generator being configured during the generation of the single LL packet to pack the first TL packet and one of the second packet or the third TL packet into the respective slot based on the slot packing data, wherein the packing causes the single LL packet to include both the first TL packet and the second TL packet;
- and
- a physical layer configured to transmit the single LL packet across a link to a device.
Dependencies are inferred from the claim text.