System and method for ordering of data transferred over multiple channels
AssigneeHewlett Packard Enterprise Development LP
InventorsRandal G. Martin, Steven C. Miller, Mark D. Stadler, David A. Kruckemyer
Life of this patent
Estimating the term…
Abstract
A multiple channel data transfer system (10) includes a source (12) that generates data packets with sequence numbers for transfer over multiple request channels (14). Data packets are transferred over the multiple request channels (14) through a network (16) to a destination (18). The destination (18) re-orders the data packets received over the multiple request channels (14) into a proper sequence in response to the sequence numbers to facilitate data processing. The destination (18) provides appropriate reply packets to the source (12) over multiple response channels (20) to control the flow of data packets from the source (12).
Claims14
A method for transferring data over multiple channels, the method comprising:
- receiving a plurality of data packets over a plurality of request channels from a first computing device, wherein at least some of the plurality of received packets are received out-of-order;
- storing each of the received data packets of the plurality of data packets in a re-order buffer;
- setting one or more bits, wherein each of the one or more bits set identify that at least a portion of the re-order buffer contains valid packet data, wherein:
- a first bit of the one or more bits set include a packet valid bit for each of the received data packets,
- the one or more bits set include a next sequential valid bit,
- the next sequential valid bit associated with an immediately preceding valid bit that corresponds to at least an immediately preceding portion of the re-order buffer, and
- at least one packet of the received packets stored in the re-order buffer is provided to the destination based on the immediately preceding valid bit being set;
- transmitting a response for each of the received data packets over one or more response channels;
- and
- providing the one or more of the received data packets to a data destination in-order based on the one or more bit settings.
A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for transferring data over multiple channels, the method comprising:
- receiving a plurality of data packets over a plurality of request channels from a first computing device, wherein at least some of the plurality of received packets are received out-of-order;
- storing each of the received data packets of the plurality of data packets in a re-order buffer;
- setting one or more bits, wherein each of the one or more bits set identify that at least a portion of the re-order buffer contains valid packet data, wherein
- a first bit of the one or more bits set include a packet valid bit for each of the received data packets,
- the one or more bits set include a next sequential valid bit,
- the next sequential valid bit associated with an immediately preceding valid bit that corresponds to at least an immediately preceding portion of the re-order buffer, and
- at least one packet of the received packets stored in the re-order buffer is provided to the destination based on the immediately preceding valid bit being set;
- transmitting a response for each of the received data packets over one or more response channels;
- and
- providing the one or more of the received data packets to a data destination in-order based on the one or more bit settings.
A system for transferring data over multiple channels, the apparatus comprising:
- a first computing device;
- a second computing device;
- a plurality of request channels;
- and
- one or more response channels, wherein:
- receiving a plurality of data packets are received by the second computing device, wherein the plurality of packets are transmitted from a first computing device to the second computing device over the plurality of request channels, and at least some of the plurality of received packets are received out-of-order;
- each of the received data packets of the plurality of data packets are stored in a re-order buffer;
- one or more bits are set,
- a first bit of the one or more bits set include a packet valid bit for each of the received data packets,
- the one or more bits set include a next sequential valid bit,
- the next sequential valid bit associated with an immediately preceding valid bit that corresponds to at least an immediately preceding portion of the re-order buffer, and
- at least one packet of the received packets stored in the re-order buffer is provided to the destination based on the immediately preceding valid bit being set;
- each of the one or more bits set identify that at least a portion of the re-order buffer contains valid packet data,
- a response for each of the received data packets are transmitted over one or more response channels, and
- the one or more of the received data packets are provided to a data destination in-order based on the one or more bit settings.
Dependencies are inferred from the claim text.