Efficient serialization of bursty out-of-order results
OwnerStephen Clark Purcellinventor
Life of this patent
Estimating the term…
Abstract
A method, apparatus, and computer program product includes serially receiving, from a source, a plurality of forward messages each addressed to one of a plurality of destinations; receiving a plurality of availability signals, each availability signal indicating that one of the destinations is available to accept a forward message; simultaneously sending a forward message to each available destination; simultaneously receiving, after a predetermined period of time, a plurality of reverse messages from the destinations, each reverse message corresponding to one of the forward messages simultaneously sent to an available destination; and serially sending the reverse messages to the source.
Claims50
An apparatus comprising:
- a forward queue having a plurality of forward registers and configured to serially receive, from a source, a plurality of forward messages each addressed to a corresponding destination among a plurality of destinations and to store each forward message in one of said plurality of forward registers;
- an arbiter configured to monitor an availability of the plurality of destinations and generate an availability signal to the forward queue indicating when one or more corresponding destinations are available to accept respective stored forward messages addressed to the corresponding available destinations,
- wherein, in response to the availability signal, the forward queue is configured to simultaneously send each stored forward message whose corresponding destination is available;
- and
- a reverse queue having a plurality of reverse registers and configured to simultaneously receive a plurality of reverse messages at a predetermined period of time after the stored forward messages are sent, to store each reverse message in one of the plurality of reverse registers, and to serially send the stored reverse messages to the source, wherein each reverse message corresponds to a respective stored forward message sent to its corresponding destination.
An apparatus comprising:
- means for serially receiving, from a source, a plurality of forward messages each addressed to one of a plurality of destinations;
- means for receiving a plurality of availability signals, each availability signal indicating that one of the destinations is available to accept a forward message;
- means for simultaneously sending one or more of the forward messages to their respective available destinations;
- means for simultaneously receiving, after a predetermined period of time, a plurality of reverse messages from the destinations, each reverse message corresponding to one of the forward messages;
- and
- means for serially sending the plurality of reverse messages to the source.
An apparatus comprising:
- a plurality of ports coupled to a source, each port configured to serially receive, from the source, a plurality of forward messages addressed to corresponding destinations among a plurality of destinations, each port being further configured to store said forward messages before they are sent to their corresponding destinations;
- an arbiter coupled to the plurality of ports and configured to monitor an availability of the plurality of destinations and generate an availability signal to each port indicating when one or more of said plurality of destinations are available to accept respective forward messages stored by said port,
- wherein, in response to the availability signal, each port is configured to simultaneously send stored forward messages whose corresponding destinations are available to their corresponding destinations;
- and
- wherein, a predetermined period of time after the stored forward messages are sent, each port is configured to simultaneously receive a plurality of reverse messages and to serially send the reverse messages to the source, wherein each reverse message corresponds to a respective stored forward message sent from that port to its corresponding destination.
An apparatus comprising:
- a forward queue, comprising a plurality of forward registers, and configured to:
- serially receive a plurality of forward messages, each forward message addressed to a corresponding destination among a plurality of destinations
- store each forward message in one of said plurality of forward registers, receive an availability signal from an external source, and
- in response to receiving the availability signal, simultaneously send each stored forward message whose corresponding destination is available;
- and
- a reverse queue, comprising a plurality of reverse registers, and configured to:
- simultaneously receive a plurality of reverse messages after the stored forward messages are sent,
- store each reverse message in one of the plurality of reverse registers, and
- serially send the stored reverse messages.
An apparatus comprising:
- a plurality of ports, wherein the plurality of ports comprises a plurality of registers, wherein each port configured to:
- serially receive a plurality of forward messages addressed to corresponding destinations among a plurality of destinations;
- store said forward messages;
- receive an availability signal of the corresponding destinations from an external source;
- in response to the availability signal, simultaneously send stored forward messages to the available corresponding destinations;
- and
- after a predetermined period of time, simultaneously receive a plurality of reverse messages and serially send the received reverse messages.
Dependencies are inferred from the claim text.