Back to results
US 12,608,329 B2Granted
Adaptive reordering technique for efficient flit packaging and performance optimizations
AssigneeMicron Technology, Inc.
InventorsNikesh Agarwal, Robert M. Walker
Life of this patent
Estimating the term…
Abstract
A system comprising an interface between a host and a device, wherein the interface is configured to reorder messages to package flits to reduce or eliminate underutilized bandwidth in one or both directions of a bidirectional link. In one example, the interface is in accordance with the CXL specification, and the host and the device (e.g., a memory device) include CXL-compliant controllers to pack and unpack flits.
Claims20
A system comprising:
- a host comprising a first buffer of messages and a first protocol controller;
- a device comprising a second protocol controller;
- a bidirectional communication interface between the host and the device, wherein the first protocol controller and the second protocol controller are configured to communicate over the bidirectional communication interface;
- wherein the first protocol controller is configured to perform operations comprising:
- configuring a reordering window over a subset of messages in the first buffer that are pending for transmission from the host to the device;
- comparing a number of messages of a first type and a number of messages of a second type that are present within the reordering window;
- based on the comparing, selecting a message of the first type or the second type from within the reordering window and reordering a plurality of messages, including the selected message, in the first buffer to balance utilization of both unidirectional links of the bidirectional communication interface;
- packing the reordered plurality of messages into a data transmission structure for transmission from the host to the device;
- and
- transmitting the packed data transmission structure over the bidirectional communication interface to the device.
7 more elements
A protocol controller configured for performing operations comprising:
- configuring a reordering window over a subset of messages in a first input buffer of a host system;
- comparing a number of messages of a first type and a number of messages of a second type that are present within the reordering window;
- based on the comparing, selecting a message of the first type or the second type from within the reordering window and reordering a plurality of messages including the selected message for outbound transmission from the host to a device;
- packing the reordered plurality of messages into a data transmission structure;
- and
- transmitting the packed data transmission structure over a bidirectional communication interface to a device.
3 more elements
A device comprising:
- an interface to a bidirectional communication link;
- a CXL protocol controller configured to perform operations comprising:
- configuring a reordering window over a transmit buffer of device-to-host response messages;
- comparing one or more aspects of messages of a first type and one or more aspects of messages of a second type that are present within a reordering window configured within a buffer of messages including a count of responses with data (DRS) and a count of responses without data (NDR);
- based on the comparing, selecting a message of the first type or the second type from within the reordering window and reordering a plurality of messages, including the selected message, in the buffer by advancing the selected message to a predetermined position within the reordering window;
- packing the reordered plurality of messages into a flit;
- and
- transmitting the packed flit over the interface.
5 more elements
Dependencies are inferred from the claim text.